From 568ff5b26155a301b1caba5e7a895eb4bc6031ee Mon Sep 17 00:00:00 2001 From: icewint Date: Thu, 22 Jan 2026 11:07:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E6=B5=8B=E7=89=88=EF=BC=8C=E7=AB=8B?= =?UTF-8?q?=E5=BA=93=E6=96=B9=E9=9D=A2=E5=9F=BA=E6=9C=AC=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + ReadMe.md | 32 + files/PLCWCS交互协议S7.md | 7 + files/WCS开放式接口文档.md | 454 + files/WCS系统开发手册.md | 7 + files/WCS系统操作手册.md | 50 + files/WCS系统系统介绍_2_2501.md | 240 + files/WCS网络图.drawio | 58 + wcs/.gitattributes | 2 + wcs/.gitignore | 33 + wcs/.mvn/wrapper/maven-wrapper.properties | 19 + wcs/db/wcs.sql | 9681 +++++++++++++++++ wcs/lib/HslCommunication-3.7.0.jar | Bin 0 -> 805568 bytes wcs/lib/lv_led_64.dll | Bin 0 -> 625664 bytes wcs/mvnw | 259 + wcs/mvnw.cmd | 149 + wcs/pom.xml | 219 + wcs/src/main/java/org/wcs/WcsApplication.java | 36 + .../org/wcs/annotation/ScanMethodTag.java | 15 + .../java/org/wcs/app/ApplicationClose.java | 26 + .../wcs/business/data/impl/DataLoader.java | 291 + .../wcs/business/data/impl/DataRecorder.java | 92 + .../wcs/business/data/intf/IDataLoader.java | 58 + .../wcs/business/data/intf/IDataRecorder.java | 33 + .../wcs/business/http/HttpRequestRecord.java | 77 + .../org/wcs/business/led/LxLedOperation.java | 56 + .../org/wcs/business/led/ledOperation.java | 16 + .../stacker/StackerStatusMonitor.java | 86 + .../business/stacker/StackerTaskCreator.java | 242 + .../impl/ExecuteStackerTaskService.java | 570 + .../intf/IExecuteStackerTaskService.java | 31 + .../wcs/business/stock/LocationManage.java | 519 + .../stock/StockComposeTaskManage.java | 905 ++ .../stock/impl/ComposeTaskStatusReporter.java | 233 + .../wcs/business/stock/impl/ScanMethod.java | 393 + .../impl/StockSingleTaskExecuteEvent.java | 294 + .../AutoStockTaskDataCheck.java | 25 + .../ConveyStockTaskDataCheck.java | 21 + .../InStockTaskDataCheck.java | 21 + .../MoveStockTaskDataCheck.java | 25 + .../OutStockTaskDataCheck.java | 21 + .../UnknownStockTaskDataCheck.java | 14 + .../intf/IComposeTaskStatusReporter.java | 58 + .../wcs/business/stock/intf/IScanMethod.java | 26 + .../intf/IStockSingleTaskExecuteEvent.java | 68 + .../stock/intf/IStockTaskDataCheck.java | 16 + .../main/java/org/wcs/config/CorsConfig.java | 22 + .../org/wcs/config/MybatisPlusConfig.java | 22 + .../java/org/wcs/config/SaTokenConfigure.java | 60 + .../java/org/wcs/constant/ConstantData.java | 30 + .../enums/business/LocationTypeEnum.java | 23 + .../constant/enums/business/LxLedColor.java | 20 + .../enums/business/SimpleTaskEnum.java | 33 + .../enums/business/SseEventTypeEnum.java | 23 + .../constant/enums/common/OnOrOffEnum.java | 28 + .../enums/common/TrueOrFalseEnum.java | 29 + .../database/BaseErroorEquipmentTypeEnum.java | 31 + .../enums/database/BaseErrorLevelEnum.java | 33 + .../enums/database/BaseErrorTypeEnum.java | 32 + .../database/ConveyPickStandTypeEnum.java | 21 + .../enums/database/ConveyTaskStatusEnum.java | 30 + .../enums/database/ConveyTaskTypeEnum.java | 46 + .../constant/enums/database/ETagTypeEnum.java | 26 + .../enums/database/EquipmentTypeEnum.java | 23 + .../database/EtagTaskLightModelEnum.java | 21 + .../enums/database/EtagTaskStatusEnum.java | 26 + .../enums/database/EtagTaskTypeEnum.java | 24 + .../constant/enums/database/PlcTypeEnum.java | 26 + .../database/StackerLocationStatusEnum.java | 35 + .../database/StackerStandInTypeEnum.java | 20 + .../database/StockComposeTaskStatusEnum.java | 52 + .../StockComposeTaskStepStatusEnum.java | 36 + .../database/StockComposeTaskTypeEnum.java | 52 + .../database/StockExecuteEquipmentEnum.java | 39 + .../enums/database/StockScanTypeEnum.java | 17 + .../database/StockSingleTaskStatusEnum.java | 43 + .../database/StockSingleTaskTypeEnum.java | 123 + .../database/TrayConveyLocationTypeEnum.java | 31 + .../enums/database/UserLevelEnum.java | 23 + .../enums/database/UserStatusEnum.java | 23 + .../enums/http/ConveyCallBackStatusEnum.java | 22 + .../enums/http/StockCallBackStatusEnum.java | 25 + .../enums/plc/StackerControllerModelEnum.java | 26 + .../enums/plc/StackerDeviceStatusEnum.java | 34 + .../enums/plc/StackerTaskTypeEnum.java | 32 + .../enums/serve/AppServeResponseCodeEnum.java | 28 + .../wcs/factory/AppServeResponseFactory.java | 251 + .../wcs/factory/PubServeResponseFactory.java | 125 + .../java/org/wcs/helper/AppConfigHelper.java | 69 + .../org/wcs/helper/HttpResponseHelper.java | 39 + .../main/java/org/wcs/helper/LedHelper.java | 27 + .../java/org/wcs/helper/LocationHelper.java | 116 + .../java/org/wcs/helper/PlcTaskIdHelper.java | 55 + .../main/java/org/wcs/helper/SseHelper.java | 103 + .../org/wcs/mapper/AppBaseApiInfoMapper.java | 9 + .../org/wcs/mapper/AppBaseConfigMapper.java | 9 + .../java/org/wcs/mapper/AppBaseDbMapper.java | 9 + .../org/wcs/mapper/AppBaseErrInfoMapper.java | 9 + .../mapper/AppBaseGroupPermissionMapper.java | 9 + .../java/org/wcs/mapper/AppBaseLedMapper.java | 12 + .../mapper/AppBaseMaintenanceInfoMapper.java | 9 + .../org/wcs/mapper/AppBaseMenuMapper.java | 17 + .../java/org/wcs/mapper/AppBasePlcMapper.java | 10 + .../wcs/mapper/AppBaseScanMethodMapper.java | 9 + .../wcs/mapper/AppBaseUserGroupMapper.java | 11 + .../org/wcs/mapper/AppBaseUserMapper.java | 17 + .../wcs/mapper/AppConveyCheckStandMapper.java | 12 + .../wcs/mapper/AppConveyLocationMapper.java | 9 + .../wcs/mapper/AppConveyPickStandMapper.java | 9 + .../wcs/mapper/AppConveyTaskBakMapper.java | 9 + .../wcs/mapper/AppConveyTaskEventMapper.java | 13 + .../org/wcs/mapper/AppConveyTaskMapper.java | 10 + .../mapper/AppEtagControllerInfoMapper.java | 9 + .../org/wcs/mapper/AppEtagStockMapper.java | 9 + .../org/wcs/mapper/AppEtagTagInfoMapper.java | 9 + .../wcs/mapper/AppEtagTagLocationMapper.java | 9 + .../org/wcs/mapper/AppEtagTaskBakMapper.java | 9 + .../wcs/mapper/AppEtagTaskEventMapper.java | 13 + .../org/wcs/mapper/AppEtagTaskMapper.java | 11 + .../org/wcs/mapper/AppQuartzConfigMapper.java | 9 + .../wcs/mapper/AppRecordApiRequestMapper.java | 9 + .../mapper/AppRecordApiResponseMapper.java | 9 + .../org/wcs/mapper/AppRecordErrMapper.java | 9 + .../mapper/AppRecordMaintenanceMapper.java | 9 + .../mapper/AppRecordPlcInteractiveMapper.java | 9 + .../org/wcs/mapper/AppRecordScanMapper.java | 9 + .../wcs/mapper/AppRecordTaskMsgMapper.java | 9 + .../org/wcs/mapper/AppStackerInfoMapper.java | 9 + .../wcs/mapper/AppStackerLocationMapper.java | 9 + .../org/wcs/mapper/AppStackerStandMapper.java | 9 + .../mapper/AppStockComposeTaskBakMapper.java | 9 + .../wcs/mapper/AppStockComposeTaskMapper.java | 9 + .../org/wcs/mapper/AppStockScanMapper.java | 9 + .../mapper/AppStockSingleTaskBakMapper.java | 9 + .../wcs/mapper/AppStockSingleTaskMapper.java | 37 + .../mapper/AppTrayConveyLocationMapper.java | 9 + .../wcs/mapper/impl/AppBaseApiInfoDao.java | 122 + .../org/wcs/mapper/impl/AppBaseConfigDao.java | 86 + .../org/wcs/mapper/impl/AppBaseDbDao.java | 117 + .../wcs/mapper/impl/AppBaseErrInfoDao.java | 191 + .../impl/AppBaseGroupPermissionDao.java | 38 + .../org/wcs/mapper/impl/AppBaseLedDao.java | 95 + .../impl/AppBaseMaintenanceInfoDao.java | 11 + .../org/wcs/mapper/impl/AppBaseMenuDao.java | 147 + .../org/wcs/mapper/impl/AppBasePlcDao.java | 133 + .../wcs/mapper/impl/AppBaseScanMethodDao.java | 29 + .../org/wcs/mapper/impl/AppBaseUserDao.java | 173 + .../wcs/mapper/impl/AppBaseUserGroupDao.java | 89 + .../mapper/impl/AppConveyCheckStandDao.java | 139 + .../wcs/mapper/impl/AppConveyLocationDao.java | 129 + .../mapper/impl/AppConveyPickStandDao.java | 132 + .../wcs/mapper/impl/AppConveyTaskBakDao.java | 113 + .../org/wcs/mapper/impl/AppConveyTaskDao.java | 139 + .../mapper/impl/AppConveyTaskEventDao.java | 15 + .../mapper/impl/AppEtagControllerInfoDao.java | 119 + .../org/wcs/mapper/impl/AppEtagStockDao.java | 19 + .../wcs/mapper/impl/AppEtagTagInfoDao.java | 134 + .../mapper/impl/AppEtagTagLocationDao.java | 150 + .../wcs/mapper/impl/AppEtagTaskBakDao.java | 49 + .../org/wcs/mapper/impl/AppEtagTaskDao.java | 116 + .../wcs/mapper/impl/AppEtagTaskEventDao.java | 15 + .../wcs/mapper/impl/AppQuartzConfigDao.java | 132 + .../mapper/impl/AppRecordApiRequestDao.java | 72 + .../mapper/impl/AppRecordApiResponseDao.java | 65 + .../org/wcs/mapper/impl/AppRecordErrDao.java | 126 + .../mapper/impl/AppRecordMaintenanceDao.java | 11 + .../impl/AppRecordPlcInteractiveDao.java | 11 + .../org/wcs/mapper/impl/AppRecordScanDao.java | 67 + .../wcs/mapper/impl/AppRecordTaskMsgDao.java | 63 + .../wcs/mapper/impl/AppStackerInfoDao.java | 136 + .../mapper/impl/AppStackerLocationDao.java | 218 + .../wcs/mapper/impl/AppStackerStandDao.java | 146 + .../impl/AppStockComposeTaskBakDao.java | 128 + .../mapper/impl/AppStockComposeTaskDao.java | 331 + .../org/wcs/mapper/impl/AppStockScanDao.java | 162 + .../mapper/impl/AppStockSingleTaskBakDao.java | 121 + .../mapper/impl/AppStockSingleTaskDao.java | 359 + .../mapper/impl/AppTrayConveyLocationDao.java | 141 + .../mapper/intf/AppBaseApiInfoService.java | 19 + .../wcs/mapper/intf/AppBaseConfigService.java | 15 + .../org/wcs/mapper/intf/AppBaseDbService.java | 18 + .../mapper/intf/AppBaseErrInfoService.java | 21 + .../intf/AppBaseGroupPermissionService.java | 13 + .../wcs/mapper/intf/AppBaseLedService.java | 19 + .../intf/AppBaseMaintenanceInfoService.java | 7 + .../wcs/mapper/intf/AppBaseMenuService.java | 18 + .../wcs/mapper/intf/AppBasePlcService.java | 18 + .../mapper/intf/AppBaseScanMethodService.java | 11 + .../mapper/intf/AppBaseUserGroupService.java | 17 + .../wcs/mapper/intf/AppBaseUserService.java | 19 + .../intf/AppConveyCheckStandService.java | 21 + .../mapper/intf/AppConveyLocationService.java | 19 + .../intf/AppConveyPickStandService.java | 18 + .../mapper/intf/AppConveyTaskBakService.java | 14 + .../intf/AppConveyTaskEventService.java | 8 + .../wcs/mapper/intf/AppConveyTaskService.java | 16 + .../intf/AppEtagControllerInfoService.java | 17 + .../wcs/mapper/intf/AppEtagStockService.java | 9 + .../mapper/intf/AppEtagTagInfoService.java | 22 + .../intf/AppEtagTagLocationService.java | 19 + .../mapper/intf/AppEtagTaskBakService.java | 13 + .../mapper/intf/AppEtagTaskEventService.java | 9 + .../wcs/mapper/intf/AppEtagTaskService.java | 18 + .../mapper/intf/AppQuartzConfigService.java | 19 + .../intf/AppRecordApiRequestService.java | 17 + .../intf/AppRecordApiResponseService.java | 16 + .../wcs/mapper/intf/AppRecordErrService.java | 18 + .../intf/AppRecordMaintenanceService.java | 7 + .../intf/AppRecordPlcInteractiveService.java | 7 + .../wcs/mapper/intf/AppRecordScanService.java | 15 + .../mapper/intf/AppRecordTaskMsgService.java | 13 + .../mapper/intf/AppStackerInfoService.java | 16 + .../intf/AppStackerLocationService.java | 25 + .../mapper/intf/AppStackerStandService.java | 17 + .../intf/AppStockComposeTaskBakService.java | 17 + .../intf/AppStockComposeTaskService.java | 27 + .../wcs/mapper/intf/AppStockScanService.java | 19 + .../intf/AppStockSingleTaskBakService.java | 17 + .../intf/AppStockSingleTaskService.java | 28 + .../intf/AppTrayConveyLocationService.java | 18 + .../wcs/model/bo/db/DataBaseActionResult.java | 80 + .../model/bo/stacker/StackerStatusData.java | 37 + .../org/wcs/model/bo/stock/StockLocation.java | 30 + .../java/org/wcs/model/bo/tuple/Tuple2.java | 19 + .../java/org/wcs/model/bo/tuple/Tuple3.java | 19 + .../dto/client/ConveyTaskStatusUploadReq.java | 46 + .../model/dto/client/StockLoginDataResp.java | 76 + .../wcs/model/dto/client/StockLoginReq.java | 63 + .../dto/client/StockTaskStatusUploadReq.java | 54 + .../dto/client/UpperSystemBaseResponse.java | 36 + .../dto/client/UpperSystemDataResponse.java | 19 + .../wcs/model/dto/pub/AddConveyTaskReq.java | 92 + .../org/wcs/model/dto/pub/AddEtagTaskReq.java | 55 + .../wcs/model/dto/pub/AddStockTaskReq.java | 80 + .../org/wcs/model/dto/pub/EtagTaskItem.java | 56 + .../dto/serve/api/AddApiBaseInfoReq.java | 50 + .../dto/serve/api/QueryApiBaseInfoReq.java | 22 + .../dto/serve/api/UpdateApiBaseInfoReq.java | 50 + .../dto/serve/baseError/AddBaseErrorReq.java | 58 + .../serve/baseError/QueryBaseErrorReq.java | 40 + .../serve/baseError/UpdateBaseErrorReq.java | 68 + .../dto/serve/config/QueryConfigReq.java | 23 + .../dto/serve/config/UpdateConfigReq.java | 69 + .../serve/convey/AddConveyLocationReq.java | 90 + .../serve/convey/QueryConveyLocationReq.java | 46 + .../serve/convey/UpdateConveyLocationReq.java | 87 + .../conveyStand/AddConveyCheckStandReq.java | 75 + .../conveyStand/AddConveyPickStandReq.java | 79 + .../serve/conveyStand/QueryCheckStandReq.java | 33 + .../serve/conveyStand/QueryPickStandReq.java | 36 + .../UpdateConveyCheckStandReq.java | 75 + .../conveyStand/UpdateConveyPickStandReq.java | 81 + .../serve/conveyTask/AddConveyTaskReq.java | 87 + .../serve/conveyTask/QueryConveyTaskReq.java | 67 + .../ReporterConveyTaskStatusReq.java | 26 + .../serve/etagBase/AddEtagControllerReq.java | 61 + .../serve/etagBase/AddEtagLocationReq.java | 51 + .../dto/serve/etagBase/AddEtagTagInfoReq.java | 74 + .../etagBase/EtagControllerQueryReq.java | 26 + .../serve/etagBase/EtagLocationQueryReq.java | 40 + .../serve/etagBase/EtagTagInfoQueryReq.java | 55 + .../etagBase/UpdateEtagControllerReq.java | 62 + .../serve/etagBase/UpdateEtagLocationReq.java | 56 + .../serve/etagBase/UpdateEtagTagInfoReq.java | 74 + .../dto/serve/etagTask/AddEtagTaskReq.java | 79 + .../dto/serve/etagTask/EtagTaskQueryReq.java | 60 + .../dto/serve/etagTask/UpdateEtagTaskReq.java | 104 + .../model/dto/serve/led/AddBaseLedReq.java | 73 + .../wcs/model/dto/serve/led/QueryLedReq.java | 32 + .../model/dto/serve/led/UpdateBaseLedReq.java | 76 + .../wcs/model/dto/serve/menu/AddMenuReq.java | 63 + .../model/dto/serve/menu/QueryMenuReq.java | 33 + .../model/dto/serve/menu/UpdateMenuReq.java | 60 + .../wcs/model/dto/serve/plc/AddPlcReq.java | 89 + .../model/dto/serve/plc/QueryBasePlcReq.java | 22 + .../wcs/model/dto/serve/plc/UpdatePlcReq.java | 85 + .../dto/serve/quartz/AddQuartzConfigReq.java | 48 + .../wcs/model/dto/serve/quartz/QuartzReq.java | 23 + .../serve/quartz/UpdateQuartzConfigReq.java | 46 + .../recordApi/QueryRecordApiRequestReq.java | 31 + .../recordApi/QueryRecordApiResponseReq.java | 30 + .../recordError/QueryEquipmentErrorReq.java | 40 + .../serve/recordScan/QueryRecordScanReq.java | 30 + .../dto/serve/siemensDb/AddSiemensDbReq.java | 48 + .../serve/siemensDb/QuerySiemensDbReq.java | 31 + .../serve/siemensDb/UpdateSiemensDbReq.java | 46 + .../stacker/AddOrUpdateStackerStandReq.java | 122 + .../dto/serve/stacker/AddStackerReq.java | 114 + .../serve/stacker/UpdateStackerInfoReq.java | 110 + .../AddManyStackerLocationsReq.java | 105 + .../AddStackerLocationReq.java | 90 + .../QueryStackerLocationReq.java | 35 + .../UpdateStackerLocationReq.java | 101 + .../AddStockComposeTaskReq.java | 67 + .../QueryStockComposeTaskReq.java | 77 + .../ReporterTaskStatusReq.java | 32 + .../dto/serve/stockScan/AddStockScanReq.java | 97 + .../serve/stockScan/QueryStockScanReq.java | 43 + .../serve/stockScan/UpdateStockScanReq.java | 97 + .../stockSingleTask/AddSingleTaskReq.java | 71 + .../QueryStockSingleTaskReq.java | 89 + .../AddTrayConveyLocationReq.java | 85 + .../QueryTrayConveyLocationReq.java | 50 + .../UpdateTrayConveyLocationReq.java | 92 + .../model/dto/serve/user/CreateUserReq.java | 72 + .../wcs/model/dto/serve/user/LoginReq.java | 30 + .../model/dto/serve/user/QueryUserReq.java | 26 + .../dto/serve/user/UpdateSelfUserReq.java | 54 + .../model/dto/serve/user/UpdateUserReq.java | 68 + .../dto/serve/userGroup/AddUserGroupReq.java | 45 + .../userGroup/UpdateGroupPermissionReq.java | 29 + .../serve/userGroup/UpdateUserGroupReq.java | 40 + .../org/wcs/model/po/app/AppBaseApiInfo.java | 54 + .../org/wcs/model/po/app/AppBaseConfig.java | 95 + .../java/org/wcs/model/po/app/AppBaseDb.java | 40 + .../org/wcs/model/po/app/AppBaseErrInfo.java | 64 + .../model/po/app/AppBaseGroupPermission.java | 49 + .../java/org/wcs/model/po/app/AppBaseLed.java | 77 + .../model/po/app/AppBaseMaintenanceInfo.java | 55 + .../org/wcs/model/po/app/AppBaseMenu.java | 72 + .../java/org/wcs/model/po/app/AppBasePlc.java | 92 + .../wcs/model/po/app/AppBaseScanMethod.java | 50 + .../org/wcs/model/po/app/AppBaseUser.java | 85 + .../wcs/model/po/app/AppBaseUserGroup.java | 57 + .../wcs/model/po/app/AppConveyCheckStand.java | 72 + .../wcs/model/po/app/AppConveyLocation.java | 95 + .../wcs/model/po/app/AppConveyPickStand.java | 78 + .../org/wcs/model/po/app/AppConveyTask.java | 143 + .../wcs/model/po/app/AppConveyTaskBak.java | 143 + .../wcs/model/po/app/AppConveyTaskEvent.java | 50 + .../model/po/app/AppEtagControllerInfo.java | 75 + .../org/wcs/model/po/app/AppEtagStock.java | 69 + .../org/wcs/model/po/app/AppEtagTagInfo.java | 67 + .../wcs/model/po/app/AppEtagTagLocation.java | 58 + .../org/wcs/model/po/app/AppEtagTask.java | 143 + .../org/wcs/model/po/app/AppEtagTaskBak.java | 141 + .../wcs/model/po/app/AppEtagTaskEvent.java | 50 + .../org/wcs/model/po/app/AppQuartzConfig.java | 59 + .../wcs/model/po/app/AppRecordApiRequest.java | 91 + .../model/po/app/AppRecordApiResponse.java | 112 + .../org/wcs/model/po/app/AppRecordErr.java | 58 + .../model/po/app/AppRecordMaintenance.java | 48 + .../model/po/app/AppRecordPlcInteractive.java | 54 + .../org/wcs/model/po/app/AppRecordScan.java | 81 + .../wcs/model/po/app/AppRecordTaskMag.java | 55 + .../org/wcs/model/po/app/AppStackerInfo.java | 115 + .../wcs/model/po/app/AppStackerLocation.java | 109 + .../org/wcs/model/po/app/AppStackerStand.java | 128 + .../wcs/model/po/app/AppStockComposeTask.java | 166 + .../model/po/app/AppStockComposeTaskBak.java | 165 + .../org/wcs/model/po/app/AppStockScan.java | 107 + .../wcs/model/po/app/AppStockSingleTask.java | 181 + .../model/po/app/AppStockSingleTaskBak.java | 179 + .../model/po/app/AppTrayConveyLocation.java | 101 + .../org/wcs/model/po/app/JoinRecordError.java | 36 + .../po/app/JoinUserInfoWithGroupInfo.java | 100 + .../org/wcs/model/pojo/led/LedBaseInfo.java | 35 + .../org/wcs/model/pojo/led/LedDataDetail.java | 84 + .../org/wcs/model/pojo/led/LedShowData.java | 53 + .../model/pojo/serve/NotificationInfo.java | 76 + .../model/pojo/serve/RunningEventInfo.java | 23 + .../model/pojo/serve/UserMenuPermission.java | 51 + .../org/wcs/model/pojo/task/SimpleTask.java | 32 + .../model/vo/custom/BaseChartsDataItem.java | 31 + .../vo/custom/MultilineLineChartData.java | 30 + .../vo/custom/MultilineLineChartDataItem.java | 30 + .../model/vo/pub/PubServeDataResponse.java | 19 + .../wcs/model/vo/pub/PubServeResponse.java | 28 + .../model/vo/pub/deveice/ConveyStatusVo.java | 71 + .../model/vo/pub/task/StockTaskDetailVo.java | 127 + .../model/vo/serve/AppServeDataResponse.java | 21 + .../wcs/model/vo/serve/AppServeResponse.java | 26 + .../vo/serve/api/QueryApiBaseInfoVo.java | 46 + .../vo/serve/baseError/BaseErrorImport.java | 53 + .../vo/serve/baseError/QueryBaseErrorVo.java | 57 + .../vo/serve/common/PageDataResponse.java | 40 + .../vo/serve/config/QueryConfigResp.java | 80 + .../model/vo/serve/convey/ConveyStatusVo.java | 67 + .../serve/convey/QueryConveyLocationVo.java | 91 + .../serve/conveyStand/ConveyCheckStandVo.java | 69 + .../serve/conveyStand/ConveyPickStandVo.java | 74 + .../conveyTask/ExportConveyTaskBakVo.java | 139 + .../serve/conveyTask/QueryConveyTaskVo.java | 140 + .../vo/serve/etagBase/EtagControllerVo.java | 69 + .../vo/serve/etagBase/EtagLocationVo.java | 51 + .../vo/serve/etagBase/EtagTagInfoVo.java | 61 + .../vo/serve/etagTask/EtagTaskBakVo.java | 135 + .../model/vo/serve/etagTask/EtagTaskVo.java | 136 + .../wcs/model/vo/serve/led/QueryLedVo.java | 70 + .../model/vo/serve/menu/QueryMenuResp.java | 70 + .../model/vo/serve/plc/QueryBasePlcResp.java | 87 + .../wcs/model/vo/serve/quartz/QueryResp.java | 54 + .../serve/recordApi/RecordApiRequestVo.java | 85 + .../serve/recordApi/RecordApiResponseVo.java | 96 + .../recordError/ExportEquipmentErrorVo.java | 76 + .../recordError/QueryEquipmentErrorVo.java | 76 + .../recordScan/ExportAppRecordScanVo.java | 73 + .../vo/serve/recordScan/RecordScanVo.java | 73 + .../model/vo/serve/siemensDb/SiemensDbVo.java | 38 + .../vo/serve/stacker/QueryStackerInfoVo.java | 108 + .../vo/serve/stacker/QueryStackerStandVo.java | 120 + .../vo/serve/stacker/StackerStatusVo.java | 57 + .../ExportAppStackerLocationVo.java | 103 + .../QueryStackerLocationVo.java | 104 + .../AppStockComposeTaskVo.java | 157 + .../stockComposeTask/CourseResultVo.java | 24 + .../ExportAppStockComposeTaskVo.java | 158 + .../serve/stockScan/AppBaseScanMethodVo.java | 47 + .../vo/serve/stockScan/AppStockScanVo.java | 102 + .../stockSingleTask/AppStockSingleTaskVo.java | 171 + .../ExportAppStockSingleTaskVo.java | 171 + .../org/wcs/model/vo/serve/sys/CpuDataVo.java | 41 + .../wcs/model/vo/serve/sys/DiskDataVo.java | 37 + .../org/wcs/model/vo/serve/sys/JvmDataVo.java | 54 + .../wcs/model/vo/serve/sys/MemoryDataVo.java | 35 + .../model/vo/serve/sys/QuerySystemInfoVo.java | 53 + .../wcs/model/vo/serve/sys/ServeDataVo.java | 39 + .../ExportAppTrayConveyLocationVo.java | 101 + .../QueryTrayConveyLocationVo.java | 99 + .../TrayConveyStatusVo.java | 76 + .../wcs/model/vo/serve/user/LoginResp.java | 61 + .../MinorMenuPermissionSimpleTreeData.java | 22 + ...QueryUserMenuPermissionSimpleTreeResp.java | 32 + .../model/vo/serve/user/QueryUserResp.java | 83 + .../vo/serve/user/UserPermissionResp.java | 56 + .../QueryUserGroupPermissionResp.java | 66 + .../serve/userGroup/QueryUserGroupResp.java | 50 + .../java/org/wcs/plugin/excel/ExcelPoi.java | 69 + .../org/wcs/plugin/lxLed/LxLedCallBack.java | 12 + .../wcs/plugin/lxLed/LxLedCommunication.java | 553 + .../plugin/plc/PlcCommunicationFactory.java | 133 + .../wcs/plugin/plc/common/PlcCommonData.java | 9 + .../plc/communication/IPlcCommunication.java | 100 + .../PlcSiemensCommunication.java | 635 ++ .../wcs/plugin/plc/constant/PlcConfig.java | 17 + .../constant/PlcStackerTaskStatusEnum.java | 33 + .../wcs/plugin/plc/constant/PlcTypeEnum.java | 26 + .../org/wcs/plugin/plc/model/PlcBaseInfo.java | 57 + .../plc/model/PlcStackerTaskStatus.java | 23 + .../org/wcs/plugin/plc/model/ScanInfo.java | 48 + .../org/wcs/plugin/plc/model/ScanTask.java | 63 + .../plugin/plc/model/SiemensDBAddress.java | 25 + .../plugin/plc/model/SimpleConveyStatus.java | 11 + .../wcs/plugin/plc/model/StackerStatus.java | 70 + .../org/wcs/plugin/plc/model/StackerTask.java | 98 + .../plugin/plc/model/TaskConveyStatus.java | 65 + .../wcs/plugin/plc/model/TaskConveyTask.java | 50 + .../wcs/plugin/quartz/QuartzComponent.java | 142 + .../org/wcs/plugin/quartz/QuartzJobBean.java | 27 + .../java/org/wcs/plugin/tcp/SocketClient.java | 341 + .../plugin/tcp/enums/SocketStatusEnum.java | 26 + .../plugin/tcp/intf/ISocketClientEvent.java | 34 + .../wcs/plugin/tcp/model/SocketDataItem.java | 102 + .../plugin/webHttpClient/WebHttpClient.java | 495 + .../intef/IHttpRequestEvent.java | 25 + .../model/HttpAddressKeyItem.java | 30 + .../webHttpClient/model/HttpRequest.java | 260 + .../webHttpClient/model/HttpResponse.java | 114 + .../java/org/wcs/quartzJob/CleanDataJob.java | 19 + .../wcs/quartzJob/ResolveStockTaskJob.java | 298 + .../org/wcs/quartzJob/RetryApiRequestJob.java | 50 + .../java/org/wcs/quartzJob/ScannerJob.java | 119 + .../java/org/wcs/quartzJob/StackerJob.java | 206 + .../java/org/wcs/quartzJob/TestQuartzJob.java | 34 + .../java/org/wcs/quartzJob/TrayConveyJob.java | 141 + .../serve/controller/app/ApiController.java | 80 + .../controller/app/BaseErrorController.java | 115 + .../controller/app/ConfigController.java | 56 + .../app/ConveyLocationController.java | 68 + .../controller/app/ConveyStandController.java | 112 + .../controller/app/ConveyTaskController.java | 146 + .../serve/controller/app/DevController.java | 31 + .../controller/app/EtagBaseController.java | 161 + .../controller/app/EtagTaskController.java | 80 + .../serve/controller/app/FileController.java | 40 + .../serve/controller/app/LedController.java | 70 + .../serve/controller/app/MenuController.java | 69 + .../serve/controller/app/PlcController.java | 70 + .../controller/app/QuartzController.java | 90 + .../controller/app/RecordApiController.java | 53 + .../controller/app/RecordErrorController.java | 48 + .../controller/app/RecordScanController.java | 62 + .../controller/app/SiemensDbController.java | 78 + .../controller/app/StackerController.java | 102 + .../app/StackerLocationController.java | 108 + .../app/StockComposeTaskController.java | 170 + .../controller/app/StockScanController.java | 87 + .../app/StockSingleTaskController.java | 112 + .../controller/app/SystemController.java | 93 + .../app/TrayConveyLocationController.java | 78 + .../serve/controller/app/UserController.java | 118 + .../controller/app/UserGroupController.java | 92 + .../controller/pub/DeviceController.java | 31 + .../serve/controller/pub/TaskController.java | 68 + .../handler/AppExceptionHandler.java | 58 + .../org/wcs/serve/filter/PubLoggerFilter.java | 107 + .../wcs/serve/service/impl/ApiService.java | 141 + .../serve/service/impl/BaseErrorService.java | 260 + .../wcs/serve/service/impl/ConfigService.java | 102 + .../service/impl/ConveyLocationService.java | 154 + .../service/impl/ConveyStandService.java | 213 + .../serve/service/impl/ConveyTaskService.java | 432 + .../wcs/serve/service/impl/DevService.java | 54 + .../serve/service/impl/EtagBaseService.java | 333 + .../serve/service/impl/EtagTaskService.java | 154 + .../wcs/serve/service/impl/FileService.java | 98 + .../wcs/serve/service/impl/LedService.java | 104 + .../wcs/serve/service/impl/MenuService.java | 133 + .../wcs/serve/service/impl/PlcService.java | 132 + .../wcs/serve/service/impl/QuartzService.java | 156 + .../serve/service/impl/RecordApiService.java | 80 + .../service/impl/RecordErrorService.java | 94 + .../serve/service/impl/RecordScanService.java | 93 + .../serve/service/impl/SiemensDbService.java | 123 + .../service/impl/StackerLocationService.java | 269 + .../serve/service/impl/StackerService.java | 199 + .../service/impl/StockComposeTaskService.java | 496 + .../serve/service/impl/StockScanService.java | 171 + .../service/impl/StockSingleTaskService.java | 308 + .../wcs/serve/service/impl/SystemService.java | 321 + .../impl/TrayConveyLocationService.java | 185 + .../serve/service/impl/UserGroupService.java | 193 + .../wcs/serve/service/impl/UserService.java | 370 + .../wcs/serve/service/intf/IApiService.java | 19 + .../serve/service/intf/IBaseErrorService.java | 23 + .../serve/service/intf/IConfigService.java | 18 + .../service/intf/IConveyLocationService.java | 18 + .../service/intf/IConveyStandService.java | 22 + .../service/intf/IConveyTaskService.java | 25 + .../wcs/serve/service/intf/IDevService.java | 8 + .../serve/service/intf/IEtagBaseService.java | 27 + .../serve/service/intf/IEtagTaskService.java | 20 + .../wcs/serve/service/intf/IFileService.java | 15 + .../wcs/serve/service/intf/ILedService.java | 19 + .../wcs/serve/service/intf/IMenuService.java | 17 + .../wcs/serve/service/intf/IPlcService.java | 18 + .../serve/service/intf/IQuartzService.java | 20 + .../serve/service/intf/IRecordApiService.java | 14 + .../service/intf/IRecordErrorService.java | 13 + .../service/intf/IRecordScanService.java | 16 + .../serve/service/intf/ISiemensDbService.java | 17 + .../service/intf/IStackerLocationService.java | 28 + .../serve/service/intf/IStackerService.java | 24 + .../intf/IStockComposeTaskService.java | 31 + .../serve/service/intf/IStockScanService.java | 22 + .../service/intf/IStockSingleTaskService.java | 21 + .../serve/service/intf/ISystemService.java | 20 + .../intf/ITrayConveyLocationService.java | 20 + .../serve/service/intf/IUserGroupService.java | 21 + .../wcs/serve/service/intf/IUserService.java | 23 + .../serve/service/pub/impl/DeviceService.java | 54 + .../serve/service/pub/impl/TaskService.java | 203 + .../service/pub/intf/IDeviceService.java | 9 + .../serve/service/pub/intf/ITaskService.java | 16 + .../wcs/starter/ComponentRegisterStarter.java | 30 + .../org/wcs/starter/DataLoaderStarter.java | 29 + .../java/org/wcs/starter/QuartzStarter.java | 60 + .../main/java/org/wcs/utils/AppBeanUtils.java | 61 + .../org/wcs/utils/AppDataBaseTransUtils.java | 34 + .../main/java/org/wcs/utils/AppListUtils.java | 46 + .../java/org/wcs/utils/AppObjectUtils.java | 20 + .../java/org/wcs/utils/AppStringUtils.java | 220 + .../java/org/wcs/utils/AppThreadUtils.java | 52 + .../main/java/org/wcs/utils/AppTimeUtils.java | 62 + .../main/java/org/wcs/utils/AppUUIDUtils.java | 32 + .../main/java/org/wcs/utils/SpringUtils.java | 45 + wcs/src/main/resources/application-dev.yml | 41 + wcs/src/main/resources/application-prod.yml | 37 + wcs/src/main/resources/application-test.yml | 0 wcs/src/main/resources/application.yml | 30 + wcs/src/main/resources/logback.xml | 127 + .../java/org/wcs/WcsApplicationTests.java | 34 + wcs_web/.gitignore | 30 + wcs_web/README.md | 33 + wcs_web/env.d.ts | 1 + wcs_web/index.html | 41 + wcs_web/package-lock.json | 5071 +++++++++ wcs_web/package.json | 45 + wcs_web/public/favicon.ico | Bin 0 -> 4286 bytes .../image/app/importBaseErrorExample.png | Bin 0 -> 82164 bytes .../public/image/app/warehouseBackground.png | Bin 0 -> 3741724 bytes wcs_web/src/App.vue | 32 + wcs_web/src/api/api.ts | 31 + wcs_web/src/api/axios.ts | 52 + wcs_web/src/api/baseError.ts | 78 + wcs_web/src/api/config.ts | 28 + wcs_web/src/api/convey.ts | 33 + wcs_web/src/api/conveyStand.ts | 80 + wcs_web/src/api/conveyTask.ts | 89 + wcs_web/src/api/dev.ts | 11 + wcs_web/src/api/etagBase.ts | 137 + wcs_web/src/api/etagTask.ts | 38 + wcs_web/src/api/file.ts | 22 + wcs_web/src/api/home.ts | 30 + wcs_web/src/api/led.ts | 23 + wcs_web/src/api/menu.ts | 22 + wcs_web/src/api/plc.ts | 23 + wcs_web/src/api/quartz.ts | 38 + wcs_web/src/api/recordApi.ts | 25 + wcs_web/src/api/recordError.ts | 23 + wcs_web/src/api/recordScan.ts | 27 + wcs_web/src/api/siemensDb.ts | 56 + wcs_web/src/api/stacker.ts | 44 + wcs_web/src/api/stackerLocation.ts | 58 + wcs_web/src/api/stockComposeTask.ts | 100 + wcs_web/src/api/stockScan.ts | 41 + wcs_web/src/api/stockSingleTask.ts | 60 + wcs_web/src/api/trayConveyLocation.ts | 40 + wcs_web/src/api/user.ts | 48 + wcs_web/src/api/userGroup.ts | 36 + wcs_web/src/assets/base.css | 86 + wcs_web/src/assets/logo.svg | 1 + wcs_web/src/assets/main.css | 35 + wcs_web/src/components/charts/ChartBar.vue | 48 + wcs_web/src/components/charts/ChartLine.vue | 48 + wcs_web/src/components/charts/ChartPie.vue | 47 + wcs_web/src/components/custom/ConveyItem.vue | 17 + wcs_web/src/components/custom/ConveyView.vue | 11 + .../src/components/custom/LanguageSwitch.vue | 36 + .../components/custom/StackerLocationView.vue | 173 + .../src/components/manage/AppDeveloper.vue | 14 + .../page/api/AddApiBaseComponent.vue | 73 + .../page/api/ApiBaseDetailComponent.vue | 98 + .../src/components/page/app/UserSetting.vue | 74 + .../page/baseError/AddBaseError.vue | 104 + .../page/baseError/BaseErrorDetail.vue | 112 + .../page/baseError/ImportBaseError.vue | 135 + .../page/config/ConfigDetailComponent.vue | 78 + .../page/convey/AddConveyLocation.vue | 123 + .../page/convey/ConveyLocationDetail.vue | 167 + .../page/conveyStand/AddCheckStand.vue | 96 + .../page/conveyStand/AddPickStand.vue | 106 + .../page/conveyStand/CheckStandDetail.vue | 113 + .../page/conveyStand/PickStandDetail.vue | 124 + .../page/conveyTask/AddConveyTask.vue | 126 + .../page/conveyTask/ConveyTaskDetail.vue | 247 + .../page/conveyTask/ConveyTaskDetailBak.vue | 168 + .../page/etagController/AddEtagController.vue | 80 + .../etagController/DebugEtagController.vue | 59 + .../etagController/EditEtagController.vue | 106 + .../page/etagLocation/AddEtagLocation.vue | 89 + .../page/etagLocation/EditEtagLocation.vue | 114 + .../components/page/etagTag/AddEtagTag.vue | 95 + .../components/page/etagTag/EditEtagTag.vue | 118 + .../components/page/etagTask/AddEtagTask.vue | 107 + .../components/page/etagTask/EditEtagTask.vue | 146 + .../components/page/led/AddLedComponent.vue | 95 + .../page/led/LedDetailComponent.vue | 127 + .../components/page/main/AsideComponent.vue | 73 + .../components/page/main/ContentComponent.vue | 101 + .../components/page/menu/AddMenuComponent.vue | 96 + .../page/menu/MenuDetailComponent.vue | 107 + .../components/page/plc/AddPlcComponent.vue | 95 + .../page/plc/PlcDetailComponent.vue | 110 + .../page/quartz/AddQuartzComponent.vue | 82 + .../page/quartz/QuartzDetailComponent.vue | 142 + .../page/recordApi/RecordApiRequestDetail.vue | 106 + .../recordApi/RecordApiResponseDetail.vue | 98 + .../EquipmentErrorDetail.vue | 69 + .../page/siemensDb/AddSiemensDb.vue | 83 + .../page/siemensDb/EditSiemensDb.vue | 106 + .../page/stacker/AddStackerComponent.vue | 116 + .../page/stacker/StackerDetailComponent.vue | 111 + .../page/stacker/StackerRunningInfo.vue | 59 + .../page/stacker/StackerStandComponent.vue | 293 + .../AddStackerLocationComponent.vue | 202 + .../StackerLocationDetailComponent.vue | 107 + .../stackerLocation/StackerLocationMap.vue | 126 + .../AddStockComposeTaskComponent.vue | 93 + .../StockComposeTaskBakDetailComponent.vue | 189 + .../StockComposeTaskDetailComponent.vue | 284 + .../page/stockScan/AddStockScan.vue | 189 + .../page/stockScan/StockScanDetail.vue | 198 + .../AddStockSingleTaskComponent.vue | 101 + .../StockSingleTaskDetailComponent.vue | 217 + .../AddTrayConveyLocation.vue | 134 + .../TrayConveyLocationDetail.vue | 176 + .../components/page/user/AddUserComponent.vue | 114 + .../page/user/UserDetailComponent.vue | 207 + .../page/userGroup/AddUserGroupComponent.vue | 86 + .../page/userGroup/EditUserGroupComponent.vue | 78 + wcs_web/src/constant/SystemConfig.ts | 5 + .../enums/AppServeResponseCodeEnum.ts | 11 + .../src/interface/api/AppServeDataResponse.ts | 6 + wcs_web/src/interface/api/AppServeResponse.ts | 5 + wcs_web/src/interface/api/PageDataResponse.ts | 7 + wcs_web/src/interface/app/IAppMenuList.ts | 15 + wcs_web/src/interface/app/IAppTabs.ts | 6 + wcs_web/src/interface/app/IMenuPermission.ts | 9 + wcs_web/src/interface/app/IPagination.ts | 6 + wcs_web/src/interface/app/ITagStyle.ts | 11 + wcs_web/src/interface/app/IThisUserInfo.ts | 10 + .../interface/custom/IStackerLocationInfo.ts | 9 + .../src/interface/page/api/IApiQueryReq.ts | 5 + .../interface/page/config/IConfigSearch.ts | 4 + .../page/convey/IConveyCheckStandSearch.ts | 8 + .../page/convey/IConveyLocationSearch.ts | 9 + .../page/convey/IConveyPickStandSearch.ts | 8 + .../interface/page/convey/IConveyTaskQuery.ts | 12 + .../page/convey/IConveyTaskReportReq.ts | 5 + .../interface/page/error/IErrorBaseSearch.ts | 8 + .../etagController/IEtagControllerQuery.ts | 5 + .../page/etagLocation/IEtagLocationQuery.ts | 9 + .../interface/page/etagTag/IEtagTagQuery.ts | 12 + .../interface/page/etagTask/IEtagTaskQuery.ts | 12 + .../page/fileManage/IFileNameList.ts | 4 + wcs_web/src/interface/page/home/ICpuDataVo.ts | 9 + .../src/interface/page/home/IDiskDataVo.ts | 8 + wcs_web/src/interface/page/home/IJvmDataVo.ts | 11 + .../src/interface/page/home/IMemoryDataVo.ts | 7 + .../src/interface/page/home/IServeDataVo.ts | 7 + .../src/interface/page/home/ISystemEventVo.ts | 5 + .../src/interface/page/home/ISystemInfoVo.ts | 14 + .../page/home/ISystemNotificationVo.ts | 6 + .../src/interface/page/led/ILedBaseSearch.ts | 11 + .../src/interface/page/menu/IMenuSearch.ts | 6 + wcs_web/src/interface/page/plc/IPlcSearch.ts | 4 + .../interface/page/printCode/IPrintParams.ts | 13 + .../interface/page/quartz/IQuartzSearch.ts | 5 + .../page/recordApi/IRecordApiRequestSearch.ts | 6 + .../recordApi/IRecordApiResponseSearch.ts | 6 + .../IEquipmentErrorSearch.ts | 7 + .../page/rocordScan/IRecordScanSearch.ts | 6 + .../interface/page/scan/IStockScanSearch.ts | 8 + .../page/siemensDbManage/ISiemensDbSearch.ts | 6 + .../page/stacker/IStackerRunningInfo.ts | 12 + .../IStackerLocationCreateParams.ts | 16 + .../stackerLocation/IStackerLocationSearch.ts | 6 + .../page/stockTask/IComposeTaskSearch.ts | 13 + .../page/stockTask/ICourseCalculateResult.ts | 14 + .../page/stockTask/IReporterTaskStatusReq.ts | 6 + .../page/stockTask/ISingleTaskSearch.ts | 14 + .../page/trayConvey/IConveyPlcStatus.ts | 13 + .../trayConvey/ITrayConveyLocationSearch.ts | 9 + wcs_web/src/interface/page/user/IAppUserPo.ts | 14 + .../src/interface/page/user/ILocalUserData.ts | 9 + .../src/interface/page/user/ILoginResponse.ts | 9 + wcs_web/src/interface/page/user/ILoginUser.ts | 5 + .../page/user/IPermissionResponse.ts | 18 + .../interface/page/user/IUpdateUserData.ts | 14 + .../src/interface/page/user/IUserSearch.ts | 4 + .../page/userGroup/IGroupPermission.ts | 11 + .../IQueryUserGroupPermissionData.ts | 12 + .../page/userGroup/IUpdatePermissionReq.ts | 5 + wcs_web/src/locale/en.ts | 148 + wcs_web/src/locale/index.ts | 25 + wcs_web/src/locale/zh-cn.ts | 149 + wcs_web/src/main.ts | 25 + .../src/model/charts/IBarPieLineDataItem.ts | 5 + .../model/charts/IMultilineLineDataItem.ts | 11 + wcs_web/src/model/table/IAppBaseDb.ts | 7 + wcs_web/src/model/table/IAppBaseErrorInfo.ts | 11 + wcs_web/src/model/table/IAppBaseLed.ts | 15 + wcs_web/src/model/table/IAppBaseMenu.ts | 12 + wcs_web/src/model/table/IAppBaseScanMethod.ts | 9 + wcs_web/src/model/table/IAppConfigTable.ts | 14 + .../src/model/table/IAppConveyCheckStand.ts | 14 + wcs_web/src/model/table/IAppConveyLocation.ts | 16 + .../src/model/table/IAppConveyPickStand.ts | 13 + wcs_web/src/model/table/IAppConveyTask.ts | 23 + wcs_web/src/model/table/IAppEtagController.ts | 12 + wcs_web/src/model/table/IAppEtagLocation.ts | 12 + wcs_web/src/model/table/IAppEtagTag.ts | 13 + wcs_web/src/model/table/IAppEtagTask.ts | 23 + wcs_web/src/model/table/IAppStockScan.ts | 17 + .../src/model/table/IAppTableUserGroupVo.ts | 9 + wcs_web/src/model/table/IAppTableUserVo.ts | 13 + wcs_web/src/model/table/IBaseApiData.ts | 9 + .../src/model/table/IComposeTaskTableData.ts | 23 + wcs_web/src/model/table/IEquipmentErrorVo.ts | 13 + wcs_web/src/model/table/IPlcTableVo.ts | 14 + wcs_web/src/model/table/IQuartzTableData.ts | 9 + .../src/model/table/IRecordApiRequestData.ts | 15 + .../src/model/table/IRecordApiResponseData.ts | 15 + wcs_web/src/model/table/IRecordScanData.ts | 13 + .../src/model/table/ISingleTaskTableData.ts | 25 + .../src/model/table/IStackerInfoTableData.ts | 18 + .../model/table/IStackerLocationTableData.ts | 17 + .../src/model/table/IStackerStandTableData.ts | 20 + .../src/model/table/ITrayConveyTableData.ts | 17 + .../formatter/ConveyLocationTypeFormatter.ts | 26 + .../formatter/ConveyPickStandTypeFormatter.ts | 17 + .../formatter/ConveyTaskStatusFormatter.ts | 22 + .../formatter/ConveyTaskTypeFormatter.ts | 19 + .../ErrorBaseEquipmentTypeFormatter.ts | 23 + .../plugin/formatter/ErrorLevelFormatter.ts | 23 + .../plugin/formatter/ErrorTypeFormatter.ts | 22 + .../formatter/EtagLocationTypeFormatter.ts | 20 + .../formatter/EtagTagBusinessTypeFormatter.ts | 34 + .../plugin/formatter/EtagTagTypeFormatter.ts | 21 + .../formatter/EtagTaskLightModelFormatter.ts | 18 + .../formatter/EtagTaskStatusFormatter.ts | 23 + .../plugin/formatter/EtagTaskTypeFormatter.ts | 20 + .../src/plugin/formatter/LedBrandFormatter.ts | 19 + .../plugin/formatter/LedColorTypeFormatter.ts | 21 + .../plugin/formatter/MenuTagStyleFormatter.ts | 32 + .../src/plugin/formatter/PlcTypeFormatter.ts | 16 + .../formatter/PrintCodeTypeFormatter.ts | 10 + .../formatter/StackerInTypeFormatter.ts | 18 + .../StackerLocationStatusFormatter.ts | 47 + .../StockComposeStepStatusFormatter.ts | 32 + .../StockComposeTaskStatusFormatter.ts | 22 + .../StockComposeTaskTypeFormatter.ts | 21 + .../formatter/StockScanTypeFormatter.ts | 17 + .../StockSingleTaskExecuteMachineFormatter.ts | 20 + .../StockSingleTaskStatusFormatter.ts | 22 + .../formatter/StockSingleTaskTypeFormatter.ts | 28 + .../TrayConveyLocationTypeFormatter.ts | 17 + .../formatter/TrueFalseTagStyleFormatter.ts | 33 + .../plugin/formatter/UserTagStyleFormatter.ts | 62 + wcs_web/src/router/index.ts | 79 + wcs_web/src/stores/app.ts | 23 + wcs_web/src/stores/counter.ts | 12 + wcs_web/src/stores/menu.ts | 41 + wcs_web/src/stores/tabs.ts | 33 + wcs_web/src/stores/user.ts | 46 + wcs_web/src/utils/CookieUtils.ts | 82 + wcs_web/src/utils/FormatterUtils.ts | 36 + wcs_web/src/utils/MessageUtils.ts | 138 + wcs_web/src/utils/StringUtils.ts | 27 + wcs_web/src/views/layout/HomeViewPage.vue | 21 + wcs_web/src/views/layout/LoginView.vue | 171 + wcs_web/src/views/layout/MainView.vue | 134 + wcs_web/src/views/layout/PrintCodePage.vue | 21 + wcs_web/src/views/tabs/ApiInfoManage.vue | 145 + wcs_web/src/views/tabs/ConfigManage.vue | 138 + wcs_web/src/views/tabs/ConveyCheckStand.vue | 146 + .../src/views/tabs/ConveyLocationManage.vue | 197 + wcs_web/src/views/tabs/ConveyPickStand.vue | 163 + wcs_web/src/views/tabs/ConveyTask.vue | 200 + wcs_web/src/views/tabs/ConveyTaskBak.vue | 211 + wcs_web/src/views/tabs/Error404View.vue | 16 + wcs_web/src/views/tabs/ErrorBase.vue | 179 + wcs_web/src/views/tabs/EtagController.vue | 160 + wcs_web/src/views/tabs/EtagLocation.vue | 144 + wcs_web/src/views/tabs/EtagTag.vue | 163 + wcs_web/src/views/tabs/EtagTask.vue | 205 + wcs_web/src/views/tabs/EtagTaskBak.vue | 197 + wcs_web/src/views/tabs/FileManage.vue | 87 + wcs_web/src/views/tabs/HomeView.vue | 407 + wcs_web/src/views/tabs/LedBaseManage.vue | 140 + wcs_web/src/views/tabs/LocalUserManage.vue | 80 + wcs_web/src/views/tabs/MenuManage.vue | 159 + wcs_web/src/views/tabs/PlcManage.vue | 155 + wcs_web/src/views/tabs/PrintCode.vue | 168 + wcs_web/src/views/tabs/QuartzManage.vue | 138 + wcs_web/src/views/tabs/RecordApiRequest.vue | 170 + wcs_web/src/views/tabs/RecordApiResponse.vue | 162 + .../src/views/tabs/RecordEquipmentError.vue | 175 + wcs_web/src/views/tabs/RecordScan.vue | 216 + wcs_web/src/views/tabs/SiemensDbManage.vue | 145 + .../src/views/tabs/StackerLocationManage.vue | 209 + wcs_web/src/views/tabs/StackerManage.vue | 203 + wcs_web/src/views/tabs/StockComposeTask.vue | 247 + .../src/views/tabs/StockComposeTaskBak.vue | 254 + wcs_web/src/views/tabs/StockScanManage.vue | 200 + wcs_web/src/views/tabs/StockSingleTask.vue | 260 + wcs_web/src/views/tabs/StockSingleTaskBak.vue | 225 + wcs_web/src/views/tabs/TrayConveyManage.vue | 219 + wcs_web/src/views/tabs/UserGroupManage.vue | 260 + wcs_web/src/views/tabs/UserManage.vue | 166 + wcs_web/tsconfig.app.json | 12 + wcs_web/tsconfig.json | 11 + wcs_web/tsconfig.node.json | 19 + wcs_web/vite.config.ts | 20 + 865 files changed, 76450 insertions(+) create mode 100644 .gitignore create mode 100644 ReadMe.md create mode 100644 files/PLCWCS交互协议S7.md create mode 100644 files/WCS开放式接口文档.md create mode 100644 files/WCS系统开发手册.md create mode 100644 files/WCS系统操作手册.md create mode 100644 files/WCS系统系统介绍_2_2501.md create mode 100644 files/WCS网络图.drawio create mode 100644 wcs/.gitattributes create mode 100644 wcs/.gitignore create mode 100644 wcs/.mvn/wrapper/maven-wrapper.properties create mode 100644 wcs/db/wcs.sql create mode 100644 wcs/lib/HslCommunication-3.7.0.jar create mode 100644 wcs/lib/lv_led_64.dll create mode 100755 wcs/mvnw create mode 100644 wcs/mvnw.cmd create mode 100644 wcs/pom.xml create mode 100644 wcs/src/main/java/org/wcs/WcsApplication.java create mode 100644 wcs/src/main/java/org/wcs/annotation/ScanMethodTag.java create mode 100644 wcs/src/main/java/org/wcs/app/ApplicationClose.java create mode 100644 wcs/src/main/java/org/wcs/business/data/impl/DataLoader.java create mode 100644 wcs/src/main/java/org/wcs/business/data/impl/DataRecorder.java create mode 100644 wcs/src/main/java/org/wcs/business/data/intf/IDataLoader.java create mode 100644 wcs/src/main/java/org/wcs/business/data/intf/IDataRecorder.java create mode 100644 wcs/src/main/java/org/wcs/business/http/HttpRequestRecord.java create mode 100644 wcs/src/main/java/org/wcs/business/led/LxLedOperation.java create mode 100644 wcs/src/main/java/org/wcs/business/led/ledOperation.java create mode 100644 wcs/src/main/java/org/wcs/business/stacker/StackerStatusMonitor.java create mode 100644 wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java create mode 100644 wcs/src/main/java/org/wcs/business/stacker/impl/ExecuteStackerTaskService.java create mode 100644 wcs/src/main/java/org/wcs/business/stacker/intf/IExecuteStackerTaskService.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/LocationManage.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/StockComposeTaskManage.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/ComposeTaskStatusReporter.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/ScanMethod.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/StockSingleTaskExecuteEvent.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/AutoStockTaskDataCheck.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/ConveyStockTaskDataCheck.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/InStockTaskDataCheck.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/MoveStockTaskDataCheck.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/OutStockTaskDataCheck.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/UnknownStockTaskDataCheck.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/intf/IComposeTaskStatusReporter.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/intf/IScanMethod.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/intf/IStockSingleTaskExecuteEvent.java create mode 100644 wcs/src/main/java/org/wcs/business/stock/intf/IStockTaskDataCheck.java create mode 100644 wcs/src/main/java/org/wcs/config/CorsConfig.java create mode 100644 wcs/src/main/java/org/wcs/config/MybatisPlusConfig.java create mode 100644 wcs/src/main/java/org/wcs/config/SaTokenConfigure.java create mode 100644 wcs/src/main/java/org/wcs/constant/ConstantData.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/business/LocationTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/business/LxLedColor.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/business/SimpleTaskEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/business/SseEventTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/common/OnOrOffEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/common/TrueOrFalseEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/BaseErroorEquipmentTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorLevelEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/ConveyPickStandTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/ETagTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/EquipmentTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskLightModelEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/PlcTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StackerLocationStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StackerStandInTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStepStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StockExecuteEquipmentEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StockScanTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/TrayConveyLocationTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/UserLevelEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/database/UserStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/http/ConveyCallBackStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/http/StockCallBackStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/plc/StackerControllerModelEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/plc/StackerDeviceStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/plc/StackerTaskTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/constant/enums/serve/AppServeResponseCodeEnum.java create mode 100644 wcs/src/main/java/org/wcs/factory/AppServeResponseFactory.java create mode 100644 wcs/src/main/java/org/wcs/factory/PubServeResponseFactory.java create mode 100644 wcs/src/main/java/org/wcs/helper/AppConfigHelper.java create mode 100644 wcs/src/main/java/org/wcs/helper/HttpResponseHelper.java create mode 100644 wcs/src/main/java/org/wcs/helper/LedHelper.java create mode 100644 wcs/src/main/java/org/wcs/helper/LocationHelper.java create mode 100644 wcs/src/main/java/org/wcs/helper/PlcTaskIdHelper.java create mode 100644 wcs/src/main/java/org/wcs/helper/SseHelper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseApiInfoMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseConfigMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppBaseDbMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseErrInfoMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseGroupPermissionMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppBaseLedMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseMaintenanceInfoMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseMenuMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBasePlcMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppBaseScanMethodMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseUserGroupMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppBaseUserMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppConveyCheckStandMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppConveyLocationMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppConveyPickStandMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppConveyTaskBakMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppConveyTaskEventMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppConveyTaskMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppEtagControllerInfoMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppEtagStockMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppEtagTagInfoMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppEtagTagLocationMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppEtagTaskBakMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppEtagTaskEventMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppEtagTaskMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppQuartzConfigMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppRecordApiRequestMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppRecordApiResponseMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppRecordErrMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppRecordMaintenanceMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppRecordPlcInteractiveMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/AppRecordScanMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppRecordTaskMsgMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStackerInfoMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStackerLocationMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStackerStandMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskBakMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStockScanMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskBakMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskMapper.java create mode 100644 wcs/src/main/java/org/wcs/mapper/AppTrayConveyLocationMapper.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseApiInfoDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseConfigDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppBaseDbDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseErrInfoDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseGroupPermissionDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppBaseLedDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseMaintenanceInfoDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseMenuDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBasePlcDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppBaseScanMethodDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserGroupDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppConveyCheckStandDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppConveyLocationDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppConveyPickStandDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskBakDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskEventDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppEtagControllerInfoDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppEtagStockDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagInfoDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagLocationDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskEventDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppQuartzConfigDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppRecordTaskMsgDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStackerInfoDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStackerLocationDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStackerStandDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStockScanDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskDao.java create mode 100644 wcs/src/main/java/org/wcs/mapper/impl/AppTrayConveyLocationDao.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseApiInfoService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseConfigService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppBaseDbService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseErrInfoService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseGroupPermissionService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppBaseLedService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseMaintenanceInfoService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseMenuService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBasePlcService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppBaseScanMethodService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserGroupService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppConveyCheckStandService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppConveyLocationService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppConveyPickStandService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskBakService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskEventService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppEtagControllerInfoService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppEtagStockService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagInfoService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagLocationService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskEventService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppQuartzConfigService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java create mode 100755 wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppRecordTaskMsgService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStackerInfoService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStackerLocationService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStackerStandService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStockScanService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskService.java create mode 100644 wcs/src/main/java/org/wcs/mapper/intf/AppTrayConveyLocationService.java create mode 100644 wcs/src/main/java/org/wcs/model/bo/db/DataBaseActionResult.java create mode 100644 wcs/src/main/java/org/wcs/model/bo/stacker/StackerStatusData.java create mode 100644 wcs/src/main/java/org/wcs/model/bo/stock/StockLocation.java create mode 100755 wcs/src/main/java/org/wcs/model/bo/tuple/Tuple2.java create mode 100755 wcs/src/main/java/org/wcs/model/bo/tuple/Tuple3.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/client/ConveyTaskStatusUploadReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/client/StockLoginDataResp.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/client/StockLoginReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/client/StockTaskStatusUploadReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/client/UpperSystemBaseResponse.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/client/UpperSystemDataResponse.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/pub/AddConveyTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/pub/AddEtagTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/pub/AddStockTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/pub/EtagTaskItem.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/api/AddApiBaseInfoReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/api/QueryApiBaseInfoReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/api/UpdateApiBaseInfoReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/baseError/AddBaseErrorReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/baseError/QueryBaseErrorReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/baseError/UpdateBaseErrorReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/config/QueryConfigReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/config/UpdateConfigReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/convey/AddConveyLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/convey/QueryConveyLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/convey/UpdateConveyLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyCheckStandReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyPickStandReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryCheckStandReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryPickStandReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyCheckStandReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyPickStandReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/AddConveyTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/QueryConveyTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/ReporterConveyTaskStatusReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagControllerReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagTagInfoReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagControllerQueryReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagLocationQueryReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagTagInfoQueryReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagControllerReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagTagInfoReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagTask/AddEtagTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagTask/EtagTaskQueryReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/etagTask/UpdateEtagTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/led/AddBaseLedReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/led/QueryLedReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/led/UpdateBaseLedReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/menu/AddMenuReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/menu/QueryMenuReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/menu/UpdateMenuReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/plc/AddPlcReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/plc/QueryBasePlcReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/plc/UpdatePlcReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/quartz/AddQuartzConfigReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/quartz/QuartzReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/quartz/UpdateQuartzConfigReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiRequestReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiResponseReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/recordError/QueryEquipmentErrorReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/recordScan/QueryRecordScanReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/AddSiemensDbReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/QuerySiemensDbReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/UpdateSiemensDbReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddOrUpdateStackerStandReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddStackerReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stacker/UpdateStackerInfoReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddManyStackerLocationsReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddStackerLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/QueryStackerLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/UpdateStackerLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/AddStockComposeTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/QueryStockComposeTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/ReporterTaskStatusReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stockScan/AddStockScanReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stockScan/QueryStockScanReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stockScan/UpdateStockScanReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/AddSingleTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/QueryStockSingleTaskReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/AddTrayConveyLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/QueryTrayConveyLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/UpdateTrayConveyLocationReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/user/CreateUserReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/user/LoginReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/user/QueryUserReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateSelfUserReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateUserReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/userGroup/AddUserGroupReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateGroupPermissionReq.java create mode 100644 wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateUserGroupReq.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseApiInfo.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseConfig.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppBaseDb.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseErrInfo.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseGroupPermission.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppBaseLed.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseMaintenanceInfo.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseMenu.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBasePlc.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppBaseScanMethod.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseUser.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppBaseUserGroup.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppConveyCheckStand.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppConveyLocation.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppConveyPickStand.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppConveyTask.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskBak.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskEvent.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppEtagControllerInfo.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppEtagStock.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppEtagTagInfo.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppEtagTagLocation.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskBak.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskEvent.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppQuartzConfig.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppRecordApiRequest.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppRecordApiResponse.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppRecordErr.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppRecordMaintenance.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppRecordPlcInteractive.java create mode 100755 wcs/src/main/java/org/wcs/model/po/app/AppRecordScan.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppRecordTaskMag.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStackerInfo.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStackerLocation.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStackerStand.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTask.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTaskBak.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStockScan.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTask.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTaskBak.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/AppTrayConveyLocation.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/JoinRecordError.java create mode 100644 wcs/src/main/java/org/wcs/model/po/app/JoinUserInfoWithGroupInfo.java create mode 100644 wcs/src/main/java/org/wcs/model/pojo/led/LedBaseInfo.java create mode 100644 wcs/src/main/java/org/wcs/model/pojo/led/LedDataDetail.java create mode 100644 wcs/src/main/java/org/wcs/model/pojo/led/LedShowData.java create mode 100644 wcs/src/main/java/org/wcs/model/pojo/serve/NotificationInfo.java create mode 100644 wcs/src/main/java/org/wcs/model/pojo/serve/RunningEventInfo.java create mode 100644 wcs/src/main/java/org/wcs/model/pojo/serve/UserMenuPermission.java create mode 100644 wcs/src/main/java/org/wcs/model/pojo/task/SimpleTask.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/custom/BaseChartsDataItem.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartData.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartDataItem.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/pub/PubServeDataResponse.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/pub/PubServeResponse.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/pub/deveice/ConveyStatusVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/pub/task/StockTaskDetailVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/AppServeDataResponse.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/AppServeResponse.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/api/QueryApiBaseInfoVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/baseError/BaseErrorImport.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/baseError/QueryBaseErrorVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/common/PageDataResponse.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/config/QueryConfigResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/convey/ConveyStatusVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/convey/QueryConveyLocationVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyCheckStandVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyPickStandVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/ExportConveyTaskBakVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/QueryConveyTaskVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagControllerVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagLocationVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagTagInfoVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskBakVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/led/QueryLedVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/menu/QueryMenuResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/plc/QueryBasePlcResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/quartz/QueryResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiRequestVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiResponseVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/recordError/ExportEquipmentErrorVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/recordError/QueryEquipmentErrorVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/recordScan/ExportAppRecordScanVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/recordScan/RecordScanVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/siemensDb/SiemensDbVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerInfoVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerStandVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stacker/StackerStatusVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/ExportAppStackerLocationVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/QueryStackerLocationVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/AppStockComposeTaskVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/CourseResultVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/ExportAppStockComposeTaskVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppBaseScanMethodVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppStockScanVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/AppStockSingleTaskVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/ExportAppStockSingleTaskVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/sys/CpuDataVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/sys/DiskDataVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/sys/JvmDataVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/sys/MemoryDataVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/sys/QuerySystemInfoVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/sys/ServeDataVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/ExportAppTrayConveyLocationVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/QueryTrayConveyLocationVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/TrayConveyStatusVo.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/user/LoginResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/user/MinorMenuPermissionSimpleTreeData.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserMenuPermissionSimpleTreeResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/user/UserPermissionResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupPermissionResp.java create mode 100644 wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupResp.java create mode 100644 wcs/src/main/java/org/wcs/plugin/excel/ExcelPoi.java create mode 100644 wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCallBack.java create mode 100644 wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCommunication.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/PlcCommunicationFactory.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/common/PlcCommonData.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/communication/IPlcCommunication.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/constant/PlcConfig.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/constant/PlcStackerTaskStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/constant/PlcTypeEnum.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/PlcBaseInfo.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/PlcStackerTaskStatus.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/ScanTask.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/SiemensDBAddress.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/SimpleConveyStatus.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/StackerStatus.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/StackerTask.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyStatus.java create mode 100644 wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyTask.java create mode 100644 wcs/src/main/java/org/wcs/plugin/quartz/QuartzComponent.java create mode 100644 wcs/src/main/java/org/wcs/plugin/quartz/QuartzJobBean.java create mode 100644 wcs/src/main/java/org/wcs/plugin/tcp/SocketClient.java create mode 100644 wcs/src/main/java/org/wcs/plugin/tcp/enums/SocketStatusEnum.java create mode 100644 wcs/src/main/java/org/wcs/plugin/tcp/intf/ISocketClientEvent.java create mode 100644 wcs/src/main/java/org/wcs/plugin/tcp/model/SocketDataItem.java create mode 100644 wcs/src/main/java/org/wcs/plugin/webHttpClient/WebHttpClient.java create mode 100644 wcs/src/main/java/org/wcs/plugin/webHttpClient/intef/IHttpRequestEvent.java create mode 100644 wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpAddressKeyItem.java create mode 100644 wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpRequest.java create mode 100644 wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpResponse.java create mode 100644 wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java create mode 100644 wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java create mode 100644 wcs/src/main/java/org/wcs/quartzJob/RetryApiRequestJob.java create mode 100644 wcs/src/main/java/org/wcs/quartzJob/ScannerJob.java create mode 100644 wcs/src/main/java/org/wcs/quartzJob/StackerJob.java create mode 100644 wcs/src/main/java/org/wcs/quartzJob/TestQuartzJob.java create mode 100644 wcs/src/main/java/org/wcs/quartzJob/TrayConveyJob.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/ApiController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/BaseErrorController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/ConfigController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/ConveyLocationController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/ConveyStandController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/ConveyTaskController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/DevController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/EtagBaseController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/EtagTaskController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/FileController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/LedController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/MenuController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/PlcController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/QuartzController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/RecordApiController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/RecordErrorController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/RecordScanController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/SiemensDbController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/StackerController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/StackerLocationController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/StockComposeTaskController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/StockScanController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/StockSingleTaskController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/SystemController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/TrayConveyLocationController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/UserController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/app/UserGroupController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/pub/DeviceController.java create mode 100644 wcs/src/main/java/org/wcs/serve/controller/pub/TaskController.java create mode 100644 wcs/src/main/java/org/wcs/serve/exception/handler/AppExceptionHandler.java create mode 100644 wcs/src/main/java/org/wcs/serve/filter/PubLoggerFilter.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/ApiService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/BaseErrorService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/ConfigService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/ConveyLocationService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/ConveyStandService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/ConveyTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/DevService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/EtagBaseService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/FileService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/LedService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/MenuService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/PlcService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/QuartzService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/RecordApiService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/RecordErrorService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/RecordScanService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/SiemensDbService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/StackerLocationService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/StackerService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/StockComposeTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/StockScanService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/StockSingleTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/SystemService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/TrayConveyLocationService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/UserGroupService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/impl/UserService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IApiService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IBaseErrorService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IConfigService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IConveyLocationService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IConveyStandService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IConveyTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IDevService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IEtagBaseService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IEtagTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IFileService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/ILedService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IMenuService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IPlcService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IQuartzService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IRecordApiService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IRecordErrorService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IRecordScanService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/ISiemensDbService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IStackerLocationService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IStackerService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IStockComposeTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IStockScanService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IStockSingleTaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/ISystemService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/ITrayConveyLocationService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IUserGroupService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/intf/IUserService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/pub/impl/DeviceService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/pub/intf/IDeviceService.java create mode 100644 wcs/src/main/java/org/wcs/serve/service/pub/intf/ITaskService.java create mode 100644 wcs/src/main/java/org/wcs/starter/ComponentRegisterStarter.java create mode 100644 wcs/src/main/java/org/wcs/starter/DataLoaderStarter.java create mode 100644 wcs/src/main/java/org/wcs/starter/QuartzStarter.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppBeanUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppDataBaseTransUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppListUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppObjectUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppStringUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppThreadUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppTimeUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/AppUUIDUtils.java create mode 100644 wcs/src/main/java/org/wcs/utils/SpringUtils.java create mode 100644 wcs/src/main/resources/application-dev.yml create mode 100644 wcs/src/main/resources/application-prod.yml create mode 100644 wcs/src/main/resources/application-test.yml create mode 100644 wcs/src/main/resources/application.yml create mode 100755 wcs/src/main/resources/logback.xml create mode 100644 wcs/src/test/java/org/wcs/WcsApplicationTests.java create mode 100644 wcs_web/.gitignore create mode 100644 wcs_web/README.md create mode 100644 wcs_web/env.d.ts create mode 100644 wcs_web/index.html create mode 100644 wcs_web/package-lock.json create mode 100644 wcs_web/package.json create mode 100644 wcs_web/public/favicon.ico create mode 100644 wcs_web/public/image/app/importBaseErrorExample.png create mode 100644 wcs_web/public/image/app/warehouseBackground.png create mode 100644 wcs_web/src/App.vue create mode 100644 wcs_web/src/api/api.ts create mode 100644 wcs_web/src/api/axios.ts create mode 100644 wcs_web/src/api/baseError.ts create mode 100644 wcs_web/src/api/config.ts create mode 100644 wcs_web/src/api/convey.ts create mode 100644 wcs_web/src/api/conveyStand.ts create mode 100644 wcs_web/src/api/conveyTask.ts create mode 100644 wcs_web/src/api/dev.ts create mode 100644 wcs_web/src/api/etagBase.ts create mode 100644 wcs_web/src/api/etagTask.ts create mode 100644 wcs_web/src/api/file.ts create mode 100644 wcs_web/src/api/home.ts create mode 100644 wcs_web/src/api/led.ts create mode 100644 wcs_web/src/api/menu.ts create mode 100644 wcs_web/src/api/plc.ts create mode 100644 wcs_web/src/api/quartz.ts create mode 100644 wcs_web/src/api/recordApi.ts create mode 100644 wcs_web/src/api/recordError.ts create mode 100644 wcs_web/src/api/recordScan.ts create mode 100644 wcs_web/src/api/siemensDb.ts create mode 100644 wcs_web/src/api/stacker.ts create mode 100644 wcs_web/src/api/stackerLocation.ts create mode 100644 wcs_web/src/api/stockComposeTask.ts create mode 100644 wcs_web/src/api/stockScan.ts create mode 100644 wcs_web/src/api/stockSingleTask.ts create mode 100644 wcs_web/src/api/trayConveyLocation.ts create mode 100644 wcs_web/src/api/user.ts create mode 100644 wcs_web/src/api/userGroup.ts create mode 100644 wcs_web/src/assets/base.css create mode 100644 wcs_web/src/assets/logo.svg create mode 100644 wcs_web/src/assets/main.css create mode 100644 wcs_web/src/components/charts/ChartBar.vue create mode 100644 wcs_web/src/components/charts/ChartLine.vue create mode 100644 wcs_web/src/components/charts/ChartPie.vue create mode 100644 wcs_web/src/components/custom/ConveyItem.vue create mode 100644 wcs_web/src/components/custom/ConveyView.vue create mode 100644 wcs_web/src/components/custom/LanguageSwitch.vue create mode 100644 wcs_web/src/components/custom/StackerLocationView.vue create mode 100644 wcs_web/src/components/manage/AppDeveloper.vue create mode 100644 wcs_web/src/components/page/api/AddApiBaseComponent.vue create mode 100644 wcs_web/src/components/page/api/ApiBaseDetailComponent.vue create mode 100644 wcs_web/src/components/page/app/UserSetting.vue create mode 100644 wcs_web/src/components/page/baseError/AddBaseError.vue create mode 100644 wcs_web/src/components/page/baseError/BaseErrorDetail.vue create mode 100644 wcs_web/src/components/page/baseError/ImportBaseError.vue create mode 100644 wcs_web/src/components/page/config/ConfigDetailComponent.vue create mode 100644 wcs_web/src/components/page/convey/AddConveyLocation.vue create mode 100644 wcs_web/src/components/page/convey/ConveyLocationDetail.vue create mode 100644 wcs_web/src/components/page/conveyStand/AddCheckStand.vue create mode 100644 wcs_web/src/components/page/conveyStand/AddPickStand.vue create mode 100644 wcs_web/src/components/page/conveyStand/CheckStandDetail.vue create mode 100644 wcs_web/src/components/page/conveyStand/PickStandDetail.vue create mode 100644 wcs_web/src/components/page/conveyTask/AddConveyTask.vue create mode 100644 wcs_web/src/components/page/conveyTask/ConveyTaskDetail.vue create mode 100644 wcs_web/src/components/page/conveyTask/ConveyTaskDetailBak.vue create mode 100644 wcs_web/src/components/page/etagController/AddEtagController.vue create mode 100644 wcs_web/src/components/page/etagController/DebugEtagController.vue create mode 100644 wcs_web/src/components/page/etagController/EditEtagController.vue create mode 100644 wcs_web/src/components/page/etagLocation/AddEtagLocation.vue create mode 100644 wcs_web/src/components/page/etagLocation/EditEtagLocation.vue create mode 100644 wcs_web/src/components/page/etagTag/AddEtagTag.vue create mode 100644 wcs_web/src/components/page/etagTag/EditEtagTag.vue create mode 100644 wcs_web/src/components/page/etagTask/AddEtagTask.vue create mode 100644 wcs_web/src/components/page/etagTask/EditEtagTask.vue create mode 100644 wcs_web/src/components/page/led/AddLedComponent.vue create mode 100644 wcs_web/src/components/page/led/LedDetailComponent.vue create mode 100644 wcs_web/src/components/page/main/AsideComponent.vue create mode 100644 wcs_web/src/components/page/main/ContentComponent.vue create mode 100644 wcs_web/src/components/page/menu/AddMenuComponent.vue create mode 100644 wcs_web/src/components/page/menu/MenuDetailComponent.vue create mode 100644 wcs_web/src/components/page/plc/AddPlcComponent.vue create mode 100644 wcs_web/src/components/page/plc/PlcDetailComponent.vue create mode 100644 wcs_web/src/components/page/quartz/AddQuartzComponent.vue create mode 100644 wcs_web/src/components/page/quartz/QuartzDetailComponent.vue create mode 100644 wcs_web/src/components/page/recordApi/RecordApiRequestDetail.vue create mode 100644 wcs_web/src/components/page/recordApi/RecordApiResponseDetail.vue create mode 100644 wcs_web/src/components/page/recordEquipmentError/EquipmentErrorDetail.vue create mode 100644 wcs_web/src/components/page/siemensDb/AddSiemensDb.vue create mode 100644 wcs_web/src/components/page/siemensDb/EditSiemensDb.vue create mode 100644 wcs_web/src/components/page/stacker/AddStackerComponent.vue create mode 100644 wcs_web/src/components/page/stacker/StackerDetailComponent.vue create mode 100644 wcs_web/src/components/page/stacker/StackerRunningInfo.vue create mode 100644 wcs_web/src/components/page/stacker/StackerStandComponent.vue create mode 100644 wcs_web/src/components/page/stackerLocation/AddStackerLocationComponent.vue create mode 100644 wcs_web/src/components/page/stackerLocation/StackerLocationDetailComponent.vue create mode 100644 wcs_web/src/components/page/stackerLocation/StackerLocationMap.vue create mode 100644 wcs_web/src/components/page/stockComposeTask/AddStockComposeTaskComponent.vue create mode 100644 wcs_web/src/components/page/stockComposeTask/StockComposeTaskBakDetailComponent.vue create mode 100644 wcs_web/src/components/page/stockComposeTask/StockComposeTaskDetailComponent.vue create mode 100644 wcs_web/src/components/page/stockScan/AddStockScan.vue create mode 100644 wcs_web/src/components/page/stockScan/StockScanDetail.vue create mode 100644 wcs_web/src/components/page/stockSingleTask/AddStockSingleTaskComponent.vue create mode 100644 wcs_web/src/components/page/stockSingleTask/StockSingleTaskDetailComponent.vue create mode 100644 wcs_web/src/components/page/trayConveyLocation/AddTrayConveyLocation.vue create mode 100644 wcs_web/src/components/page/trayConveyLocation/TrayConveyLocationDetail.vue create mode 100644 wcs_web/src/components/page/user/AddUserComponent.vue create mode 100644 wcs_web/src/components/page/user/UserDetailComponent.vue create mode 100644 wcs_web/src/components/page/userGroup/AddUserGroupComponent.vue create mode 100644 wcs_web/src/components/page/userGroup/EditUserGroupComponent.vue create mode 100644 wcs_web/src/constant/SystemConfig.ts create mode 100644 wcs_web/src/constant/enums/AppServeResponseCodeEnum.ts create mode 100644 wcs_web/src/interface/api/AppServeDataResponse.ts create mode 100644 wcs_web/src/interface/api/AppServeResponse.ts create mode 100644 wcs_web/src/interface/api/PageDataResponse.ts create mode 100644 wcs_web/src/interface/app/IAppMenuList.ts create mode 100644 wcs_web/src/interface/app/IAppTabs.ts create mode 100644 wcs_web/src/interface/app/IMenuPermission.ts create mode 100644 wcs_web/src/interface/app/IPagination.ts create mode 100644 wcs_web/src/interface/app/ITagStyle.ts create mode 100644 wcs_web/src/interface/app/IThisUserInfo.ts create mode 100644 wcs_web/src/interface/custom/IStackerLocationInfo.ts create mode 100644 wcs_web/src/interface/page/api/IApiQueryReq.ts create mode 100644 wcs_web/src/interface/page/config/IConfigSearch.ts create mode 100644 wcs_web/src/interface/page/convey/IConveyCheckStandSearch.ts create mode 100644 wcs_web/src/interface/page/convey/IConveyLocationSearch.ts create mode 100644 wcs_web/src/interface/page/convey/IConveyPickStandSearch.ts create mode 100644 wcs_web/src/interface/page/convey/IConveyTaskQuery.ts create mode 100644 wcs_web/src/interface/page/convey/IConveyTaskReportReq.ts create mode 100644 wcs_web/src/interface/page/error/IErrorBaseSearch.ts create mode 100644 wcs_web/src/interface/page/etagController/IEtagControllerQuery.ts create mode 100644 wcs_web/src/interface/page/etagLocation/IEtagLocationQuery.ts create mode 100644 wcs_web/src/interface/page/etagTag/IEtagTagQuery.ts create mode 100644 wcs_web/src/interface/page/etagTask/IEtagTaskQuery.ts create mode 100644 wcs_web/src/interface/page/fileManage/IFileNameList.ts create mode 100644 wcs_web/src/interface/page/home/ICpuDataVo.ts create mode 100644 wcs_web/src/interface/page/home/IDiskDataVo.ts create mode 100644 wcs_web/src/interface/page/home/IJvmDataVo.ts create mode 100644 wcs_web/src/interface/page/home/IMemoryDataVo.ts create mode 100644 wcs_web/src/interface/page/home/IServeDataVo.ts create mode 100644 wcs_web/src/interface/page/home/ISystemEventVo.ts create mode 100644 wcs_web/src/interface/page/home/ISystemInfoVo.ts create mode 100644 wcs_web/src/interface/page/home/ISystemNotificationVo.ts create mode 100644 wcs_web/src/interface/page/led/ILedBaseSearch.ts create mode 100644 wcs_web/src/interface/page/menu/IMenuSearch.ts create mode 100644 wcs_web/src/interface/page/plc/IPlcSearch.ts create mode 100644 wcs_web/src/interface/page/printCode/IPrintParams.ts create mode 100644 wcs_web/src/interface/page/quartz/IQuartzSearch.ts create mode 100644 wcs_web/src/interface/page/recordApi/IRecordApiRequestSearch.ts create mode 100644 wcs_web/src/interface/page/recordApi/IRecordApiResponseSearch.ts create mode 100644 wcs_web/src/interface/page/recordEquipmentSearch/IEquipmentErrorSearch.ts create mode 100644 wcs_web/src/interface/page/rocordScan/IRecordScanSearch.ts create mode 100644 wcs_web/src/interface/page/scan/IStockScanSearch.ts create mode 100644 wcs_web/src/interface/page/siemensDbManage/ISiemensDbSearch.ts create mode 100644 wcs_web/src/interface/page/stacker/IStackerRunningInfo.ts create mode 100644 wcs_web/src/interface/page/stackerLocation/IStackerLocationCreateParams.ts create mode 100644 wcs_web/src/interface/page/stackerLocation/IStackerLocationSearch.ts create mode 100644 wcs_web/src/interface/page/stockTask/IComposeTaskSearch.ts create mode 100644 wcs_web/src/interface/page/stockTask/ICourseCalculateResult.ts create mode 100644 wcs_web/src/interface/page/stockTask/IReporterTaskStatusReq.ts create mode 100644 wcs_web/src/interface/page/stockTask/ISingleTaskSearch.ts create mode 100644 wcs_web/src/interface/page/trayConvey/IConveyPlcStatus.ts create mode 100644 wcs_web/src/interface/page/trayConvey/ITrayConveyLocationSearch.ts create mode 100644 wcs_web/src/interface/page/user/IAppUserPo.ts create mode 100644 wcs_web/src/interface/page/user/ILocalUserData.ts create mode 100644 wcs_web/src/interface/page/user/ILoginResponse.ts create mode 100644 wcs_web/src/interface/page/user/ILoginUser.ts create mode 100644 wcs_web/src/interface/page/user/IPermissionResponse.ts create mode 100644 wcs_web/src/interface/page/user/IUpdateUserData.ts create mode 100644 wcs_web/src/interface/page/user/IUserSearch.ts create mode 100644 wcs_web/src/interface/page/userGroup/IGroupPermission.ts create mode 100644 wcs_web/src/interface/page/userGroup/IQueryUserGroupPermissionData.ts create mode 100644 wcs_web/src/interface/page/userGroup/IUpdatePermissionReq.ts create mode 100644 wcs_web/src/locale/en.ts create mode 100644 wcs_web/src/locale/index.ts create mode 100644 wcs_web/src/locale/zh-cn.ts create mode 100644 wcs_web/src/main.ts create mode 100644 wcs_web/src/model/charts/IBarPieLineDataItem.ts create mode 100644 wcs_web/src/model/charts/IMultilineLineDataItem.ts create mode 100644 wcs_web/src/model/table/IAppBaseDb.ts create mode 100644 wcs_web/src/model/table/IAppBaseErrorInfo.ts create mode 100644 wcs_web/src/model/table/IAppBaseLed.ts create mode 100644 wcs_web/src/model/table/IAppBaseMenu.ts create mode 100644 wcs_web/src/model/table/IAppBaseScanMethod.ts create mode 100644 wcs_web/src/model/table/IAppConfigTable.ts create mode 100644 wcs_web/src/model/table/IAppConveyCheckStand.ts create mode 100644 wcs_web/src/model/table/IAppConveyLocation.ts create mode 100644 wcs_web/src/model/table/IAppConveyPickStand.ts create mode 100644 wcs_web/src/model/table/IAppConveyTask.ts create mode 100644 wcs_web/src/model/table/IAppEtagController.ts create mode 100644 wcs_web/src/model/table/IAppEtagLocation.ts create mode 100644 wcs_web/src/model/table/IAppEtagTag.ts create mode 100644 wcs_web/src/model/table/IAppEtagTask.ts create mode 100644 wcs_web/src/model/table/IAppStockScan.ts create mode 100644 wcs_web/src/model/table/IAppTableUserGroupVo.ts create mode 100644 wcs_web/src/model/table/IAppTableUserVo.ts create mode 100644 wcs_web/src/model/table/IBaseApiData.ts create mode 100644 wcs_web/src/model/table/IComposeTaskTableData.ts create mode 100644 wcs_web/src/model/table/IEquipmentErrorVo.ts create mode 100644 wcs_web/src/model/table/IPlcTableVo.ts create mode 100644 wcs_web/src/model/table/IQuartzTableData.ts create mode 100644 wcs_web/src/model/table/IRecordApiRequestData.ts create mode 100644 wcs_web/src/model/table/IRecordApiResponseData.ts create mode 100644 wcs_web/src/model/table/IRecordScanData.ts create mode 100644 wcs_web/src/model/table/ISingleTaskTableData.ts create mode 100644 wcs_web/src/model/table/IStackerInfoTableData.ts create mode 100644 wcs_web/src/model/table/IStackerLocationTableData.ts create mode 100644 wcs_web/src/model/table/IStackerStandTableData.ts create mode 100644 wcs_web/src/model/table/ITrayConveyTableData.ts create mode 100644 wcs_web/src/plugin/formatter/ConveyLocationTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/ConveyPickStandTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/ConveyTaskStatusFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/ConveyTaskTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/ErrorBaseEquipmentTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/ErrorLevelFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/ErrorTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/EtagLocationTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/EtagTagBusinessTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/EtagTagTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/EtagTaskLightModelFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/EtagTaskStatusFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/EtagTaskTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/LedBrandFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/LedColorTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/MenuTagStyleFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/PlcTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/PrintCodeTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StackerInTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StackerLocationStatusFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StockComposeStepStatusFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StockComposeTaskStatusFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StockComposeTaskTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StockScanTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StockSingleTaskExecuteMachineFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StockSingleTaskStatusFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/StockSingleTaskTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/TrayConveyLocationTypeFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/TrueFalseTagStyleFormatter.ts create mode 100644 wcs_web/src/plugin/formatter/UserTagStyleFormatter.ts create mode 100644 wcs_web/src/router/index.ts create mode 100644 wcs_web/src/stores/app.ts create mode 100644 wcs_web/src/stores/counter.ts create mode 100644 wcs_web/src/stores/menu.ts create mode 100644 wcs_web/src/stores/tabs.ts create mode 100644 wcs_web/src/stores/user.ts create mode 100644 wcs_web/src/utils/CookieUtils.ts create mode 100644 wcs_web/src/utils/FormatterUtils.ts create mode 100644 wcs_web/src/utils/MessageUtils.ts create mode 100644 wcs_web/src/utils/StringUtils.ts create mode 100644 wcs_web/src/views/layout/HomeViewPage.vue create mode 100644 wcs_web/src/views/layout/LoginView.vue create mode 100644 wcs_web/src/views/layout/MainView.vue create mode 100644 wcs_web/src/views/layout/PrintCodePage.vue create mode 100644 wcs_web/src/views/tabs/ApiInfoManage.vue create mode 100644 wcs_web/src/views/tabs/ConfigManage.vue create mode 100644 wcs_web/src/views/tabs/ConveyCheckStand.vue create mode 100644 wcs_web/src/views/tabs/ConveyLocationManage.vue create mode 100644 wcs_web/src/views/tabs/ConveyPickStand.vue create mode 100644 wcs_web/src/views/tabs/ConveyTask.vue create mode 100644 wcs_web/src/views/tabs/ConveyTaskBak.vue create mode 100644 wcs_web/src/views/tabs/Error404View.vue create mode 100644 wcs_web/src/views/tabs/ErrorBase.vue create mode 100644 wcs_web/src/views/tabs/EtagController.vue create mode 100644 wcs_web/src/views/tabs/EtagLocation.vue create mode 100644 wcs_web/src/views/tabs/EtagTag.vue create mode 100644 wcs_web/src/views/tabs/EtagTask.vue create mode 100644 wcs_web/src/views/tabs/EtagTaskBak.vue create mode 100644 wcs_web/src/views/tabs/FileManage.vue create mode 100644 wcs_web/src/views/tabs/HomeView.vue create mode 100644 wcs_web/src/views/tabs/LedBaseManage.vue create mode 100644 wcs_web/src/views/tabs/LocalUserManage.vue create mode 100644 wcs_web/src/views/tabs/MenuManage.vue create mode 100644 wcs_web/src/views/tabs/PlcManage.vue create mode 100644 wcs_web/src/views/tabs/PrintCode.vue create mode 100644 wcs_web/src/views/tabs/QuartzManage.vue create mode 100644 wcs_web/src/views/tabs/RecordApiRequest.vue create mode 100644 wcs_web/src/views/tabs/RecordApiResponse.vue create mode 100644 wcs_web/src/views/tabs/RecordEquipmentError.vue create mode 100644 wcs_web/src/views/tabs/RecordScan.vue create mode 100644 wcs_web/src/views/tabs/SiemensDbManage.vue create mode 100644 wcs_web/src/views/tabs/StackerLocationManage.vue create mode 100644 wcs_web/src/views/tabs/StackerManage.vue create mode 100644 wcs_web/src/views/tabs/StockComposeTask.vue create mode 100644 wcs_web/src/views/tabs/StockComposeTaskBak.vue create mode 100644 wcs_web/src/views/tabs/StockScanManage.vue create mode 100644 wcs_web/src/views/tabs/StockSingleTask.vue create mode 100644 wcs_web/src/views/tabs/StockSingleTaskBak.vue create mode 100644 wcs_web/src/views/tabs/TrayConveyManage.vue create mode 100644 wcs_web/src/views/tabs/UserGroupManage.vue create mode 100644 wcs_web/src/views/tabs/UserManage.vue create mode 100644 wcs_web/tsconfig.app.json create mode 100644 wcs_web/tsconfig.json create mode 100644 wcs_web/tsconfig.node.json create mode 100644 wcs_web/vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5c37bb5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +wcs/log +wcs_web/dist +WCS系统操作手册.pdf +WCS系统系统介绍_2_2501.pdf diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..5f8cdc8 --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,32 @@ +## JAVA版本WCS说明文档 + +**项目技术栈:** + +VUE3 + SpringBoot3 + + + +**涉及知识:** + ++ html + css + ts ++ VUE3 ++ SpringBoot ++ Mybatis + Mybatis-Plus ++ redis ++ mysql8 ++ Element-Plus ++ vue-i18n + + + +**开发环境:** + +``` +node版本:V20.18.3 +npm版本:10.8.2 +jdk版本:21.0.6 +``` + +[nodejs下载(npm包含在内)](https://nodejs.cn/en/download, "nodejs下载") + +[JDK下载](https://learn.microsoft.com/zh-cn/java/openjdk/download "微软jdk下载") \ No newline at end of file diff --git a/files/PLCWCS交互协议S7.md b/files/PLCWCS交互协议S7.md new file mode 100644 index 0000000..fdba258 --- /dev/null +++ b/files/PLCWCS交互协议S7.md @@ -0,0 +1,7 @@ +### PLC/WCS交互协议 + +> 江苏菲达宝开电气股份有限公司 +> +> 版本号:S7.1.0 +> +> 更新时间:2025年12月20日 \ No newline at end of file diff --git a/files/WCS开放式接口文档.md b/files/WCS开放式接口文档.md new file mode 100644 index 0000000..d7af0ee --- /dev/null +++ b/files/WCS开放式接口文档.md @@ -0,0 +1,454 @@ +## 设备控制系统(WCS)开放式接口文档 + +> 江苏菲达宝开电气股份有限公司 +> +> 主版本号:2.0 +> +> 版本号:2.0.1 +> +> 时间:2025年6月6日 + + + +### 注意事项: + +1、所有接口请勿并发调用,高频调用可能会被系统拉黑 + +2、WCS调用上位系统时若返回值不重要或者仅上报作用时只要调用成功(HTTP响应码为 2XX)即表示调用成功,若上位系统存在异常需要重新调用请不要返回 2XX响应码 + +3、WCS部分请求若请求失败在一定时间内会重新调用, 若失败次数过多或时间过长则不再调用,请确保存在内部处理方式,不能完全依赖WCS接口 + +4、系统对于重复的数据会默认返回成功,如重复发送的任务都会返回成功 + + + +### 统一约定 + +接口形式:webapi + +数据格式:application/json + + + +### 接口统一返回 + +| 键名 | 名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ---------- | -------- | -------- | ---- | -------- | ------------------------------------------------------------ | +| code | 返回码 | int32 | 4 | 是 | 操作成功返回 200,其他为异常代码
操作成功或者操作已经成功均视为成功,需要返回成功代码 | +| message | 说明信息 | string | 255 | 是 | | +| returnData | 返回数据 | object | | 否 | 在需要返回数据的时候带出数据 | + + + +### 任务交互 + +#### 1、*WCS向上位系统申请仓储任务 + +> 客户端:`WCS` +> +> 服务端:`上位系统` +> +> 调用方式:POST +> +> 接口地址:上位系统提供 + +**使用说明:**WCS在需要申请任务时向上位系统请求,上位系统返回任务数据,只要返回结果为成功则视为成功,若不带出任务需要上位系统后续及时发送(发送接口为:上位系统向WCS发送任务)。 + +**请求参数:** + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| --------- | -------- | -------- | ---- | -------- | -------------------------- | +| requestId | 请求编号 | string | 64 | Y | 同样的请求编号视为同一请求 | +| vehicleNo | 载具编号 | string | 64 | Y | | +| location | 位置 | string | 64 | Y | | +| size | 尺寸 | int32 | | N | | +| length | 长 | int32 | | N | 计量单位以现场为准 | +| width | 宽 | int32 | | N | 计量单位以现场为准 | +| height | 高 | int32 | | N | 计量单位以现场为准 | +| weight | 重量 | int32 | | N | 计量单位以现场为准 | + +```json +{ + "requestId":"1122333", + "vehicleNo":"TP0001", + "location":"R1", + "size":1, + "length":200, + "width":150, + "height":30, + "weight":20000 +} +``` + +**响应参数:**(returnData) + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ----------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ | +| taskId | 任务号 | string | 64 | Y | | +| taskGroup | 任务组 | string | 64 | N | | +| taskType | 任务类型 | int32 | | Y | 枚举类型:
0 - 自动;
1 - 入库;
2 - 出库;
3 - 输送搬运;
9 - 移库;
自动任务请咨询我们后使用 | +| vehicleNo | 载具编号 | string | 64 | Y | WCS系统以此处返回的生成任务,不以请求的载具号 | +| origin | 起点 | string | 32 | Y | | +| destination | 终点 | string | 32 | Y | | +| priority | 优先级 | int32 | | N | 范围:0-9
默认优先级(不传时):5
数字越大优先级越高 | +| size | 尺寸 | int32 | | N | 默认:0 | +| weight | 重量 | int32 | | N | 默认:0 | +| sysName | 上位系统名称 | string | 32 | N | 固定值,请联系我们获取,任意传将无法收到任务回告 | + +```json +{ + "code":200, + "message":"SUCCESS", + "returnData":{ + "taskId":"123441123", + "taskGroup":null, + "taskType":0, + "vehicle":"TP123", + "origin":"R2", + "destination":"A1-02-03-1", + "priority":3, + "size":1, + "weight":344, + "sysName":"WMS" + } +} +``` + + + +#### 2、上位系统向WCS推送仓储任务 + +> 客户端:`上位系统` +> +> 服务端:`wcs` +> +> 调用方式:POST +> +> 接口地址:/api/pub/task/addStockTask + +**使用说明:**上位系统调用此接口向WCS推送任务数据,任务号必须唯一,若任务号在WCS系统中已经存在则WCS会返回成功。 + +**请求参数:** + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ----------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ | +| taskId | 任务号 | string | 64 | Y | 任务唯一识别号 | +| taskGroup | 任务组 | string | 64 | N | | +| taskType | 任务类型 | int32 | | Y | 枚举类型:
0 - 自动;
1 - 入库;
2 - 出库;
3 - 输送搬运;
9 - 移库;
自动任务请咨询我们后使用 | +| vehicleNo | 载具编号 | string | 64 | Y | WCS系统以此处返回的生成任务,不以请求的载具号 | +| origin | 起点 | string | 32 | Y | | +| destination | 终点 | string | 32 | Y | | +| priority | 优先级 | int32 | | N | 范围:0-9
默认优先级(不传时):5
数字越大优先级越高 | +| size | 尺寸 | int32 | | N | 默认:0 | +| weight | 重量 | int32 | | N | 默认:0 | +| sysName | 上位系统名称 | string | 32 | Y | 固定值,请联系我们获取,任意传将无法收到任务回告 | + +```json +{ + "taskId":"123441123", + "taskGroup":null, + "taskType":0, + "vehicle":"TP123", + "origin":"R2", + "destination":"A1-02-03-1", + "priority":3, + "size":1, + "weight":344, + "sysName":"WMS" + } +``` + +**响应参数:**统一响应 + + + +#### 3、*WCS上报仓储任务状态 + +> 客户端:`WCS` +> +> 服务端:`上位系统` +> +> 调用方式:POST +> +> 接口地址:上位系统提供 + +**使用说明:**WCS在任务的节点上报上位系统任务状态(只有最终任务状态会失败重试,如任务完成,任务取消等)。 + +**请求参数:** + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ----------- | -------- | -------- | ---- | -------- | ------------------------------------------------------------ | +| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 | +| taskType | 任务类型 | int32 | | Y | 枚举类型:
0 - 自动;
1 - 入库;
2 - 出库;
3 - 输送搬运;
9 - 移库; | +| taskStatus | 任务状态 | int32 | | Y | 枚举类型:
1 - 任务开始
2 - 任务完成
3 - 任务异常
4 - 任务取消
5 - 目的位置有货
6 - 起点无货 | +| destination | 任务终点 | string | 64 | N | | +| vehicleNo | 载具号 | string | 64 | Y | | +| message | 信息 | string | 255 | N | | + +```json +{ + "taskId":"123777888", + "taskType":1, + "taskStatus":3, + "destination":"A1-01-3", + "vehicle":"TP0002", + "message":"任务被设备取消" +} +``` + +**响应参数:**统一响应 + + + +#### 4、上位系统查询仓储任务详情 + +> 客户端:`上位系统` +> +> 服务端:`wcs` +> +> 调用方式:GET +> +> 接口地址:/api/pub/task/queryStockTaskDetail + +**使用说明:**上位系统可调用此接口查询仓库任务信息,注意超出仓库保存时长的数据将无法查询 + +**请求参数:**url参数 + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ------ | ------ | -------- | ---- | -------- | -------------------- | +| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 | + +```url +http://{ip}:{port}?taskId={taskId} +``` + +**响应参数:**(returnData) + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ------------ | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ | +| taskId | 任务号 | string | 64 | Y | WCS系统任务号 | +| taskGroup | 任务组 | string | 64 | Y | | +| upperTaskId | 上位任务号 | string | 64 | Y | 请求的任务号 | +| taskType | 任务类型 | int32 | | Y | 枚举类型:
0 - 自动;
1 - 入库;
2 - 出库;
3 - 输送搬运;
9 - 移库; | +| origin | 起点 | string | 64 | N | | +| destination | 终点 | string | 64 | N | | +| taskStatus | 任务状态 | int32 | | Y | 枚举类型:
0 - 待执行;
1 - 排队中;
2 - 执行中;
3 - 已完成;
4 - 已取消;
5 - 任务异常;
6 - 任务超时; | +| canCancel | 是否允许取消 | int32 | | Y | | +| priority | 优先级 | int32 | | Y | | +| vehicleNo | 载具号 | string | 64 | Y | | +| vehicleSize | 载具尺寸 | int32 | | N | | +| weight | 重量 | decimal | | N | | +| startTime | 开始时间 | date | | Y | | +| completeTime | 完成时间 | date | | N | 任务完成时间 | +| endTime | 结束时间 | date | | N | 任务结束时间,包括完成或者取消 | +| taskMsg | 任务信息 | string | 255 | N | | + + + +#### 5、上位系统要求取消仓储任务 + +> 客户端:`上位系统` +> +> 服务端:`wcs` +> +> 调用方式:DELETE +> +> 接口地址:/api/pub/task/cancelStockTask + +**使用说明:**上位系统可以在需要时取消已经下发的任务,WCS系统会综合判定是否允许取消 + +**请求参数:**url参数 + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ------ | ------ | -------- | ---- | -------- | -------------------- | +| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 | + +```url +http://{ip}:{port}?taskId={taskId} +``` + +**响应参数:**统一响应 + + + +#### 6、上位系统向WCS推送简单输送任务 + +> 客户端:`上位系统` +> +> 服务端:`wcs` +> +> 调用方式:POST +> +> 接口地址:/api/pub/task/addConveyTask + +**使用说明:** 简单输送任务一般表示为箱式线输送,即仅在关键点控制流向的任务,其余由设备自动输送 + +**请求参数:** + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| --------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ | +| taskId | 任务号 | string | 64 | Y | 任务唯一识别号 | +| taskGroup | 任务组 | string | 64 | N | | +| taskType | 任务类型 | int32 | | Y | 枚举类型:
1 - 捡选任务;
2 - 复核任务;
3 - 发货任务;
9 - 补货任务; | +| vehicleNo | 载具编号 | string | 64 | Y | | +| orderId | 订单号 | string | 32 | N | | +| location | 终点 | string | 32 | Y | | +| size | 尺寸 | string | 32 | N | | +| weight | 重量 | int32 | | N | 默认:0 | +| length | 长 | int32 | | N | 默认:0 | +| width | 宽 | int32 | | N | 默认:0 | +| height | 高 | int32 | | N | 默认:0 | +| sysName | 上位系统名称 | string | 32 | Y | 固定值,请联系我们获取,任意传将无法收到任务回告 | + +```json +{ + "taskId":"123", + "taskGroup":"334455", + "taskType":1, + "vehicleNo":"T0003", + "orderId":"009901", + "location":"A01", + "size":"-", + "weight":200, + "length":100, + "weight":150, + "height":120, + "sysName":"WMS" +} +``` + +**响应参数:**统一响应 + + + +#### 7、*WCS上报简单输送任务状态 + +> 客户端:`WCS` +> +> 服务端:`上位系统` +> +> 调用方式:POST +> +> 接口地址:上位系统提供 + +**使用说明:** WCS在简单输送任务关键节点时上报上位系统状态,如任务完成,任务超时,任务取消等 + +**请求参数:** + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| -------------- | -------- | -------- | ---- | -------- | ------------------------------------------------------------ | +| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 | +| taskType | 任务类型 | int32 | | Y | 枚举类型:
1 - 捡选任务;
2 - 复核任务;
3 - 发货任务;
4 - 补货任务; | +| taskStatus | 任务状态 | int32 | | Y | 枚举类型:
1 - 箱子到达某一点位
2 - 箱子到达目的地
3 - 任务异常
4 - 任务取消 | +| arriveLocation | 到达位置 | string | 64 | N | | +| vehicleNo | 载具号 | string | 64 | Y | | +| message | 信息 | string | 255 | N | | + +**响应参数:**统一响应 + + + +#### 8、上位系统给WCS推送电子标签任务 + +> 客户端:`上位系统` +> +> 服务端:`wcs` +> +> 调用方式:POST +> +> 接口地址:/api/pub/task/addEtagTask + +**请求参数:** + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ---------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ | +| taskGroup | 任务组 | string | 64 | N | | +| taskType | 任务类型 | int | | Y | 枚举类型:
1 - 捡货
2 - 上架
3 - 盘点
4 - 清点
5 - 其他 | +| lightModel | 点亮类型 | int | | Y | 枚举类型:
1 - 立即点亮
2 - 等待触发
根据流程确定,请与我们交流方案 | +| sysName | 上位系统名称 | string | 32 | Y | 固定值,请联系我们获取,否则将无法收到任务回告 | +| taskList | 任务数据 | list | | Y | | + +taskList:若任务中存在一个有问题,则所有任务都会判定失败 + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| --------- | -------- | -------- | ---- | -------- | -------- | +| taskId | 任务号 | string | 64 | Y | 唯一标识 | +| orderId | 订单号 | string | 64 | N | | +| location | 点位 | string | 64 | Y | | +| goodsId | 物料编号 | string | 64 | N | | +| goodsName | 物料名称 | string | 64 | N | | +| lightNum | 点亮数量 | int | | Y | | + +**请求示例:** + +```json +{ + "taskGroup":"2223336678", + "taskType":1, + "lightModel":1, + "sysName":"WMS", + "taskList":[ + { + "taskId":"12434543", + "orderId":"889088", + "location":"A02-99-12", + "goodsId":"449802", + "goodsName":"饮用水", + "lightNum":13 + } + ] +} +``` + +**响应参数:**统一响应 + + + +#### 9、*WCS上报电子标签任务完成 + +> 客户端:`WCS` +> +> 服务端:`上位系统` +> +> 调用方式:POST +> +> 接口地址:上位系统提供 + +**请求参数:** + +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| ------------- | ---------- | -------- | ---- | -------- | ---------------- | +| taskId | 任务号 | string | 64 | Y | 上位发来的任务号 | +| confirmNum | 确认的数量 | int | | Y | | +| confirmPerson | 确认人 | string | | N | | + +**响应参数:**统一响应 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/WCS系统开发手册.md b/files/WCS系统开发手册.md new file mode 100644 index 0000000..6b42ca4 --- /dev/null +++ b/files/WCS系统开发手册.md @@ -0,0 +1,7 @@ +#### WCS系统开发手册 + + + ++ 入库任务处理: + + 若起点为空则解析成单个堆垛机任务,此时若经过托盘线扫码则更新起点到组合入库任务,同时删除解析好的任务,重新解析。 \ No newline at end of file diff --git a/files/WCS系统操作手册.md b/files/WCS系统操作手册.md new file mode 100644 index 0000000..fb15518 --- /dev/null +++ b/files/WCS系统操作手册.md @@ -0,0 +1,50 @@ +## WCS系统操作手册 + +> 适用版本:V2.2501.X +> +> 江苏菲达宝开电气股份有限公司 ---- 软件设计部 +> +> 最新更新时间:2025年12月 + + + +#### 一、编写目的 + +本文件旨在帮助用户合理使用本公司提供的WCS设备控制系统(不包括其他系统即硬件设备操作)以及正确处理系统运行过程中因为各种问题而产生的异常情况,确保设备正常运行。 + + + +#### 二、面向对象 + +现场操作人员和设备维护人员。 + + + +#### 三、注意事项 + ++ 本系统设计在内网中使用,请勿将本系统端口或地址暴露在公网环境中,防止信息被窃取或丢失。 ++ 本软件仅授权此项目使用,若无书面文件授权,请勿复制、转发本项目任何文件、代码和数据等任何与本软件相关的内容。 ++ 本手册内容包括全部允许用户操作的内容,若示例截图中存在页面或者按钮未在此处介绍则表示其并不是为普通用户准备的,请勿操作相关界面或按钮。 ++ 我们针对您当前的项目会对部分界面或按钮进行隐藏,不影响您的正常使用本系统,请您直接忽略即可。 ++ 为了系统能正确运行,我们会搜集并存储您相关的数据(如库存数据,出入库数据,每天运行时长等),不过该数据仅存在于您的服务器上,未经过您的授权我们不会复制、上传您的数据。 + + + +#### 四、账户与密码 + +请您牢记您设置的账户密码,若忘记密码可联系本公司协助改密。 + +本系统和本公司WMS系统为独立产品,账户密码并不通用,请您单独使用。 + + + +#### 五、系统使用 + +##### 1、登录 + + + + + + + diff --git a/files/WCS系统系统介绍_2_2501.md b/files/WCS系统系统介绍_2_2501.md new file mode 100644 index 0000000..9b583ac --- /dev/null +++ b/files/WCS系统系统介绍_2_2501.md @@ -0,0 +1,240 @@ +## WCS设备控制系统 系统介绍 + +> 适用版本:V2.2501.X +> +> 江苏菲达宝开电气股份有限公司 +> +> 最新修订时间:2025年10月 +> +> 文档保密级别:外部公开 + +![baokaiLogo1](/Users/icewint/Pictures/develop/baokaiLogo1.png) + +#### 参考链接 + +[江苏菲达宝开电气股份有限公司官网](https://www.baokai.cn/) + +[江苏菲达宝开电气股份有限公司物流设备](https://www.baokai.cn/product/2/) + + + +### 一、引言 + +​ 本系统是由江苏菲达宝开电气股份有限公司(以下简称:本公司)自主设计研发。本文档的编写是为了便于您了解熟悉本系统的运作方式。如发现文档中存在错误,请您指正。 + + + +### 二、系统概述 + +#### 1、系统目的 + +​ 本系统为上位管理系统(WMS、ERP等,以下简称:上位系统)和硬件设备的中间系统,预留相关上位系统交互接口,负责处理上位系统任务数据,协调各设备间的接续稳定运行,为设备提供调度功能,并提供一定的数据查询,记录查询功能。 + +​ 系统为自动化生产线提供设备调度,任务处理等相关功能,能大幅提高生产效率,减少生产成本。 + +#### 2、适用的硬件设备 + +​ 箱式线设备、仓储设备(堆垛机、类堆垛机设备、托盘输送线等)、电子标签、LED显示屏 + +#### 3、适用的上位系统 + +​ 支持HTTP协议的上位系统 + +#### 4、网络架构 + +image-20260120161313401 + + + +### 三、系统架构 + +​ 系统采用B/S架构设计,使得在任何地方均可通过浏览器访问本系统*。 + +​ 系统服务端支持跨平台发布,可以运行在 windows server、常见 linux 系统中。 + +​ 系统客户端采用较友好的配色,合理的人机交互体验,支持 Edge、Chrome 等常用浏览器。 + +> \* 为了保证安全,部分设备控制相关的只能在指定的地方访问。 +> +> 系统在其他设备访问时需保证网络畅通。 + + + +### 四、系统运作方式 + +​ 系统通过后台存储的任务数据,判断各个设备的状态,计算最佳执行任务的方式。根据计算结果发送运行指令(基于 TCP/IP 协议)给设备,调度设备执行相关任务,任务完成后自动处理相关数据。 + + + +### 五、功能概述 + +> 提示:下方截图中存在的部分菜单或界面为开发者超级管理界面,您实际的系统中可能无法访问,在此不做介绍的界面对您的使用无任何影响,请您放心。本公司在项目实施过程中可能根据需要(如现场无此设备或相关需求)会屏蔽部分界面,请您悉知。 + +#### 总览 + +**登录界面** + +![image-20260120155340563](/Users/icewint/Library/Application Support/typora-user-images/image-20260120155340563.png) + +#### 登录后主页 + +![image-20260120155426264](/Users/icewint/Library/Application Support/typora-user-images/image-20260120155426264.png) + + + +#### 主页 + +​ 系统主页显示系统的基础资料和相关仓库的信息图表(仓库使用率、出入库数量,报警数量),更多图表正在添加中。 + +![image-20260120134835552](/Users/icewint/Library/Application Support/typora-user-images/image-20260120134835552.png) + + + +#### 1、基础功能 + +##### 1) 语言相关 + +​ 系统仅支持简体中文。 + +##### 2) 用户相关 + +​ 系统支持自定义用户,自定义用户组(角色),可以为每个用户组分配可以访问的界面,支持管理员重置密码,用户启用禁用等基础功能。 + +![image-20260120132644475](/Users/icewint/Library/Application Support/typora-user-images/image-20260120132644475.png) + +image-20260120132728706 + +##### 3) 系统记录相关 + +**1、外部系统交互记录** + +​ 本系统和上位系统每次交互(包括上位发送消息给本系统,本系统发送消息给上位系统)都会在本系统中存有记录,便于查询记录以及定位相关问题。 + +![image-20260120133941795](/Users/icewint/Library/Application Support/typora-user-images/image-20260120133941795.png) + +![image-20260120134003668](/Users/icewint/Library/Application Support/typora-user-images/image-20260120134003668.png) + +**2、报警记录** + +​ 对于堆垛机等大型设备的报警信息采集和记录,用户可随时查询,部分报警提供相应的处理建议。 + +![image-20260120134236809](/Users/icewint/Library/Application Support/typora-user-images/image-20260120134236809.png) + +**3、扫码记录** + +​ 系统将记录每个扫码器触发时的扫码结果,供用户查询和确定问题,若存在需要可以导出相关信息。 + +![image-20260120134546361](/Users/icewint/Library/Application Support/typora-user-images/image-20260120134546361.png) + +#### 2、仓库功能 + +##### 1) 仓库硬件相关 + +**堆垛机管理** + +​ 系统提供堆垛机状态的查询,任务参数设置(硬件参数设备层会提供),站台设置,可以开启或关闭堆垛机,调整其工作模式,设置堆垛机站台等。 + +![image-20260120150046695](/Users/icewint/Library/Application Support/typora-user-images/image-20260120150046695.png) + +![image-20260120150106819](/Users/icewint/Library/Application Support/typora-user-images/image-20260120150106819.png) + +**托盘线(带任务线体)管理** + +​ 系统监控所有需要的托盘线,控制其上载具(托盘或箱子)的运行方向,并配合其他设备(如堆垛机、AGV等)进行载具的运转与调度。用户可以手动设置参数或者查询托盘线的状态。 + +![image-20260120150433960](/Users/icewint/Library/Application Support/typora-user-images/image-20260120150433960.png) + +image-20260120150451644 + +**箱式线管理*** + +​ 设备对箱式线特殊功能点位可以进行设置,以满足当前业务需要(如和堆垛机对接等)。 + +> \* 若箱式线存在实时监控的需求,则箱式线将视为任务线体,可能会按照托盘线的逻辑管理。 + +![image-20260120151835609](/Users/icewint/Library/Application Support/typora-user-images/image-20260120151835609.png) + +image-20260120151901637 + +**扫码器管理** + +​ 系统可以自定义扫码器参数或者新增减少扫码器,便于后续扩展扫码器。若有需要,可以手动选择扫码器已经预设好的功能。 + +![image-20260120152034955](/Users/icewint/Library/Application Support/typora-user-images/image-20260120152034955.png) + +image-20260120152130333 + +##### 5) 仓库数据相关 + +**货位管理** + +​ 系统记录相关货位的状态已经当前货位的载具号,便于用户查询在库数据或控制空闲货位量,保障生产。 + +![image-20260120150742320](/Users/icewint/Library/Application Support/typora-user-images/image-20260120150742320.png) + +![image-20260120150827832](/Users/icewint/Library/Application Support/typora-user-images/image-20260120150827832.png) + +**任务管理** + +​ 系统可以手动创建或者依赖上位系统自动创建相关出入库任务并调度设备执行对应的动作。执行完成后自动上报上位系统任务状态并保存历史运行的记录供用户查询。 + +![image-20260120151529946](/Users/icewint/Library/Application Support/typora-user-images/image-20260120151529946.png) + + + +#### 3、箱式线功能 + +> 此处箱式线为输送分拨作用,不与其他设备(如堆垛机、AGV)对接,有对接功能的请参照 **仓库功能** 内的 **箱式线管理** + +**箱式线任务** + +​ 系统提供箱式线当前任务的查询、新建和编辑等功能,系统根据当前存在的任务进行箱子分拨作业。 + +​ 系统可以根据用户需要定制其他功能,如请求上位系统根据结果进行分拨、根据条码指定位数的数字进行分拨、根据条码开头或结尾不同的格式进行分拨,您可以自由选择相关模式。 + +![image-20260120152853550](/Users/icewint/Library/Application Support/typora-user-images/image-20260120152853550.png) + +**站台参数设置** + +​ 系统支持对发货口,复核口等参数进行设置,如关闭或开启相关站台。 + +![image-20260120153258331](/Users/icewint/Library/Application Support/typora-user-images/image-20260120153258331.png) + + + +#### 4、电子标签 + +**电子标签任务** + +​ 系统可以通过手动或者接收上位系统发来的任务进行电子标签任务的存储、点亮等业务。支持标签与货位一对一,一堆多等业务逻辑。捡货完成后可以根据需要与上位系统进行交互反馈捡货(播种)结果。 + +![image-20260120153641606](/Users/icewint/Library/Application Support/typora-user-images/image-20260120153641606.png) + + + +#### 5、附加功能 + +##### 1) 条码打印 + +​ 系统提供业务需要的code128码、QR码的打印功能,该功能可以不经过登录直接使用,便于现场业务开展。 + +image-20260120153932676 + +image-20260120154044866 + +##### 2) 文件下载 + +​ 系统提供当前项目的使用手册或者其他文件下载,用户登录系统可以自由下载。 + +![image-20260120154308341](/Users/icewint/Library/Application Support/typora-user-images/image-20260120154308341.png) + + + + + +**更多详情,您可以随时联系本公司销售,感谢您的支持!** + + + + + diff --git a/files/WCS网络图.drawio b/files/WCS网络图.drawio new file mode 100644 index 0000000..1aea5bd --- /dev/null +++ b/files/WCS网络图.drawio @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wcs/.gitattributes b/wcs/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/wcs/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/wcs/.gitignore b/wcs/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/wcs/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/wcs/.mvn/wrapper/maven-wrapper.properties b/wcs/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/wcs/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/wcs/db/wcs.sql b/wcs/db/wcs.sql new file mode 100644 index 0000000..6afd41e --- /dev/null +++ b/wcs/db/wcs.sql @@ -0,0 +1,9681 @@ +/* + Navicat Premium Dump SQL + + Source Server : localhost + Source Server Type : MySQL + Source Server Version : 80404 (8.4.4) + Source Host : localhost:3306 + Source Schema : wcs + + Target Server Type : MySQL + Target Server Version : 80404 (8.4.4) + File Encoding : 65001 + + Date: 09/01/2026 17:01:56 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for t_app_base_api_info +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_api_info`; +CREATE TABLE `t_app_base_api_info` ( + `api_key` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'API 键', + `api_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'API 名称', + `root_key` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '根地址键名', + `address` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '地址', + `tag` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '标记', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`api_key`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_api_info +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_api_info` (`api_key`, `api_name`, `root_key`, `address`, `tag`, `remark`) VALUES ('WMS_BASE', 'WMS根地址', NULL, 'http://106.14.189.117:18080', '-', NULL); +INSERT INTO `t_app_base_api_info` (`api_key`, `api_name`, `root_key`, `address`, `tag`, `remark`) VALUES ('WMS_CONVEY_TASK_STATUS_CALLBACK', '上报箱式线任务状态', 'WMS_BASE', '/api/test', NULL, NULL); +INSERT INTO `t_app_base_api_info` (`api_key`, `api_name`, `root_key`, `address`, `tag`, `remark`) VALUES ('WMS_LOGIN_STACKER', '注册堆垛机任务', 'WMS_BASE', ' ', NULL, NULL); +INSERT INTO `t_app_base_api_info` (`api_key`, `api_name`, `root_key`, `address`, `tag`, `remark`) VALUES ('WMS_STOCK_TASK_STATUS_CALLBACK', '上报仓储任务状态', 'WMS_BASE', '\n', NULL, '-'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_config +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_config`; +CREATE TABLE `t_app_base_config` ( + `config_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '配置键', + `config_name` varchar(64) DEFAULT NULL COMMENT '配置名称', + `config_type` int NOT NULL COMMENT '配置类型', + `immediately` int NOT NULL COMMENT '立即生效标记', + `config_value` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '配置值', + `tag_text` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '标记文本', + `client_show` int NOT NULL COMMENT '是否能被客户端搜索到', + `value_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '值类型', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_key`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_config +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('API_RECORD_SAVE_DAYS', 'API 记录保存天数', 0, 0, '180', NULL, 1, 'int32', '2025-05-15 22:43:59', '2025-05-15 22:43:57', NULL); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('COMPOSE_TASK_TIMEOUT', '任务在此时间后视为执行超时', 0, 1, '180', NULL, 1, 'int32', '2025-08-19 15:06:01', '2025-08-19 15:06:04', '单位:分钟'); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY_TASK_SAVE_DAYS', '箱式线任务记录保存天数', 0, 0, '180', NULL, 1, 'int32', '2025-05-15 22:40:36', '2025-05-15 22:40:38', NULL); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('CUSTOMER_NAME', '客户名称', 0, 0, '测试仓', NULL, 1, 'int32', '2025-05-15 23:03:22', '2025-05-17 16:30:26', '-'); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('DEVICE_ERR_ROCORD_SAVE_DAYS', '设备报警记录保存天数', 0, 1, '180', NULL, 1, 'int32', '2025-05-15 22:51:10', '2025-05-15 22:51:13', NULL); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('ETAG_TASK_SAVE_DAYS', '电子标签任务记录保存天数', 0, 0, '180', NULL, 1, 'int32', '2025-05-15 22:40:50', '2025-05-15 22:40:47', NULL); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('PLC_COMM_RECORD_SAVE_DAYS', 'PLC交互记录保存天数', 0, 0, '180', NULL, 1, 'int32', '2025-05-15 22:53:25', '2025-05-15 22:53:27', NULL); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('PLC_TASK_ID', '设备任务号序列', 0, 1, '100100', '禁止随意修改', 1, 'int32', '2024-10-29 14:51:47', '2025-06-08 15:53:03', '-'); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('SCAN_RECORD_SAVE_DAYS', '扫码记录保存天数', 0, 0, '180', NULL, 1, 'int32', '2025-05-15 22:45:32', '2025-05-15 22:45:35', NULL); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('STORAGE_TASK_SAVE_DAYS', '仓储任务记录保存天数', 0, 0, '180', NULL, 1, 'int32', '2025-05-15 22:43:44', '2025-05-15 22:43:47', NULL); +INSERT INTO `t_app_base_config` (`config_key`, `config_name`, `config_type`, `immediately`, `config_value`, `tag_text`, `client_show`, `value_type`, `create_time`, `update_time`, `remark`) VALUES ('UPKEEP_RECORD_SAVE_DAYS', '保养记录保存天数', 0, 0, '-1', NULL, 1, 'int32', '2025-05-15 22:55:22', '2025-05-15 22:55:25', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_db +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_db`; +CREATE TABLE `t_app_base_db` ( + `db_name` varchar(255) NOT NULL COMMENT 'DB名称', + `plc_id` int NOT NULL COMMENT '管辖的PLC', + `db_address` varchar(255) NOT NULL COMMENT 'DB地址', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`db_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_base_db +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_db` (`db_name`, `plc_id`, `db_address`, `remark`) VALUES ('测试DB', 4, 'DB300.100', '-'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_err_info +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_err_info`; +CREATE TABLE `t_app_base_err_info` ( + `id` varchar(64) NOT NULL COMMENT '序号', + `equipment_type` int NOT NULL COMMENT '设备类型:\n0 - 堆垛机\n1 - 托盘线\n2 - 箱式线\n4 - 小车', + `err_code` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报警编号', + `err_level` int NOT NULL COMMENT '报警等级', + `err_type` int NOT NULL COMMENT '报警类型', + `err_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报警信息', + `suggest` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '建议', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_err_info +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759325618139010000', 0, '111', 3, 2, '设备冒烟', '灭火器', '无'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759325618139010003', 2, '334', 2, 2, '紧急测试', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421224203010000', 1, '111', 2, 2, '4234', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421224203010001', 1, '222', 2, 0, '4234', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421224203010002', 3, '223', 0, 2, '小车抖动', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421224204010000', 1, '334', 2, 2, '4234', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421233709010000', 1, '111', 1, 1, '4234', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421233709010001', 1, '222', 2, 2, '4234', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421233709010002', 1, '223', 2, 2, '4234', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('1759421233709010003', 1, '334', 1, 1, '4234', '423424', '423423'); +INSERT INTO `t_app_base_err_info` (`id`, `equipment_type`, `err_code`, `err_level`, `err_type`, `err_msg`, `suggest`, `remark`) VALUES ('2312312', 1, '101', 2, 2, '测试', '不管', '-'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_group_permission +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_group_permission`; +CREATE TABLE `t_app_base_group_permission` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键', + `user_group` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户组', + `create_user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '添加权限的人', + `menu_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '菜单ID', + `create_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_group_permission +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1231231223423423434', 'ug-developer', 'developer', '05-7', '2025-10-08 08:46:25'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1231231242342342342', 'ug-developer', 'developer', '10-2', '2025-10-29 21:33:58'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('123234234234234546', 'ug-developer', 'developer', '05-8', '2025-11-01 21:45:57'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478888010000', 'ug-conveyAdmin', 'developer', '01-1', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010000', 'ug-conveyAdmin', 'developer', '01-2', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010001', 'ug-conveyAdmin', 'developer', '01-3', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010002', 'ug-conveyAdmin', 'developer', '01-4', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010003', 'ug-conveyAdmin', 'developer', '05-1', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010004', 'ug-conveyAdmin', 'developer', '06-1', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010005', 'ug-conveyAdmin', 'developer', '06-2', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010006', 'ug-conveyAdmin', 'developer', '06-3', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010007', 'ug-conveyAdmin', 'developer', '06-4', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010008', 'ug-conveyAdmin', 'developer', '06-5', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010009', 'ug-conveyAdmin', 'developer', '06-6', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010010', 'ug-conveyAdmin', 'developer', '07-1', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010011', 'ug-conveyAdmin', 'developer', '07-3', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010012', 'ug-conveyAdmin', 'developer', '07-4', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010013', 'ug-conveyAdmin', 'developer', '08-1', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010014', 'ug-conveyAdmin', 'developer', '08-2', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010015', 'ug-conveyAdmin', 'developer', '08-3', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747114478889010016', 'ug-conveyAdmin', 'developer', '09-1', '2025-05-13 13:34:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724272010000', 'ug-developer', 'developer', '01-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010000', 'ug-developer', 'developer', '01-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010001', 'ug-developer', 'developer', '01-3', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010002', 'ug-developer', 'developer', '01-4', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010003', 'ug-developer', 'developer', '02-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010004', 'ug-developer', 'developer', '02-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010005', 'ug-developer', 'developer', '02-3', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010006', 'ug-developer', 'developer', '02-4', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010007', 'ug-developer', 'developer', '02-5', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010008', 'ug-developer', 'developer', '03-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010009', 'ug-developer', 'developer', '03-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010010', 'ug-developer', 'developer', '04-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010011', 'ug-developer', 'developer', '04-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010012', 'ug-developer', 'developer', '05-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010013', 'ug-developer', 'developer', '05-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010014', 'ug-developer', 'developer', '05-3', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010015', 'ug-developer', 'developer', '05-4', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010016', 'ug-developer', 'developer', '06-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010017', 'ug-developer', 'developer', '06-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010018', 'ug-developer', 'developer', '06-3', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010019', 'ug-developer', 'developer', '06-4', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010020', 'ug-developer', 'developer', '06-5', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010021', 'ug-developer', 'developer', '06-6', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010022', 'ug-developer', 'developer', '07-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010023', 'ug-developer', 'developer', '07-3', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010024', 'ug-developer', 'developer', '07-4', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724273010025', 'ug-developer', 'developer', '08-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010000', 'ug-developer', 'developer', '08-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010001', 'ug-developer', 'developer', '09-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010002', 'ug-developer', 'developer', '09-2', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010003', 'ug-developer', 'developer', '09-3', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010004', 'ug-developer', 'developer', '09-4', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010005', 'ug-developer', 'developer', '10-1', '2025-05-17 16:48:44'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010006', 'ug-developer', 'developer', '05-5', '2025-08-04 13:39:29'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010007', 'ug-developer', 'developer', '05-6', '2025-08-04 13:39:29'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1747471724274010008', 'ug-developer', 'developer', '01-5', '2025-09-22 08:51:59'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759378010000', 'ug-Admin', 'developer', '03-1', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759381010000', 'ug-Admin', 'developer', '03-2', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759381010001', 'ug-Admin', 'developer', '04-1', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759381010002', 'ug-Admin', 'developer', '04-2', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759381010003', 'ug-Admin', 'developer', '05-1', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759381010004', 'ug-Admin', 'developer', '05-2', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759381010005', 'ug-Admin', 'developer', '05-3', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010000', 'ug-Admin', 'developer', '05-4', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010001', 'ug-Admin', 'developer', '05-5', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010002', 'ug-Admin', 'developer', '05-6', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010003', 'ug-Admin', 'developer', '06-1', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010004', 'ug-Admin', 'developer', '06-2', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010005', 'ug-Admin', 'developer', '06-6', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010006', 'ug-Admin', 'developer', '07-1', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010007', 'ug-Admin', 'developer', '07-3', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010008', 'ug-Admin', 'developer', '07-4', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010009', 'ug-Admin', 'developer', '09-1', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010010', 'ug-Admin', 'developer', '09-2', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010011', 'ug-Admin', 'developer', '09-3', '2025-09-02 14:32:39'); +INSERT INTO `t_app_base_group_permission` (`id`, `user_group`, `create_user`, `menu_id`, `create_time`) VALUES ('1756794759382010012', 'ug-Admin', 'developer', '09-4', '2025-09-02 14:32:39'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_led +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_led`; +CREATE TABLE `t_app_base_led` ( + `id` varchar(64) NOT NULL COMMENT '主键', + `led_ip` varchar(64) NOT NULL COMMENT 'led屏IP', + `led_brand` int NOT NULL COMMENT 'led屏品牌', + `height` int NOT NULL COMMENT '高度', + `width` int NOT NULL COMMENT '宽度', + `color_type` int NOT NULL COMMENT '颜色模式', + `location` varchar(64) DEFAULT NULL COMMENT '绑定的位置', + `is_external` int NOT NULL COMMENT '是否外部\n0 - WCS控制;1 - 外部系统控制', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_base_led +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_led` (`id`, `led_ip`, `led_brand`, `height`, `width`, `color_type`, `location`, `is_external`, `remark`) VALUES ('1759994462359010000', '192.168.103.54', 0, 64, 192, 1, '333', 0, NULL); +INSERT INTO `t_app_base_led` (`id`, `led_ip`, `led_brand`, `height`, `width`, `color_type`, `location`, `is_external`, `remark`) VALUES ('1759994477973010000', '192.168.103.54', 0, 64, 192, 2, '201', 1, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_maintenance_info +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_maintenance_info`; +CREATE TABLE `t_app_base_maintenance_info` ( + `maintenance_no` int NOT NULL COMMENT '保养编号', + `maintenance_period` int NOT NULL COMMENT '保养周期', + `last_time` datetime NOT NULL COMMENT '上次保养时间', + `next_time` datetime NOT NULL COMMENT '下次保养时间', + `maintenance_msg` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '保养信息', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`maintenance_no`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_maintenance_info +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_menu +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_menu`; +CREATE TABLE `t_app_base_menu` ( + `menu_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '菜单ID', + `menu_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '菜单名称', + `menu_level` int NOT NULL COMMENT '菜单等级', + `father_menu_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '父菜单ID', + `menu_status` int NOT NULL COMMENT '菜单状态', + `menu_ico` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '菜单图标', + `router_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '路由名称', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`menu_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_menu +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('01', '箱式线综合管理', 1, NULL, 1, 'CreditCard', NULL, '2024-10-31 12:22:16', '2025-04-25 13:25:08'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('01-1', '当前箱线任务', 2, '01', 1, NULL, 'conveyTask', '2025-09-16 11:37:43', '2025-09-17 22:25:44'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('01-2', '历史箱线任务', 2, '01', 1, NULL, 'conveyTaskBak', '2025-09-16 11:37:55', '2025-09-19 16:33:19'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('01-3', '复核台设置', 2, '01', 1, NULL, 'conveyCheckStand', '2024-10-31 12:25:07', '2025-11-18 14:47:31'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('01-4', '发货口设置', 2, '01', 1, NULL, NULL, '2024-10-31 12:25:30', '2024-10-31 12:25:33'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('01-5', '捡货站台配置', 2, '01', 1, NULL, 'conveyPickStand', '2025-09-22 08:51:09', '2025-09-24 13:58:16'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('02', '电子标签综合管理', 1, NULL, 1, 'Pointer', NULL, '2024-10-31 12:26:24', '2024-10-31 12:26:26'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('02-1', '当前标签任务', 2, '02', 1, NULL, 'etagTask', '2024-10-31 12:26:47', '2025-09-17 22:26:02'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('02-2', '历史标签任务', 2, '02', 1, NULL, NULL, '2024-10-31 12:27:11', '2025-09-17 22:26:11'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('02-3', '控制器管理', 2, '02', 1, NULL, 'etagController', '2024-10-31 12:27:32', '2025-11-03 14:26:34'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('02-4', '标签ID管理', 2, '02', 1, NULL, 'etagTag', '2024-10-31 12:27:54', '2025-11-12 15:46:42'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('02-5', '电子标签货位管理', 2, '02', 1, NULL, 'etagLocation', '2024-10-31 12:28:12', '2025-12-23 13:10:30'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('03', '仓储组合任务', 1, NULL, 1, 'MessageBox', NULL, '2024-10-31 12:28:35', '2025-09-01 12:57:22'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('03-1', '当前任务(组合)', 2, '03', 1, NULL, 'stockComposeTask', '2024-10-31 12:28:56', '2025-09-01 12:57:27'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('03-2', '历史任务(组合)', 2, '03', 1, NULL, 'stockComposeTaskBak', '2024-10-31 12:29:14', '2025-09-01 12:57:32'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('04', '仓储独立任务', 1, NULL, 1, 'Guide', NULL, '2024-10-31 12:31:11', '2025-09-01 12:57:15'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('04-1', '当前任务(独立)', 2, '04', 1, NULL, 'stockSingleTask', '2024-10-31 12:31:31', '2025-09-01 12:57:40'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('04-2', '历史任务(独立)', 2, '04', 1, NULL, 'stockSingleTaskBak', '2024-10-31 12:31:47', '2025-09-02 14:40:51'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05', '设备及点位管理', 1, NULL, 1, 'Star', NULL, '2025-05-05 15:29:19', '2025-05-10 09:11:58'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-1', 'PLC 管理', 2, '05', 1, NULL, 'plcManage', '2024-10-31 12:25:56', '2025-05-29 08:48:39'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-2', '堆垛机设备管理', 2, '05', 1, NULL, 'stackerManage', '2025-05-05 15:30:00', '2025-05-29 16:22:57'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-3', '托盘线设备管理', 2, '05', 1, NULL, 'trayConveyManage', '2025-05-05 15:30:58', '2025-08-03 10:12:27'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-4', '仓库货位管理', 2, '05', 1, NULL, 'stackerLocationManage', '2024-10-31 12:30:07', '2025-06-03 14:31:58'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-5', '输送线点位管理', 2, '05', 1, NULL, 'conveyLocationManage', '2025-08-04 13:38:31', '2025-08-04 21:54:50'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-6', '扫码点位管理', 2, '05', 1, NULL, 'stockScanManage', '2025-08-05 13:09:35', '2025-08-11 12:18:41'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-7', 'LED屏管理', 2, '05', 1, NULL, 'ledManage', '2025-10-08 08:45:35', '2025-10-09 13:23:16'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('05-8', '西门子DB管理', 2, '05', 1, NULL, 'siemensDbManage', '2025-11-01 21:45:15', '2025-11-01 21:58:29'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('06', '系统记录', 1, NULL, 1, 'Notebook', NULL, '2024-10-31 12:33:07', '2024-10-31 12:33:10'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('06-1', 'API 请求记录', 2, '06', 1, NULL, 'recordApiRequest', '2024-10-31 12:33:25', '2025-09-01 19:48:02'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('06-2', 'API 接收记录', 2, '06', 1, NULL, 'recordApiResponse', '2024-10-31 12:33:41', '2025-09-02 13:40:28'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('06-3', '设备报警记录', 2, '06', 1, NULL, 'equipmentError', '2024-10-31 12:33:58', '2025-10-04 14:05:31'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('06-4', '保养记录', 2, '06', 1, NULL, NULL, '2024-10-31 12:34:18', '2024-10-31 12:34:21'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('06-5', 'PLC 交互记录', 2, '06', 1, NULL, NULL, '2024-10-31 12:34:37', '2024-10-31 12:34:40'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('06-6', '扫码记录', 2, '06', 1, NULL, 'recordScan', '2024-10-31 12:23:38', '2025-09-01 13:34:54'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('07', '账户管理', 1, NULL, 1, 'User', NULL, '2024-10-31 12:37:18', '2024-10-31 12:37:21'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('07-1', '我的账户', 2, '07', 1, NULL, 'localUserManage', '2024-10-31 12:37:38', '2025-05-13 14:19:44'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('07-3', '用户管理', 2, '07', 1, NULL, 'userManage', '2024-10-31 12:38:17', '2025-04-25 14:26:17'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('07-4', '用户组及权限管理', 2, '07', 1, '', 'userGroupManage', '2024-10-31 12:38:36', '2024-10-31 12:38:38'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('08', '基础资料', 1, NULL, 1, 'Coin', NULL, '2024-10-31 12:39:25', '2024-10-31 12:39:27'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('08-1', '报警信息', 2, '08', 1, NULL, 'baseError', '2024-10-31 12:39:44', '2025-09-28 15:07:46'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('08-2', '保养信息', 2, '08', 1, NULL, NULL, '2024-10-31 12:40:01', '2024-10-31 12:40:03'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('09', '系统配置', 1, NULL, 1, 'Cpu', NULL, '2024-10-31 12:40:42', '2024-10-31 12:40:44'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('09-1', '系统配置', 2, '09', 1, NULL, 'configManage', '2024-10-31 12:41:01', '2025-05-14 21:26:58'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('09-2', '菜单管理', 2, '09', 1, NULL, 'menuManage', '2025-04-21 10:13:55', '2025-04-21 10:13:59'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('09-3', 'API 地址配置', 2, '09', 1, NULL, 'apiInfoManage', '2024-10-31 12:40:21', '2025-09-05 11:04:55'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('09-4', '定时任务配置', 2, '09', 1, NULL, 'quartzManage', '2025-05-17 16:33:24', '2025-05-20 09:18:01'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('10', '附加功能', 1, NULL, 1, 'TakeawayBox', NULL, '2024-10-31 12:41:18', '2024-10-31 12:41:21'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('10-1', '条码打印', 2, '10', 1, NULL, 'printCode', '2024-10-31 12:41:36', '2025-09-06 20:49:39'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('10-2', '文件管理', 2, '10', 1, NULL, 'fileManage', '2025-10-29 21:33:24', '2025-10-30 11:18:19'); +INSERT INTO `t_app_base_menu` (`menu_id`, `menu_name`, `menu_level`, `father_menu_id`, `menu_status`, `menu_ico`, `router_name`, `create_time`, `update_time`) VALUES ('99', '客户定制', 1, NULL, 0, 'Star', NULL, '2024-12-17 16:24:21', '2024-12-17 16:24:23'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_plc +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_plc`; +CREATE TABLE `t_app_base_plc` ( + `plc_id` int NOT NULL COMMENT 'PLC ID', + `plc_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'PLC名称', + `plc_type` int NOT NULL COMMENT 'PLC型号:\n1-西门子', + `plc_version` varchar(64) DEFAULT NULL COMMENT 'plc版本', + `plc_status` int NOT NULL COMMENT '状态', + `ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'PLC IP地址', + `port` int NOT NULL COMMENT 'PLC端口', + `slot` int DEFAULT NULL COMMENT '插槽', + `rack` int DEFAULT NULL COMMENT '机架', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`plc_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_plc +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_plc` (`plc_id`, `plc_name`, `plc_type`, `plc_version`, `plc_status`, `ip`, `port`, `slot`, `rack`, `create_time`, `update_time`, `remark`) VALUES (1, '箱式线PLC测试', 1, '1200', 0, '192.168.110.241', 103, 1, 0, '2024-12-20 10:07:46', '2025-05-29 14:54:47', '测试修改'); +INSERT INTO `t_app_base_plc` (`plc_id`, `plc_name`, `plc_type`, `plc_version`, `plc_status`, `ip`, `port`, `slot`, `rack`, `create_time`, `update_time`, `remark`) VALUES (2, '堆垛机0号', 1, '1200', 1, '192.168.0.20', 102, 1, 0, '2025-05-29 15:06:33', '2025-05-29 15:06:33', 'ss'); +INSERT INTO `t_app_base_plc` (`plc_id`, `plc_name`, `plc_type`, `plc_version`, `plc_status`, `ip`, `port`, `slot`, `rack`, `create_time`, `update_time`, `remark`) VALUES (3, '堆垛机2号', 1, '1500', 1, '192.168.101.10', 102, 1, 0, '2025-05-29 13:58:02', '2025-05-29 13:58:02', '测试添加'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_scan_method +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_scan_method`; +CREATE TABLE `t_app_base_scan_method` ( + `method_id` varchar(64) NOT NULL COMMENT '方法ID', + `method_name` varchar(64) NOT NULL COMMENT '方法名称', + `method_msg` varchar(255) DEFAULT NULL COMMENT '方法信息', + `param1_desc` varchar(255) DEFAULT NULL COMMENT '参数1描述', + `param2_desc` varchar(255) DEFAULT NULL COMMENT '参数2描述', + `param3_desc` varchar(255) DEFAULT NULL COMMENT '参数3描述', + PRIMARY KEY (`method_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_base_scan_method +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_scan_method` (`method_id`, `method_name`, `method_msg`, `param1_desc`, `param2_desc`, `param3_desc`) VALUES ('CONVEY_PICK_CHECK', '箱式线捡选任务检测', '检查是否存在箱式线捡选任务,若没有则给异常', NULL, NULL, NULL); +INSERT INTO `t_app_base_scan_method` (`method_id`, `method_name`, `method_msg`, `param1_desc`, `param2_desc`, `param3_desc`) VALUES ('CONVEY_PICK_TASK', '箱式线捡选任务检测', '检测是否存在某些站台的任务,若没有就给异常', '需要检测是否存在任务的站台,若有多个用分号隔开', NULL, NULL); +INSERT INTO `t_app_base_scan_method` (`method_id`, `method_name`, `method_msg`, `param1_desc`, `param2_desc`, `param3_desc`) VALUES ('CONVEY_PICK_TASK_AREA', '箱式线捡选任务检测', '检测是否存在某些站台的任务,若没有在检查是否存在其他区域的任务,若有就给环线运行,若都没有就给异常', '需要检测是否存在任务的站台,若有多个用分号隔开', '需要检测是否存在任务的其他站台,若有多个用分号隔开', NULL); +INSERT INTO `t_app_base_scan_method` (`method_id`, `method_name`, `method_msg`, `param1_desc`, `param2_desc`, `param3_desc`) VALUES ('LOGIN_STACKER', '堆垛机任务注册,若存在任务则不注册', '注册任务时仅判断是否成功,若有任务返回则生成任务,没有则不生成,可后续发送', '要请求的上位系统名称,注意此名称会拼接成apikey必须和API基础资料里的apiKey相同', NULL, NULL); +INSERT INTO `t_app_base_scan_method` (`method_id`, `method_name`, `method_msg`, `param1_desc`, `param2_desc`, `param3_desc`) VALUES ('LOGIN_STACKER_SEED', '堆垛机任务注册,注册完后根据结果分堆垛机', '注册任务时会处理其返回值,并分配载具去对应的堆垛机', '要请求的上位系统名称,注意此名称会拼接成apikey必须和API基础资料里的apiKey相同', '发生异常时给PLC的值,注意格式:int16', NULL); +INSERT INTO `t_app_base_scan_method` (`method_id`, `method_name`, `method_msg`, `param1_desc`, `param2_desc`, `param3_desc`) VALUES ('STACKER_CHECK', '堆垛机任务检测', '检查是否存在堆垛机任务,若没有则给异常', NULL, NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_user +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_user`; +CREATE TABLE `t_app_base_user` ( + `user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户ID', + `user_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名称', + `user_pwd` char(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', + `user_status` int NOT NULL COMMENT '账户状态', + `user_level` int NOT NULL DEFAULT '0' COMMENT '用户级别', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `user_group` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户组', + `sex` int NOT NULL DEFAULT '0' COMMENT '用户性别', + `photo` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '照片、头像', + `last_login_time` datetime DEFAULT NULL COMMENT '上次登录时间', + PRIMARY KEY (`user_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_user +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_user` (`user_id`, `user_name`, `user_pwd`, `user_status`, `user_level`, `create_time`, `update_time`, `user_group`, `sex`, `photo`, `last_login_time`) VALUES ('admin', '管理员', '7MQZUEZJDUWWZ9XTEVTBGWFYEDKWVZU7HMF4PSP6L6QCCQVICCVQEBFTAN31XGMW9RNXRYYYK7J8BCOW34PWTW0YDDESA9XF6SLEA6XRSQZW3XCTWMIPMTFJ3TWMSNJQLEBO2HBD2JR2D6ZIQZY1JGLHGR0ZV8CKON5RTZZ9CNWOMWOWL7TLKHDVJ6LENHNAMK1DWZKZSFOI1LA4LXYDGDEQOJDVQ8YKBZM5E3ZLIQNLGRXRNNUA8KW40HEU8YG', 1, 3, '2025-09-02 14:31:38', '2026-01-08 13:28:09', 'ug-Admin', 0, NULL, '2026-01-08 13:28:09'); +INSERT INTO `t_app_base_user` (`user_id`, `user_name`, `user_pwd`, `user_status`, `user_level`, `create_time`, `update_time`, `user_group`, `sex`, `photo`, `last_login_time`) VALUES ('dev', '无所不能的开发者', 'Z4MVQYYWJ1ECCBSFLIWOG2CN7ZSLZRFGUWYLKF9ZXYWY6H4RHHGRKZ8XG2KZ6HDLQOBIW7QDMJZBFSIC1QUD65GZZVGUQXP4EY1UUOWRZHCQD7CKAGNYHRV3DSV1Y53NZWHIRAXXKXGADI426LFIDFGG7Z6XLV3HYRMBEY5QK22WZUX0WZT9E9Y7PCX5TMASWP9S4RKXGYOBYMNOT2JYGQM7MGOYAAMHP3NT3WISD2NQZ8JLFTVE70AIAUFJEGO', 1, 4, '2024-10-31 12:42:23', '2026-01-08 14:05:11', 'ug-developer', 0, NULL, '2026-01-08 14:05:11'); +INSERT INTO `t_app_base_user` (`user_id`, `user_name`, `user_pwd`, `user_status`, `user_level`, `create_time`, `update_time`, `user_group`, `sex`, `photo`, `last_login_time`) VALUES ('test', '测试账号', 'test', 4, 1, '2025-05-07 22:00:20', '2025-05-13 14:17:25', 'ug-developer', 1, NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_base_user_group +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_base_user_group`; +CREATE TABLE `t_app_base_user_group` ( + `user_group` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户组ID', + `group_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户组名称', + `group_level` int NOT NULL COMMENT '用户组级别', + `group_status` int NOT NULL COMMENT '用户组状态', + `show_user_level` int NOT NULL DEFAULT '0' COMMENT '能够搜索到这条记录需要的用户级别', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`user_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_base_user_group +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_base_user_group` (`user_group`, `group_name`, `group_level`, `group_status`, `show_user_level`, `create_time`, `update_time`) VALUES ('ug-Admin', '超级管理员', 900, 1, 0, '2025-09-02 14:30:54', '2025-09-02 14:30:54'); +INSERT INTO `t_app_base_user_group` (`user_group`, `group_name`, `group_level`, `group_status`, `show_user_level`, `create_time`, `update_time`) VALUES ('ug-conveyAdmin', '箱式线管理员', 800, 1, 0, '2025-05-13 13:31:22', '2025-05-13 13:31:22'); +INSERT INTO `t_app_base_user_group` (`user_group`, `group_name`, `group_level`, `group_status`, `show_user_level`, `create_time`, `update_time`) VALUES ('ug-developer', '开发者', 999, 1, 1, '2024-10-31 12:44:32', '2024-10-31 12:44:34'); +INSERT INTO `t_app_base_user_group` (`user_group`, `group_name`, `group_level`, `group_status`, `show_user_level`, `create_time`, `update_time`) VALUES ('ug-test', '测试用户组', 700, 0, 0, '2025-05-10 13:25:41', '2025-05-13 13:07:44'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_convey_check_stand +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_convey_check_stand`; +CREATE TABLE `t_app_convey_check_stand` ( + `stand_id` varchar(64) NOT NULL COMMENT '站台号', + `stand_name` varchar(64) DEFAULT NULL COMMENT '站台名称', + `plc_id` int NOT NULL COMMENT '管辖的PLC', + `area_id` varchar(64) NOT NULL DEFAULT '-' COMMENT '区域号', + `stand_status` int NOT NULL COMMENT '站台状态', + `router` int NOT NULL DEFAULT '0' COMMENT '路向', + `read_arrive_address` varchar(32) DEFAULT NULL COMMENT '读取到达数据地址', + `write_task_address` varchar(32) DEFAULT NULL COMMENT '写入任务地址', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`stand_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_convey_check_stand +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_convey_check_stand` (`stand_id`, `stand_name`, `plc_id`, `area_id`, `stand_status`, `router`, `read_arrive_address`, `write_task_address`, `remark`) VALUES ('CHECK_1', '复核台1', 1, '-', 1, 1, 'DB300.23', 'DB301.33', 'wu'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_convey_location +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_convey_location`; +CREATE TABLE `t_app_convey_location` ( + `location_id` varchar(64) NOT NULL COMMENT '点位号', + `business_location_id` varchar(64) NOT NULL COMMENT '业务点位号', + `location_name` varchar(64) NOT NULL COMMENT '点位名称', + `location_type` int NOT NULL COMMENT '点位类型', + `location_status` int NOT NULL COMMENT '点位状态', + `location_router` int NOT NULL COMMENT '点位路向,仅允许 int16', + `area_id` varchar(64) NOT NULL COMMENT '所属区域', + `plc_id` int NOT NULL COMMENT '所属PLC', + `read_status_address` varchar(64) DEFAULT NULL COMMENT '读取状态地址', + `write_task_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '写入任务地址', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`location_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_convey_location +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY1', 'CONVEY1', 'CONVEY1号站台', 1, 1, 1, 'CONVEY_AREA_1', 1, 'DB100.3', 'DB101.3', '2025-08-05 10:10:50', '2025-08-05 10:10:50', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY10', 'CONVEY10', 'CONVEY10号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:33', '2025-08-05 10:11:33', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY11', 'CONVEY11', 'CONVEY11号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:39', '2025-08-05 10:11:39', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY2', 'CONVEY2', 'CONVEY2号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:10:55', '2025-08-05 10:10:55', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY3', 'CONVEY3', 'CONVEY3号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:10:59', '2025-08-05 10:10:59', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY4', 'CONVEY4', 'CONVEY4号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:04', '2025-08-05 10:11:04', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY5', 'CONVEY5', 'CONVEY5号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:09', '2025-08-05 10:11:09', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY6', 'CONVEY6', 'CONVEY6号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:14', '2025-08-05 10:11:14', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY7', 'CONVEY7', 'CONVEY7号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:18', '2025-08-05 10:11:18', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY8', 'CONVEY8', 'CONVEY8号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:23', '2025-08-05 10:11:23', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CONVEY9', 'CONVEY9', 'CONVEY9号站台', 0, 1, 1, 'CONVEY_AREA_1', 1, NULL, NULL, '2025-08-05 10:11:28', '2025-08-05 10:11:28', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CT3', 'CT3', 'CT3号站台', 3, 1, 1, 'CHECK_AREA_1', 1, NULL, NULL, '2025-08-05 10:10:08', '2025-08-05 10:10:08', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('CT4', 'CT4', 'CT4号站台', 4, 0, 1, 'CHECK_AREA_1', 1, NULL, NULL, '2025-08-05 10:10:22', '2025-08-05 10:10:22', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('P1', 'P1', 'P1捡选台', 3, 1, 1, 'PICK_AREA_1', 1, '', '', '2025-08-04 22:19:05', '2025-08-04 22:19:07', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('P2', 'P2', 'P2号站台', 0, 1, 1, 'PICK_AREA_1', 1, NULL, NULL, '2025-08-05 10:09:38', '2025-08-05 10:09:38', NULL); +INSERT INTO `t_app_convey_location` (`location_id`, `business_location_id`, `location_name`, `location_type`, `location_status`, `location_router`, `area_id`, `plc_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('P3', 'P3', 'P3号站台', 3, 1, 1, 'PICK_AREA_1', 1, NULL, NULL, '2025-08-05 10:09:51', '2025-08-05 10:09:51', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_convey_pick_stand +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_convey_pick_stand`; +CREATE TABLE `t_app_convey_pick_stand` ( + `stand_id` varchar(64) NOT NULL COMMENT '站台号', + `stand_name` varchar(64) DEFAULT NULL COMMENT '站台名称', + `plc_id` int NOT NULL COMMENT '管辖的PLC', + `area_id` varchar(64) NOT NULL DEFAULT '-' COMMENT '区域号', + `stand_status` int NOT NULL COMMENT '站台状态', + `stand_type` int NOT NULL COMMENT '站台类型', + `router` int NOT NULL DEFAULT '0' COMMENT '路向', + `read_arrive_address` varchar(32) DEFAULT NULL COMMENT '读取到达数据地址', + `write_task_address` varchar(32) DEFAULT NULL COMMENT '写入任务地址', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`stand_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_convey_pick_stand +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_convey_pick_stand` (`stand_id`, `stand_name`, `plc_id`, `area_id`, `stand_status`, `stand_type`, `router`, `read_arrive_address`, `write_task_address`, `remark`) VALUES ('P01', '捡货站台01', 1, 'P', 1, 1, 0, 'DB300.0', 'DB301.0', '测试'); +INSERT INTO `t_app_convey_pick_stand` (`stand_id`, `stand_name`, `plc_id`, `area_id`, `stand_status`, `stand_type`, `router`, `read_arrive_address`, `write_task_address`, `remark`) VALUES ('P02', '捡货2', 3, 'R', 0, 0, 1, NULL, NULL, '测绘'); +INSERT INTO `t_app_convey_pick_stand` (`stand_id`, `stand_name`, `plc_id`, `area_id`, `stand_status`, `stand_type`, `router`, `read_arrive_address`, `write_task_address`, `remark`) VALUES ('P3', '捡选站台2', 1, 'A1', 1, 0, 1, '555', '', ''); +INSERT INTO `t_app_convey_pick_stand` (`stand_id`, `stand_name`, `plc_id`, `area_id`, `stand_status`, `stand_type`, `router`, `read_arrive_address`, `write_task_address`, `remark`) VALUES ('P5', '捡选站台5', 1, 'A1', 1, 1, 1, '5675', '7575', '沿途与他'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_convey_task +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_convey_task`; +CREATE TABLE `t_app_convey_task` ( + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务号', + `task_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务组', + `task_type` int NOT NULL COMMENT '任务类型:\n1 - 捡选;\n2 - 复核;\n3 - 发货;\n4 - 补货;', + `vehicle_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '订单号', + `location` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '目的位置', + `size` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '尺寸', + `weight` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '重量', + `length` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '长', + `width` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '宽', + `height` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '高', + `task_status` int NOT NULL COMMENT '任务状态:\n0 - 新创建;\n1 - 已打印;\n2 - 输送中;\n3 - 已到达;\n4 - 任务异常;\n5 - 任务超时;\n6 - 任务取消;', + `task_source` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务来源', + `create_person` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `plc_id` int NOT NULL COMMENT 'plc 任务号', + `arrive_location` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '到达位置', + `arrive_time` datetime DEFAULT NULL COMMENT '到达时间', + `complete_time` datetime DEFAULT NULL COMMENT '完成时间', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_convey_task +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_convey_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1735021962748010000', '78412W24122300002', 1, 'SF1649488540362', '78412S230314000006', '-', 'DTT05', 12.6400, 0.0000, 0.0000, 0.0000, 3, 'WMS', 'WMS', '2024-12-24 14:32:43', '2025-09-19 12:33:27', 113973, '101', '2025-09-17 17:03:12', '2025-09-19 12:33:27', '用户:developer 完成任务,到达位置:101'); +INSERT INTO `t_app_convey_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1735021962760010000', '78412W24122300002', 1, 'SF1613717093943', '78412S230314000009', '', 'DTT11', 2.2200, 0.0000, 0.0000, 0.0000, 6, 'WMS', 'WMS', '2024-12-24 14:32:43', '2025-09-19 12:33:40', 113974, NULL, NULL, '2025-09-19 12:33:40', '用户:developer 取消任务'); +INSERT INTO `t_app_convey_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1758118835311010000', '1758118835311010000', 1, 'BOX0001', NULL, 'A01-09', '0', 0.0000, 0.0000, 0.0000, 0.0000, 0, 'WCS', 'developer', '2025-09-17 22:20:35', '2025-09-17 22:20:35', 100007, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_convey_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1758119005329010000', '1758119005329010000', 2, 'B0003', NULL, 'FH01', '0', 0.0000, 0.0000, 0.0000, 0.0000, 0, 'WCS', 'developer', '2025-09-17 22:23:25', '2025-09-17 22:23:25', 100008, NULL, NULL, NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_convey_task_bak +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_convey_task_bak`; +CREATE TABLE `t_app_convey_task_bak` ( + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务号', + `task_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务组', + `task_type` int NOT NULL COMMENT '任务类型', + `vehicle_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '订单号', + `location` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '目的位置', + `size` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '尺寸', + `weight` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '重量', + `length` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '长', + `width` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '宽', + `height` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '高', + `task_status` int NOT NULL COMMENT '任务状态', + `task_source` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务来源', + `create_person` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `plc_id` int NOT NULL COMMENT 'plc 任务号', + `arrive_location` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '到达位置', + `arrive_time` datetime DEFAULT NULL COMMENT '到达时间', + `complete_time` datetime DEFAULT NULL COMMENT '完成时间', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_convey_task_bak +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1735021962748016600', '78412W24122300002', 1, 'SF1649488540362', '78412S230314000006', '-', 'DTT05', 12.6400, 0.0000, 0.0000, 0.0000, 3, 'WMS', 'WMS', '2024-12-24 14:32:43', '2025-09-19 12:33:27', 113973, '101', '2025-09-17 17:03:12', '2025-09-19 12:33:27', '用户:developer 完成任务,到达位置:101'); +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1735021962760066000', '78412W24122300002', 1, 'SF1613717093943', '78412S230314000009', '', 'DTT11', 2.2200, 0.0000, 0.0000, 0.0000, 6, 'WMS', 'WMS', '2024-12-24 14:32:43', '2025-09-19 12:33:40', 113974, NULL, NULL, '2025-09-19 12:33:40', '用户:developer 取消任务'); +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1735021962765510000', '78412W24122300002', 1, 'SF1613717093943', '78412S230314000009', '', 'DTT11', 2.2200, 0.0000, 0.0000, 0.0000, 6, 'WMS', 'WMS', '2024-12-24 14:32:43', '2025-09-19 12:33:40', 113974, NULL, NULL, '2025-09-19 12:33:40', '用户:developer 取消任务'); +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1735021965555010000', '78412W24122300002', 1, 'SF1649488540362', '78412S230314000006', '-', 'DTT05', 12.6400, 0.0000, 0.0000, 0.0000, 3, 'WMS', 'WMS', '2024-12-24 14:32:43', '2025-09-19 12:33:27', 113973, '101', '2025-09-17 17:03:12', '2025-09-19 12:33:27', '用户:developer 完成任务,到达位置:101'); +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1758118835311660000', '1758118835311010000', 1, 'BOX0001', NULL, 'A01-09', '0', 0.0000, 0.0000, 0.0000, 0.0000, 0, 'WCS', 'developer', '2025-09-17 22:20:35', '2025-09-17 22:20:35', 100007, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1758118835511010000', '1758118835311010000', 1, 'BOX0001', NULL, 'A01-09', '0', 0.0000, 0.0000, 0.0000, 0.0000, 0, 'WCS', 'developer', '2025-09-17 22:20:35', '2025-09-17 22:20:35', 100007, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1758119005329550000', '1758119005329010000', 2, 'B0003', NULL, 'FH01', '0', 0.0000, 0.0000, 0.0000, 0.0000, 0, 'WCS', 'developer', '2025-09-17 22:23:25', '2025-09-17 22:23:25', 100008, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_convey_task_bak` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `size`, `weight`, `length`, `width`, `height`, `task_status`, `task_source`, `create_person`, `create_time`, `update_time`, `plc_id`, `arrive_location`, `arrive_time`, `complete_time`, `remark`) VALUES ('1758119005669010000', '1758119005329010000', 2, 'B0003', NULL, 'FH01', '0', 0.0000, 0.0000, 0.0000, 0.0000, 0, 'WCS', 'developer', '2025-09-17 22:23:25', '2025-09-17 22:23:25', 100008, NULL, NULL, NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_convey_task_event +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_convey_task_event`; +CREATE TABLE `t_app_convey_task_event` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `record_time` datetime NOT NULL, + `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_convey_task_event +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1733976686651010000', '416', '2024-12-12 12:11:27', NULL, 'WCS界面状态修改为:3'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1733981858466010000', '172', '2024-12-12 13:37:38', NULL, 'WCS界面状态修改为:8'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1733981965679010000', '721', '2024-12-12 13:39:26', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1733982175089010000', '721', '2024-12-12 13:42:55', NULL, 'WCS界面状态修改为:1'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1733982585489010000', '721', '2024-12-12 13:49:45', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845660118010000', '111222', '2024-12-22 13:34:20', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845822639010000', '111', '2024-12-22 13:37:03', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1735778137582010000', '1735021962748010000', '2025-01-02 08:35:38', NULL, 'WCS界面状态修改为:1'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1735778137653010000', '1735021962760010000', '2025-01-02 08:35:38', NULL, 'WCS界面状态修改为:1'); +INSERT INTO `t_app_convey_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1735778145850010000', '1735021962748010000', '2025-01-02 08:35:46', NULL, 'WCS界面状态修改为:9'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_convey_task_event_bak +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_convey_task_event_bak`; +CREATE TABLE `t_app_convey_task_event_bak` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `record_time` datetime NOT NULL, + `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_convey_task_event_bak +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_controller_info +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_controller_info`; +CREATE TABLE `t_app_etag_controller_info` ( + `controller_id` int NOT NULL COMMENT '控制器ID', + `controller_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '控制器名称', + `controller_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '控制器型号', + `controller_status` int NOT NULL COMMENT '状态', + `ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '控制器IP地址', + `port` int NOT NULL COMMENT '控制器端口', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`controller_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_controller_info +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_etag_controller_info` (`controller_id`, `controller_name`, `controller_type`, `controller_status`, `ip`, `port`, `create_time`, `update_time`, `remark`) VALUES (1, '补货琉璃货架', '上尚', 1, '192.168.110.222', 4660, '2024-10-23 10:42:33', '2025-11-12 04:17:28', '56567'); +INSERT INTO `t_app_etag_controller_info` (`controller_id`, `controller_name`, `controller_type`, `controller_status`, `ip`, `port`, `create_time`, `update_time`, `remark`) VALUES (3, '测试控制器', '上尚', 0, '192.168.0.102', 4660, '2025-11-03 15:51:17', '2025-11-03 15:51:17', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_stock +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_stock`; +CREATE TABLE `t_app_etag_stock` ( + `location` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `goods_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `goods_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `goods_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `batch` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `goods_num` decimal(10,2) NOT NULL DEFAULT '0.00', + `create_time` datetime NOT NULL, + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`location`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_stock +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_etag_stock` (`location`, `goods_id`, `goods_name`, `goods_type`, `batch`, `goods_num`, `create_time`, `remark`) VALUES ('1-1', 'box1', NULL, NULL, NULL, 0.00, '2024-11-20 19:27:09', NULL); +INSERT INTO `t_app_etag_stock` (`location`, `goods_id`, `goods_name`, `goods_type`, `batch`, `goods_num`, `create_time`, `remark`) VALUES ('1-2', 'box2', NULL, NULL, NULL, 0.00, '2024-11-20 19:27:31', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_tag_info +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_tag_info`; +CREATE TABLE `t_app_etag_tag_info` ( + `tag_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标签名称', + `controller_id` int NOT NULL COMMENT '控制器ID', + `tag_id` int NOT NULL COMMENT '标签在控制器下的ID', + `tag_type` int NOT NULL COMMENT '标签的类型', + `business_type` int NOT NULL DEFAULT '0' COMMENT '业务类型\n0 - 普通;\n1 - 区域标签;\n2 - 巷道灯;', + `tunnel_no` varchar(32) NOT NULL COMMENT '巷道号', + `area_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '所属区域', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`tag_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_tag_info +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-1', 1, 1, 1, 0, '12', '0003-1', '234'); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-10', 1, 10, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-100', 1, 100, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-101', 1, 101, 6, 0, '234', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-102', 1, 102, 6, 0, '', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-103', 1, 103, 6, 0, '', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-104', 1, 104, 6, 0, '', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-105', 1, 105, 6, 0, '请勿', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-106', 1, 106, 6, 0, '', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-107', 1, 107, 6, 0, '', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-108', 1, 108, 6, 0, '', 'ADD', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-109', 1, 109, 6, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-11', 1, 11, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-110', 1, 110, 6, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-111', 1, 111, 3, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-112', 1, 112, 3, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-12', 1, 12, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-13', 1, 13, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-14', 1, 14, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-15', 1, 15, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-16', 1, 16, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-17', 1, 17, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-18', 1, 18, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-19', 1, 19, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-2', 1, 2, 1, 0, '-', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-20', 1, 20, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-21', 1, 21, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-22', 1, 22, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-23', 1, 23, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-24', 1, 24, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-25', 1, 25, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-26', 1, 26, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-27', 1, 27, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-28', 1, 28, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-29', 1, 29, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-30', 1, 30, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-31', 1, 31, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-32', 1, 32, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-33', 1, 33, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-34', 1, 34, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-35', 1, 35, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-36', 1, 36, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-37', 1, 37, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-38', 1, 38, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-39', 1, 39, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-4', 1, 4, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-40', 1, 40, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-41', 1, 41, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-42', 1, 42, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-43', 1, 43, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-44', 1, 44, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-45', 1, 45, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-46', 1, 46, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-47', 1, 47, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-48', 1, 48, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-49', 1, 49, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-5', 1, 5, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-50', 1, 50, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-51', 1, 51, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-52', 1, 52, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-53', 1, 53, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-54', 1, 54, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-55', 1, 55, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-56', 1, 56, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-57', 1, 57, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-58', 1, 58, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-59', 1, 59, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-6', 1, 6, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-60', 1, 60, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-61', 1, 61, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-62', 1, 62, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-63', 1, 63, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-64', 1, 64, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-65', 1, 65, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-66', 1, 66, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-67', 1, 67, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-68', 1, 68, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-69', 1, 69, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-7', 1, 7, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-70', 1, 70, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-71', 1, 71, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-72', 1, 72, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-73', 1, 73, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-74', 1, 74, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-75', 1, 75, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-76', 1, 76, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-77', 1, 77, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-78', 1, 78, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-79', 1, 79, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-8', 1, 8, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-80', 1, 80, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-81', 1, 81, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-82', 1, 82, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-83', 1, 83, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-84', 1, 84, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-85', 1, 85, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-86', 1, 86, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-87', 1, 87, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-88', 1, 88, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-89', 1, 89, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-9', 1, 9, 1, 0, '', '0003-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-90', 1, 90, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-91', 1, 91, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-92', 1, 92, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-93', 1, 93, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-94', 1, 94, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-95', 1, 95, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-96', 1, 96, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-97', 1, 97, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-98', 1, 98, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('A1-99', 1, 99, 1, 0, '', '0004-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-1', 2, 1, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-10', 2, 10, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-100', 2, 100, 1, 0, '', 'EmptyBox', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-101', 2, 101, 1, 0, '', 'EmptyBox', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-102', 2, 102, 1, 0, '', 'EmptyBox', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-103', 2, 103, 6, 0, '', '0001-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-104', 2, 104, 6, 0, '', '0002-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-105', 2, 105, 6, 0, '', '0001-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-106', 2, 106, 6, 0, '', '0002-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-107', 2, 107, 6, 0, '', 'EmptyBox', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-108', 2, 108, 3, 0, '', '0001-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-109', 2, 109, 3, 0, '', '0002-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-11', 2, 11, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-110', 2, 110, 3, 0, '', '0001-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-111', 2, 111, 3, 0, '', '0002-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-112', 2, 112, 4, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-113', 2, 113, 4, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-12', 2, 12, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-13', 2, 13, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-14', 2, 14, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-15', 2, 15, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-16', 2, 16, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-17', 2, 17, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-18', 2, 18, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-19', 2, 19, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-2', 2, 2, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-20', 2, 20, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-21', 2, 21, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-22', 2, 22, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-23', 2, 23, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-24', 2, 24, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-25', 2, 25, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-26', 2, 26, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-27', 2, 27, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-28', 2, 28, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-29', 2, 29, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-3', 2, 3, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-30', 2, 30, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-31', 2, 31, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-32', 2, 32, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-33', 2, 33, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-34', 2, 34, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-35', 2, 35, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-36', 2, 36, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-37', 2, 37, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-38', 2, 38, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-39', 2, 39, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-4', 2, 4, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-40', 2, 40, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-41', 2, 41, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-42', 2, 42, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-43', 2, 43, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-44', 2, 44, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-45', 2, 45, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-46', 2, 46, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-47', 2, 47, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-48', 2, 48, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-49', 2, 49, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-5', 2, 5, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-50', 2, 50, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-51', 2, 51, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-52', 2, 52, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-53', 2, 53, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-54', 2, 54, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-55', 2, 55, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-56', 2, 56, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-57', 2, 57, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-58', 2, 58, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-59', 2, 59, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-6', 2, 6, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-60', 2, 60, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-61', 2, 61, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-62', 2, 62, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-63', 2, 63, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-64', 2, 64, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-65', 2, 65, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-66', 2, 66, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-67', 2, 67, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-68', 2, 68, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-69', 2, 69, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-7', 2, 7, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-70', 2, 70, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-71', 2, 71, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-72', 2, 72, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-73', 2, 73, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-74', 2, 74, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-75', 2, 75, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-76', 2, 76, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-77', 2, 77, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-78', 2, 78, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-79', 2, 79, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-8', 2, 8, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-80', 2, 80, 1, 0, '', '0003-1-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-81', 2, 81, 1, 0, '', '0001-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-82', 2, 82, 1, 0, '', '0001-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-83', 2, 83, 1, 0, '', '0001-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-84', 2, 84, 1, 0, '', '0001-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-85', 2, 85, 1, 0, '', '0002-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-86', 2, 86, 1, 0, '', '0002-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-87', 2, 87, 1, 0, '', '0002-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-88', 2, 88, 1, 0, '', '0002-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-89', 2, 89, 1, 0, '', '0001-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-9', 2, 9, 1, 0, '', '0003-1-1', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-90', 2, 90, 1, 0, '', '0001-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-91', 2, 91, 1, 0, '', '0001-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-92', 2, 92, 1, 0, '', '0001-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-93', 2, 93, 1, 0, '', '0002-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-94', 2, 94, 1, 0, '', '0002-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-95', 2, 95, 1, 0, '', '0002-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-96', 2, 96, 1, 0, '', '0002-2', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-97', 2, 97, 1, 0, '', 'EmptyBox', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-98', 2, 98, 1, 0, '', 'EmptyBox', NULL); +INSERT INTO `t_app_etag_tag_info` (`tag_name`, `controller_id`, `tag_id`, `tag_type`, `business_type`, `tunnel_no`, `area_id`, `remark`) VALUES ('B1-99', 2, 99, 1, 0, '', 'EmptyBox', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_tag_location +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_tag_location`; +CREATE TABLE `t_app_etag_tag_location` ( + `record_id` varchar(64) NOT NULL COMMENT '记录号', + `location` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '库位', + `tag_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标签名称', + `location_type` int NOT NULL COMMENT '站台类型', + `stand` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '站台:供输送线配合使用', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_tag_location +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_etag_tag_location` (`record_id`, `location`, `tag_name`, `location_type`, `stand`, `remark`) VALUES ('1766470737254010000', '1-102', '2233', 1, '66', '9090'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_task +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_task`; +CREATE TABLE `t_app_etag_task` ( + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务号', + `task_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '任务组', + `task_type` int NOT NULL COMMENT '任务类型', + `vehicle_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '订单号', + `location` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '库位', + `goods_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '物料编号', + `goods_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '物料名称', + `light_num` decimal(10,2) NOT NULL COMMENT '点亮数量', + `confirm_num` decimal(10,2) DEFAULT NULL COMMENT '确认数量', + `task_status` int NOT NULL COMMENT '任务状态', + `light_model` int NOT NULL DEFAULT '1' COMMENT '点亮模式:\n1 - 立即点亮;\n2 - 暂存待触发;', + `task_source` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '任务来源', + `create_person` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `light_time` datetime DEFAULT NULL COMMENT '点亮时间', + `confirm_time` datetime DEFAULT NULL COMMENT '确认时间', + `confirm_person` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人', + `completed_time` datetime DEFAULT NULL COMMENT '完成时间', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_task +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('0000001465', '78412W24122300002', 1, 'SF1649488540362', '78412S230314000006', 'GZ-J2-01-04-03', '3110246', '消毒液1.8L', 6.00, NULL, 1, 0, 'WMS_API', 'WMS', '2024-12-24 14:32:43', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('0000001466', '78412W24122300002', 1, 'SF1613717093943', '78412S230314000009', 'GZ-J2-01-04-03', '3110246', '消毒液1.8L', 1.00, NULL, 9, 0, 'WMS_API', 'WMS', '2024-12-24 14:32:43', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('00000gdfgd', '78412W24122300002', 1, 'SF1613717093943', '78412S230314000009', 'GZ-J2-01-04-03', '3110246', '消毒液1.8L', 1.00, NULL, 9, 0, 'WMS_API', 'WMS', '2024-12-24 14:32:43', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('1766646518792010000', '1766646518792010000', 1, 'V0001', '7878', 'L-0101', '555', 'yyy', 1.00, NULL, 1, 1, '', 'dev', '2025-12-25 15:08:39', NULL, NULL, NULL, NULL, '1111'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('fghfghfgh', '011', 1, 'SF3131742242758', '54', 'C1-L2-03', '454321', '123131', 50.00, 50.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:34:56', '2024-12-22 16:35:40', '192.168.110.223', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('srewrwerwer', 'TS00002517', 3, '-', '3205967', 'GZ-J1-01-03-03', '6974214220087', '001 3只', 120.00, NULL, 9, 0, 'WMS', 'WMS_API', '2024-12-25 10:28:05', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T00004', '011', 3, 'SF3131742242758', '54', 'B1-L2-04', 'G0001', '一杯水', 500.00, 5002.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:36:48', '2024-12-22 16:37:02', '192.168.110.222', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T00004dfgdfgdf', '011', 3, 'SF3131742242758', '54', 'B1-L2-04', 'G0001', '一杯水', 500.00, 5002.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:36:48', '2024-12-22 16:37:02', '192.168.110.222', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T00005', '011', 3, 'SF3131742242758', '54', 'B1-L2-06', 'G0002', '一瓶茶', 500.00, 5002.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:36:47', '2024-12-22 16:37:09', '192.168.110.222', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T001', '011', 1, 'SF3131742242758', '54', 'C1-L2-03', '454321', '123131', 50.00, 50.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:34:56', '2024-12-22 16:35:40', '192.168.110.223', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T002', '011', 1, 'SF3131742242758', '54', 'A1-07', '454321', '123131', 400.00, 400.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 13:53:23', '2024-12-22 13:53:28', '192.168.110.223', '2024-11-28 19:35:35', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T003', '011', 1, 'SF3131742242758', '54', 'B1-L2-03', '454321', '123131', 20.00, 20.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:34:56', '2024-12-22 16:35:49', '192.168.110.222', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T00hfgjgfjjh', '011', 3, 'SF3131742242758', '54', 'B1-L2-06', 'G0002', '一瓶茶', 500.00, 5002.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:36:47', '2024-12-22 16:37:09', '192.168.110.222', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('T0345456456', '011', 1, 'SF3131742242758', '54', 'A1-07', '454321', '123131', 400.00, 400.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 13:53:23', '2024-12-22 13:53:28', '192.168.110.223', '2024-11-28 19:35:35', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('Tghjghjghjghj', '011', 1, 'SF3131742242758', '54', 'B1-L2-03', '454321', '123131', 20.00, 20.00, 2, 0, '245', '4545', '2024-12-11 19:35:05', '2024-12-22 16:34:56', '2024-12-22 16:35:49', '192.168.110.222', '2024-12-14 14:24:38', 'QQ'); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('TS00002517', 'TS00002517', 3, '-', '3205967', 'GZ-J1-01-03-03', '6974214220087', '001 3只', 120.00, NULL, 9, 0, 'WMS', 'WMS_API', '2024-12-25 10:28:05', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `t_app_etag_task` (`task_id`, `task_group`, `task_type`, `vehicle_no`, `order_id`, `location`, `goods_id`, `goods_name`, `light_num`, `confirm_num`, `task_status`, `light_model`, `task_source`, `create_person`, `create_time`, `light_time`, `confirm_time`, `confirm_person`, `completed_time`, `remark`) VALUES ('w23423423', '78412W24122300002', 1, 'SF1649488540362', '78412S230314000006', 'GZ-J2-01-04-03', '3110246', '消毒液1.8L', 6.00, NULL, 1, 0, 'WMS_API', 'WMS', '2024-12-24 14:32:43', NULL, NULL, NULL, NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_task_bak +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_task_bak`; +CREATE TABLE `t_app_etag_task_bak` ( + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务号', + `task_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '任务组', + `task_type` int NOT NULL COMMENT '任务类型', + `vehicle_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '订单号', + `location` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '库位', + `goods_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '物料编号', + `goods_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '物料名称', + `light_num` decimal(10,2) NOT NULL COMMENT '点亮数量', + `task_status` int NOT NULL COMMENT '任务状态', + `task_source` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务来源', + `create_person` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `light_time` datetime DEFAULT NULL COMMENT '点亮时间', + `confirm_time` datetime DEFAULT NULL COMMENT '确认时间', + `confirm_num` decimal(10,2) DEFAULT NULL COMMENT '确认数量', + `confirm_person` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人', + `completed_time` datetime DEFAULT NULL COMMENT '完成时间', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_task_bak +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_task_event +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_task_event`; +CREATE TABLE `t_app_etag_task_event` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `record_time` datetime NOT NULL, + `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_task_event +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1733983209784010000', 'T002', '2024-12-12 14:00:10', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1733983214693010000', 'T002', '2024-12-12 14:00:15', NULL, 'WCS界面状态修改为:1'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734001938910010000', 'T002', '2024-12-12 19:12:19', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734014796445010000', 'T001', '2024-12-12 22:46:36', NULL, 'WCS界面完成数量:1'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734014918238010000', 'T001', '2024-12-12 22:48:38', NULL, 'WCS界面点击完成,数量:20'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734014949288010000', 'T001', '2024-12-12 22:49:09', NULL, 'WCS界面点击完成,数量:20'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734014992551010000', 'T001', '2024-12-12 22:49:53', NULL, 'WCS界面点击完成,数量:15'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734157477819010000', 'T001', '2024-12-14 14:24:38', NULL, 'WCS界面点击完成,数量:4545'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734840644745010000', 'T001', '2024-12-22 12:10:45', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734840647162010000', 'T002', '2024-12-22 12:10:47', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734840714897010000', 'T002', '2024-12-22 12:11:55', NULL, '系统触发点亮,数量:600.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734840731408010000', 'T002', '2024-12-22 12:12:11', NULL, '电子标签:85,确认,确认数量:595'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734840915088010000', 'T002', '2024-12-22 12:15:15', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841248899010000', 'T001', '2024-12-22 12:20:49', NULL, '电子标签:85,确认,确认数量:600'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841492760010000', 'T002', '2024-12-22 12:24:53', NULL, '系统触发点亮,数量:600.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841523280010000', 'T002', '2024-12-22 12:25:23', NULL, '电子标签:93,确认,确认数量:595'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841620257010000', 'T002', '2024-12-22 12:27:00', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841630124010000', 'T002', '2024-12-22 12:27:10', NULL, '系统触发点亮,数量:600.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841642075010000', 'T002', '2024-12-22 12:27:22', NULL, '电子标签:93,确认,确认数量:600'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841688751010000', 'T002', '2024-12-22 12:28:09', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841700628010000', 'T002', '2024-12-22 12:28:21', NULL, '系统触发点亮,数量:600.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841710414010000', 'T002', '2024-12-22 12:28:30', NULL, '电子标签:93,确认,确认数量:600'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841776755010000', 'T002', '2024-12-22 12:29:37', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841785156010000', 'T002', '2024-12-22 12:29:45', NULL, '系统触发点亮,数量:600.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734841792190010000', 'T002', '2024-12-22 12:29:52', NULL, '电子标签:93,确认,确认数量:600'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734842619445010000', 'T003', '2024-12-22 12:43:39', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734842622022010000', 'T001', '2024-12-22 12:43:42', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734842687409010000', 'T001', '2024-12-22 12:44:47', NULL, '系统触发点亮,数量:300.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734842687427010000', 'T003', '2024-12-22 12:44:47', NULL, '系统触发点亮,数量:500.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734842697180010000', 'T003', '2024-12-22 12:44:57', NULL, '电子标签:11,确认,确认数量:498'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734842708353010000', 'T001', '2024-12-22 12:45:08', NULL, '电子标签:77,确认,确认数量:294'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734843506986010000', 'T00004', '2024-12-22 12:58:27', NULL, '电子标签:108,确认,确认数量:000500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734843716400010000', 'T00005', '2024-12-22 13:01:56', NULL, '电子标签:108,确认,确认数量:000500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734843748833010000', 'T00004', '2024-12-22 13:02:29', NULL, '电子标签:108,确认,确认数量:000500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734843762299010000', 'T00005', '2024-12-22 13:02:42', NULL, '电子标签:108,确认,确认数量:494'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734843793101010000', 'T00004', '2024-12-22 13:03:13', NULL, '电子标签:108,确认,确认数量:000500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734843796467010000', 'T00005', '2024-12-22 13:03:16', NULL, '电子标签:108,确认,确认数量:000500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845363050010000', 'T001', '2024-12-22 13:29:23', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845365281010000', 'T002', '2024-12-22 13:29:25', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845367492010000', 'T003', '2024-12-22 13:29:27', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845381872010000', 'T002', '2024-12-22 13:29:42', NULL, '系统触发点亮,数量:400.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845392860010000', 'T002', '2024-12-22 13:29:53', NULL, '电子标签:93,确认,确认数量:400'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845398181010000', 'T00004', '2024-12-22 13:29:58', NULL, '电子标签:106,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845438042010000', 'T002', '2024-12-22 13:30:38', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845447492010000', 'T002', '2024-12-22 13:30:47', NULL, '系统触发点亮,数量:400.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845458811010000', 'T002', '2024-12-22 13:30:59', NULL, '电子标签:93,确认,确认数量:395'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845468780010000', 'T00004', '2024-12-22 13:31:09', NULL, '电子标签:106,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845526373010000', 'T00004', '2024-12-22 13:32:06', NULL, '电子标签:110,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845533469010000', 'T001', '2024-12-22 13:32:13', NULL, '系统触发点亮,数量:300.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845535016010000', 'T003', '2024-12-22 13:32:15', NULL, '系统触发点亮,数量:500.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845546756010000', 'T001', '2024-12-22 13:32:27', NULL, '电子标签:77,确认,确认数量:297'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845552714010000', 'T003', '2024-12-22 13:32:33', NULL, '电子标签:11,确认,确认数量:498'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845557563010000', 'T00004', '2024-12-22 13:32:38', NULL, '电子标签:109,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845597525010000', 'T00004', '2024-12-22 13:33:18', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845599287010000', 'T00005', '2024-12-22 13:33:19', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845615175010000', 'T00004', '2024-12-22 13:33:35', NULL, '电子标签:108,确认,确认数量:000500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845618573010000', 'T00005', '2024-12-22 13:33:39', NULL, '电子标签:108,确认,确认数量:000500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845692760010000', 'T00004', '2024-12-22 13:34:53', NULL, '电子标签:101,确认,确认数量:1'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845694223010000', 'T00004', '2024-12-22 13:34:54', NULL, '电子标签:107,确认,确认数量:000001'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845843408010000', 'T00004', '2024-12-22 13:37:23', NULL, '电子标签:101,确认,确认数量:1'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845844220010000', 'T00004', '2024-12-22 13:37:24', NULL, '电子标签:107,确认,确认数量:000001'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845864611010000', 'T001', '2024-12-22 13:37:45', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845866567010000', 'T002', '2024-12-22 13:37:47', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845868405010000', 'T003', '2024-12-22 13:37:48', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845879472010000', 'T002', '2024-12-22 13:37:59', NULL, '系统触发点亮,数量:400.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845891327010000', 'T002', '2024-12-22 13:38:11', NULL, '电子标签:93,确认,确认数量:380'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734845894263010000', 'T00004', '2024-12-22 13:38:14', NULL, '电子标签:106,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846064468010000', 'T001', '2024-12-22 13:41:04', NULL, '系统触发点亮,数量:300.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846067298010000', 'T003', '2024-12-22 13:41:07', NULL, '系统触发点亮,数量:500.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846073921010000', 'T003', '2024-12-22 13:41:14', NULL, '电子标签:11,确认,确认数量:500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846076453010000', 'T001', '2024-12-22 13:41:16', NULL, '电子标签:77,确认,确认数量:300'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846084382010000', 'T00004', '2024-12-22 13:41:24', NULL, '电子标签:109,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846235728010000', 'T002', '2024-12-22 13:43:56', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846279088010000', 'T002', '2024-12-22 13:44:39', NULL, '系统触发点亮,数量:400.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846285368010000', 'T002', '2024-12-22 13:44:45', NULL, '电子标签:93,确认,确认数量:400'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846289000010000', 'T00004', '2024-12-22 13:44:49', NULL, '电子标签:106,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846322402010000', 'T002', '2024-12-22 13:45:22', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846331040010000', 'T002', '2024-12-22 13:45:31', NULL, '系统触发点亮,数量:400.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846337256010000', 'T002', '2024-12-22 13:45:37', NULL, '电子标签:93,确认,确认数量:400'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846341604010000', 'T00004', '2024-12-22 13:45:42', NULL, '电子标签:106,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846357368010000', 'T001', '2024-12-22 13:45:57', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846359731010000', 'T003', '2024-12-22 13:46:00', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846397534010000', 'T001', '2024-12-22 13:46:38', NULL, '系统触发点亮,数量:300.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846397543010000', 'T003', '2024-12-22 13:46:38', NULL, '系统触发点亮,数量:500.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846402962010000', 'T003', '2024-12-22 13:46:43', NULL, '电子标签:11,确认,确认数量:500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846406524010000', 'T001', '2024-12-22 13:46:47', NULL, '电子标签:77,确认,确认数量:300'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846413671010000', 'T00004', '2024-12-22 13:46:54', NULL, '电子标签:109,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846457091010000', 'T001', '2024-12-22 13:47:37', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846459127010000', 'T003', '2024-12-22 13:47:39', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846470044010000', 'T001', '2024-12-22 13:47:50', NULL, '系统触发点亮,数量:300.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846470054010000', 'T003', '2024-12-22 13:47:50', NULL, '系统触发点亮,数量:500.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846476669010000', 'T001', '2024-12-22 13:47:57', NULL, '电子标签:77,确认,确认数量:300'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846482434010000', 'T003', '2024-12-22 13:48:02', NULL, '电子标签:11,确认,确认数量:500'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846488434010000', 'T00004', '2024-12-22 13:48:08', NULL, '电子标签:109,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846789846010000', 'T002', '2024-12-22 13:53:10', NULL, 'WCS界面状态修改为:0'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846802580010000', 'T002', '2024-12-22 13:53:23', NULL, '系统触发点亮,数量:400.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846808053010000', 'T002', '2024-12-22 13:53:28', NULL, '电子标签:95,确认,确认数量:400'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734846811571010000', 'T00004', '2024-12-22 13:53:32', NULL, '电子标签:106,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734855376529010000', 'T00004', '2024-12-22 16:16:17', NULL, '电子标签:107,确认,确认数量:0005002'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734855380588010000', 'T00005', '2024-12-22 16:16:21', NULL, '电子标签:107,确认,确认数量:0005002'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734855513905010000', 'T00004', '2024-12-22 16:18:34', NULL, '电子标签:107,确认,确认数量:0005002'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734855522204010000', 'T00005', '2024-12-22 16:18:42', NULL, '电子标签:107,确认,确认数量:0005002'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734855559927010000', 'T001', '2024-12-22 16:19:20', NULL, '系统触发点亮,数量:300.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734855577313010000', 'T001', '2024-12-22 16:19:37', NULL, '电子标签:90,确认,确认数量:290'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734855580170010000', 'T00004', '2024-12-22 16:19:40', NULL, '电子标签:110,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734856495726010000', 'T003', '2024-12-22 16:34:56', NULL, '系统触发点亮,数量:20.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734856495736010000', 'T001', '2024-12-22 16:34:56', NULL, '系统触发点亮,数量:50.00'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734856540150010000', 'T001', '2024-12-22 16:35:40', NULL, '电子标签:68,确认,确认数量:50'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734856548830010000', 'T003', '2024-12-22 16:35:49', NULL, '电子标签:68,确认,确认数量:20'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734856553829010000', 'T00004', '2024-12-22 16:35:54', NULL, '电子标签:109,确认,确认数量:000000'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734856621694010000', 'T00004', '2024-12-22 16:37:02', NULL, '电子标签:105,确认,确认数量:0005002'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1734856629086010000', 'T00005', '2024-12-22 16:37:09', NULL, '电子标签:106,确认,确认数量:0005002'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1735093684715010000', 'TS00002517', '2024-12-25 10:28:05', '', '任务创建'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1736986896494010000', 'TS00002517', '2025-01-16 08:21:37', NULL, 'WCS界面状态修改为:1'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1736986900670010000', '0000001465', '2025-01-16 08:21:41', NULL, 'WCS界面状态修改为:1'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1736986912890010000', 'TS00002517', '2025-01-16 08:21:53', NULL, 'WCS界面状态修改为:9'); +INSERT INTO `t_app_etag_task_event` (`record_id`, `task_id`, `record_time`, `tag`, `msg`) VALUES ('1736986912901010000', '0000001466', '2025-01-16 08:21:53', NULL, 'WCS界面状态修改为:9'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_etag_task_event_bak +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_etag_task_event_bak`; +CREATE TABLE `t_app_etag_task_event_bak` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `record_time` datetime NOT NULL, + `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_etag_task_event_bak +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_quartz_config +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_quartz_config`; +CREATE TABLE `t_app_quartz_config` ( + `class_name` varchar(64) NOT NULL COMMENT '定时任务类名称', + `job_desc` varchar(255) DEFAULT NULL COMMENT '定时任务描述', + `status` int NOT NULL COMMENT '是否开启', + `cron` varchar(64) NOT NULL COMMENT 'cron表达式', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`class_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_quartz_config +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_quartz_config` (`class_name`, `job_desc`, `status`, `cron`, `create_time`, `update_time`, `remark`) VALUES ('CleanDataJob', '数据清理', 0, '5/2 * * * * ? *', '2025-05-20 09:04:24', '2025-09-03 09:25:11', NULL); +INSERT INTO `t_app_quartz_config` (`class_name`, `job_desc`, `status`, `cron`, `create_time`, `update_time`, `remark`) VALUES ('ExecuteStackerTaskJob', '执行堆垛机任务定时任务', 0, '5/1 * * * * ? *', '2025-07-04 13:20:40', '2025-09-03 09:25:28', NULL); +INSERT INTO `t_app_quartz_config` (`class_name`, `job_desc`, `status`, `cron`, `create_time`, `update_time`, `remark`) VALUES ('ResolveStockTaskJob', '解析仓库任务', 0, '2/2 * * * * ? *', '2025-09-03 09:25:01', '2025-10-07 15:19:17', NULL); +INSERT INTO `t_app_quartz_config` (`class_name`, `job_desc`, `status`, `cron`, `create_time`, `update_time`, `remark`) VALUES ('RetryApiRequestJob', '接口重试定时任务', 0, '5/2 * * * * ? *', '2025-09-16 11:34:41', '2025-09-16 11:34:56', NULL); +INSERT INTO `t_app_quartz_config` (`class_name`, `job_desc`, `status`, `cron`, `create_time`, `update_time`, `remark`) VALUES ('TestQuartzJob', '测试2', 0, '0/2 * * * * ? *', '2025-05-20 09:05:16', '2025-05-21 08:04:01', '-'); +INSERT INTO `t_app_quartz_config` (`class_name`, `job_desc`, `status`, `cron`, `create_time`, `update_time`, `remark`) VALUES ('TrayConveyJob', '托盘线定时任务', 0, '5/2 * * * * ? *', '2025-12-22 17:24:33', '2025-12-22 17:24:39', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_record_api_request +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_record_api_request`; +CREATE TABLE `t_app_record_api_request` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '记录号', + `api_key` varchar(64) DEFAULT NULL COMMENT 'API键', + `request_url` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '请求路径名称', + `success` int NOT NULL COMMENT '是否成功', + `method` char(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '请求方法', + `url_param` text COMMENT 'url参数', + `request_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '请求数据', + `response_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '响应数据', + `request_time` datetime NOT NULL COMMENT '请求时间', + `response_time` datetime NOT NULL COMMENT '响应时间', + `use_time` decimal(10,4) DEFAULT NULL COMMENT '耗时', + `err_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '错误信息', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_record_api_request +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_record_api_request` (`record_id`, `api_key`, `request_url`, `success`, `method`, `url_param`, `request_msg`, `response_msg`, `request_time`, `response_time`, `use_time`, `err_msg`) VALUES ('1735021962608010000', NULL, 'http://106.14.189.117:18080/datahubjson/FluxWmsWcsJsonApi/', 1, 'GET', '?method=requestWaveInfo&warehouseId=FLUXWMSDB&sign=80AC1A3F-F949-492C-A024-7044B28C8025&messageId=GETWAVE&apptoken=WCS&timeStemp=2024-12-24+14%3A32%3A41', '{\"organizationId\":\"MLSM\",\"waveNo\":\"78412W24122300002\",\"warehouseId\":666}', '{\"organizationId\":\"MLSM\",\"waveNo\":\"78412W24122300002\",\"warehouseId\":\"78412\",\"udf03\":\"\",\"udf02\":\"\",\"udf01\":\"\",\"customerId\":\"MANON\",\"waveDesc\":\"\",\"orders\":[{\"orderDetails\":[{\"brandDesc\":\"滴露\",\"quantity\":\"6.00000000\",\"pickLogicalSequence\":\"057\",\"udf03\":\"\",\"udf02\":\"\",\"udf01\":\"\",\"skuNo\":\"6974352530208\",\"skuDesc\":\"消毒液1.8L\",\"location\":\"GZ-J2-01-04-03\",\"sku\":\"3110246\",\"allocationDetailsId\":\"0000001465\"}],\"orderNo\":\"78412S230314000006\",\"seqNo\":\"1\",\"expressNo\":\"SF1649488540362\",\"boxNo\":\"DTT05\",\"udf03\":\"\",\"udf02\":\"\",\"udf01\":\"\",\"weight\":\"12.64000000\"},{\"orderDetails\":[{\"brandDesc\":\"滴露\",\"quantity\":\"1.00000000\",\"pickLogicalSequence\":\"057\",\"udf03\":\"\",\"udf02\":\"\",\"udf01\":\"\",\"skuNo\":\"6974352530208\",\"skuDesc\":\"消毒液1.8L\",\"location\":\"GZ-J2-01-04-03\",\"sku\":\"3110246\",\"allocationDetailsId\":\"0000001466\"}],\"orderNo\":\"78412S230314000009\",\"seqNo\":\"2\",\"expressNo\":\"SF1613717093943\",\"boxNo\":\"DTT11\",\"udf03\":\"\",\"udf02\":\"\",\"udf01\":\"\",\"weight\":\"2.22000000\"}]}', '2024-12-24 14:32:42', '2024-12-24 14:32:43', 173.0000, ''); +INSERT INTO `t_app_record_api_request` (`record_id`, `api_key`, `request_url`, `success`, `method`, `url_param`, `request_msg`, `response_msg`, `request_time`, `response_time`, `use_time`, `err_msg`) VALUES ('1758270434676010000', '-', 'http://106.14.189.117:18080/api/test', 1, 'POST', NULL, '-', '{\"timestamp\":\"2025-09-19T08:27:14.694+00:00\",\"status\":404,\"error\":\"Not Found\",\"message\":\"\",\"path\":\"/logincenter/api/test\"}', '2025-09-19 16:27:15', '2025-09-19 16:27:15', 58.0000, ''); +INSERT INTO `t_app_record_api_request` (`record_id`, `api_key`, `request_url`, `success`, `method`, `url_param`, `request_msg`, `response_msg`, `request_time`, `response_time`, `use_time`, `err_msg`) VALUES ('1758270586895010000', '-', 'http://106.14.189.117:18080/api/test', 1, 'POST', NULL, '{\"arriveLocation\":\"101\",\"message\":\"用户:developer 回报任务完成,到达位置:101\",\"taskId\":\"1735021962748010000\",\"taskStatus\":2,\"taskType\":1,\"vehicleNo\":\"SF1649488540362\"}', '{\"timestamp\":\"2025-09-19T08:29:46.929+00:00\",\"status\":404,\"error\":\"Not Found\",\"message\":\"\",\"path\":\"/logincenter/api/test\"}', '2025-09-19 16:29:47', '2025-09-19 16:29:47', 55.0000, ''); +INSERT INTO `t_app_record_api_request` (`record_id`, `api_key`, `request_url`, `success`, `method`, `url_param`, `request_msg`, `response_msg`, `request_time`, `response_time`, `use_time`, `err_msg`) VALUES ('1758508335988010000', '-', 'http://106.14.189.117:18080/api/test', 1, 'POST', NULL, '{\"message\":\"用户:developer 回报任务取消\",\"taskId\":\"1735021962760066000\",\"taskStatus\":4,\"taskType\":1,\"vehicleNo\":\"SF1613717093943\"}', '{\"timestamp\":\"2025-09-22T02:32:16.063+00:00\",\"status\":404,\"error\":\"Not Found\",\"message\":\"\",\"path\":\"/logincenter/api/test\"}', '2025-09-22 10:32:16', '2025-09-22 10:32:16', 56.0000, ''); +INSERT INTO `t_app_record_api_request` (`record_id`, `api_key`, `request_url`, `success`, `method`, `url_param`, `request_msg`, `response_msg`, `request_time`, `response_time`, `use_time`, `err_msg`) VALUES ('1758510839016010000', '-', 'http://106.14.189.117:18080/api/test', 1, 'POST', NULL, '{\"message\":\"用户:developer 回报任务取消\",\"taskId\":\"1735021962748010000\",\"taskStatus\":4,\"taskType\":1,\"vehicleNo\":\"SF1649488540362\"}', '{\"timestamp\":\"2025-09-22T03:13:59.198+00:00\",\"status\":404,\"error\":\"Not Found\",\"message\":\"\",\"path\":\"/logincenter/api/test\"}', '2025-09-22 11:13:59', '2025-09-22 11:13:59', 51.0000, ''); +INSERT INTO `t_app_record_api_request` (`record_id`, `api_key`, `request_url`, `success`, `method`, `url_param`, `request_msg`, `response_msg`, `request_time`, `response_time`, `use_time`, `err_msg`) VALUES ('1765597943214010000', '-', 'http://106.14.189.117:18080/api/test', 1, 'POST', NULL, '{\"arriveLocation\":\"101\",\"message\":\"用户:developer 回报任务完成,到达位置:101\",\"taskId\":\"1735021962748010000\",\"taskStatus\":2,\"taskType\":1,\"vehicleNo\":\"SF1649488540362\"}', '{\"timestamp\":\"2025-12-13T03:52:23.111+00:00\",\"status\":404,\"error\":\"Not Found\",\"message\":\"\",\"path\":\"/logincenter/api/test\"}', '2025-12-13 11:52:23', '2025-12-13 11:52:23', 106.0000, ''); +INSERT INTO `t_app_record_api_request` (`record_id`, `api_key`, `request_url`, `success`, `method`, `url_param`, `request_msg`, `response_msg`, `request_time`, `response_time`, `use_time`, `err_msg`) VALUES ('4578', NULL, '/test', 1, 'POST', NULL, '{111}', '{222}', '2024-12-12 14:02:14', '2024-12-12 14:02:17', 30.0000, '-'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_record_api_response +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_record_api_response`; +CREATE TABLE `t_app_record_api_response` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '记录号', + `path` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '被请求的路径', + `method` char(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '方法', + `url_param` text COMMENT 'URL参数', + `response_code` int DEFAULT NULL COMMENT '响应码', + `media_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '请求数据类型', + `client_address` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '请求方地址', + `header` text COMMENT '请求头', + `request_time` datetime NOT NULL COMMENT '请求时间', + `response_time` datetime NOT NULL COMMENT '响应时间', + `use_time` decimal(10,4) NOT NULL COMMENT '耗时', + `request_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '请求数据', + `response_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '响应数据', + `cookie` text COMMENT 'cookie', + `err_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '错误信息', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_record_api_response +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('1', '/Users/Administrator/Pictures/img_209127.jpg', '2LMW8', NULL, NULL, 'oveYZP6so3', '3-9-15 Gakuenminami', NULL, '2024-09-22 02:58:03', '2002-09-01 02:44:44', 435.0141, 'Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man’s best friends are his ten fingers. Champions keep playing until they get it right. What you get by achieving your goals is not as important as what you become by achieving your goals. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. If you wait, all that happens is you get older. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Actually it is just in an idea when feel oneself can achieve and cannot achieve. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You must be the change you wish to see in the world. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Difficult circumstances serve as a textbook of life for people. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. The Synchronize to Database function will give you a full picture of all database differences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Champions keep playing until they get it right. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The past has no power over the present moment. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You must be the change you wish to see in the world. Success consists of going from failure to failure without loss of enthusiasm. You cannot save people, you can just love them. Optimism is the one quality more associated with success and happiness than any other. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I destroy my enemies when I make them my friends. Success consists of going from failure to failure without loss of enthusiasm. To connect to a database or schema, simply double-click it in the pane. You must be the change you wish to see in the world. If you wait, all that happens is you get older. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You cannot save people, you can just love them. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You will succeed because most people are lazy. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Flexible settings enable you to set up a custom key for comparison and synchronization. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The past has no power over the present moment. It wasn’t raining when Noah built the ark. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. The reason why a great man is great is that he resolves to be a great man. If it scares you, it might be a good thing to try. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.', NULL, 'The On Startup feature allows you to control what tabs appear when you launch Navicat. If the plan doesn’t work, change the plan, but never the goal. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A query is used to extract data from the database in a readable format according to the user\'s request. Sometimes you win, sometimes you learn. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man is not old until regrets take the place of dreams. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If opportunity doesn’t knock, build a door. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Success consists of going from failure to failure without loss of enthusiasm. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If it scares you, it might be a good thing to try. If you wait, all that happens is you get older. What you get by achieving your goals is not as important as what you become by achieving your goals. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Optimism is the one quality more associated with success and happiness than any other. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. If you wait, all that happens is you get older. If you wait, all that happens is you get older. All journeys have secret destinations of which the traveler is unaware. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A man is not old until regrets take the place of dreams. Flexible settings enable you to set up a custom key for comparison and synchronization. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A comfort zone is a beautiful place, but nothing ever grows there. All journeys have secret destinations of which the traveler is unaware. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. You cannot save people, you can just love them. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Flexible settings enable you to set up a custom key for comparison and synchronization. It wasn’t raining when Noah built the ark. There is no way to happiness. Happiness is the way. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I will greet this day with love in my heart. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('10', 'C:\\Users\\Administrator\\Pictures\\img_481649.jpg', 'evPQ7', NULL, NULL, 'V1ybumPfyT', 'No. 613, Shuangqing Rd, Chenghua District', NULL, '2022-11-26 04:19:13', '2019-10-11 14:38:19', 503.5157, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All journeys have secret destinations of which the traveler is unaware. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. There is no way to happiness. Happiness is the way. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has ever made anything of importance was disciplined. What you get by achieving your goals is not as important as what you become by achieving your goals. A man’s best friends are his ten fingers. You will succeed because most people are lazy. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You cannot save people, you can just love them. Navicat 15 has added support for the system-wide dark mode. You will succeed because most people are lazy. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. What you get by achieving your goals is not as important as what you become by achieving your goals. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Remember that failure is an event, not a person. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If opportunity doesn’t knock, build a door. You cannot save people, you can just love them. Genius is an infinite capacity for taking pains. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the plan doesn’t work, change the plan, but never the goal. You must be the change you wish to see in the world. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A query is used to extract data from the database in a readable format according to the user\'s request. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. Creativity is intelligence having fun. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. Navicat 15 has added support for the system-wide dark mode. All journeys have secret destinations of which the traveler is unaware. Navicat 15 has added support for the system-wide dark mode. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All journeys have secret destinations of which the traveler is unaware. There is no way to happiness. Happiness is the way. There is no way to happiness. Happiness is the way. Optimism is the one quality more associated with success and happiness than any other. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Success consists of going from failure to failure without loss of enthusiasm. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Creativity is intelligence having fun. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You will succeed because most people are lazy. If you wait, all that happens is you get older. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I will greet this day with love in my heart. To connect to a database or schema, simply double-click it in the pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The On Startup feature allows you to control what tabs appear when you launch Navicat. Success consists of going from failure to failure without loss of enthusiasm. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. What you get by achieving your goals is not as important as what you become by achieving your goals.', 'You must be the change you wish to see in the world. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has never made a mistake has never tried anything new. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I will greet this day with love in my heart. There is no way to happiness. Happiness is the way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the middle of winter I at last discovered that there was in me an invincible summer. You will succeed because most people are lazy. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I destroy my enemies when I make them my friends. If opportunity doesn’t knock, build a door. The On Startup feature allows you to control what tabs appear when you launch Navicat. The On Startup feature allows you to control what tabs appear when you launch Navicat. You cannot save people, you can just love them. Genius is an infinite capacity for taking pains. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If it scares you, it might be a good thing to try. Remember that failure is an event, not a person. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If you wait, all that happens is you get older. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be.', NULL, 'The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You will succeed because most people are lazy. Success consists of going from failure to failure without loss of enthusiasm. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If opportunity doesn’t knock, build a door. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Creativity is intelligence having fun. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Optimism is the one quality more associated with success and happiness than any other. A man’s best friends are his ten fingers. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You cannot save people, you can just love them. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A comfort zone is a beautiful place, but nothing ever grows there. If the plan doesn’t work, change the plan, but never the goal. All journeys have secret destinations of which the traveler is unaware. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It wasn’t raining when Noah built the ark. If it scares you, it might be a good thing to try. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('100', 'C:\\Users\\Administrator\\Pictures\\img_844387.jpg', 'mtNnA', NULL, NULL, '7i2jhokyEs', '1-7-19 Omido, Higashiosaka', NULL, '2021-01-29 03:34:36', '2002-03-23 19:04:11', 435.7898, 'It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A man is not old until regrets take the place of dreams. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The reason why a great man is great is that he resolves to be a great man. A query is used to extract data from the database in a readable format according to the user\'s request. A query is used to extract data from the database in a readable format according to the user\'s request. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. There is no way to happiness. Happiness is the way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Remember that failure is an event, not a person. You cannot save people, you can just love them. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I may not have gone where I intended to go, but I think I have ended up where I needed to be. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. What you get by achieving your goals is not as important as what you become by achieving your goals. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Champions keep playing until they get it right. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Typically, it is employed as an encrypted version of Telnet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The On Startup feature allows you to control what tabs appear when you launch Navicat. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A comfort zone is a beautiful place, but nothing ever grows there. Difficult circumstances serve as a textbook of life for people. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The past has no power over the present moment. All journeys have secret destinations of which the traveler is unaware. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Genius is an infinite capacity for taking pains. You must be the change you wish to see in the world. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In the middle of winter I at last discovered that there was in me an invincible summer. Success consists of going from failure to failure without loss of enthusiasm. What you get by achieving your goals is not as important as what you become by achieving your goals. Creativity is intelligence having fun. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Synchronize to Database function will give you a full picture of all database differences. Flexible settings enable you to set up a custom key for comparison and synchronization. If the plan doesn’t work, change the plan, but never the goal. You must be the change you wish to see in the world. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You must be the change you wish to see in the world. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It wasn’t raining when Noah built the ark. Anyone who has ever made anything of importance was disciplined. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Genius is an infinite capacity for taking pains. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man is not old until regrets take the place of dreams. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Genius is an infinite capacity for taking pains. I destroy my enemies when I make them my friends. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Flexible settings enable you to set up a custom key for comparison and synchronization. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Flexible settings enable you to set up a custom key for comparison and synchronization.', 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Champions keep playing until they get it right. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Flexible settings enable you to set up a custom key for comparison and synchronization. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You must be the change you wish to see in the world. Creativity is intelligence having fun. Sometimes you win, sometimes you learn. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You cannot save people, you can just love them. The reason why a great man is great is that he resolves to be a great man. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It wasn’t raining when Noah built the ark. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat 15 has added support for the system-wide dark mode. Anyone who has never made a mistake has never tried anything new. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The past has no power over the present moment. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A man’s best friends are his ten fingers. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The past has no power over the present moment. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. What you get by achieving your goals is not as important as what you become by achieving your goals. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I may not have gone where I intended to go, but I think I have ended up where I needed to be. How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If it scares you, it might be a good thing to try. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You will succeed because most people are lazy. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Flexible settings enable you to set up a custom key for comparison and synchronization. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A query is used to extract data from the database in a readable format according to the user\'s request. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A man is not old until regrets take the place of dreams. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The past has no power over the present moment. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You must be the change you wish to see in the world. I will greet this day with love in my heart. It wasn’t raining when Noah built the ark. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The first step is as good as half over. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Success consists of going from failure to failure without loss of enthusiasm. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A comfort zone is a beautiful place, but nothing ever grows there. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The reason why a great man is great is that he resolves to be a great man.', NULL, 'A man’s best friends are his ten fingers. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I will greet this day with love in my heart. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Sometimes you win, sometimes you learn. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If opportunity doesn’t knock, build a door. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('101', 'C:\\Users\\Administrator\\Pictures\\img_802864.jpg', 'hnFY4', NULL, NULL, 'z8gNtl60fr', '13-3-4 Toyohira 3 Jo, Toyohira Ward', NULL, '2022-09-14 00:39:44', '2007-12-08 20:14:03', 798.1823, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The past has no power over the present moment. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has ever made anything of importance was disciplined. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The first step is as good as half over. You cannot save people, you can just love them. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If opportunity doesn’t knock, build a door. It wasn’t raining when Noah built the ark. It wasn’t raining when Noah built the ark. If it scares you, it might be a good thing to try. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The past has no power over the present moment. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Anyone who has ever made anything of importance was disciplined. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You must be the change you wish to see in the world. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The reason why a great man is great is that he resolves to be a great man. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. A query is used to extract data from the database in a readable format according to the user\'s request. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Difficult circumstances serve as a textbook of life for people. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Remember that failure is an event, not a person. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All journeys have secret destinations of which the traveler is unaware. Creativity is intelligence having fun. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Champions keep playing until they get it right. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Synchronize to Database function will give you a full picture of all database differences. The first step is as good as half over. In the middle of winter I at last discovered that there was in me an invincible summer. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The first step is as good as half over. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Optimism is the one quality more associated with success and happiness than any other. Navicat 15 has added support for the system-wide dark mode. Typically, it is employed as an encrypted version of Telnet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat 15 has added support for the system-wide dark mode. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man is not old until regrets take the place of dreams. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The reason why a great man is great is that he resolves to be a great man. There is no way to happiness. Happiness is the way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. Sometimes you win, sometimes you learn. I will greet this day with love in my heart. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Genius is an infinite capacity for taking pains.', 'I destroy my enemies when I make them my friends. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. You must be the change you wish to see in the world. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man is not old until regrets take the place of dreams. A comfort zone is a beautiful place, but nothing ever grows there. A comfort zone is a beautiful place, but nothing ever grows there. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To connect to a database or schema, simply double-click it in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. I destroy my enemies when I make them my friends. You must be the change you wish to see in the world. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Sometimes you win, sometimes you learn. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I will greet this day with love in my heart. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'Genius is an infinite capacity for taking pains. All journeys have secret destinations of which the traveler is unaware. You must be the change you wish to see in the world. The Synchronize to Database function will give you a full picture of all database differences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You cannot save people, you can just love them. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. How we spend our days is, of course, how we spend our lives. Typically, it is employed as an encrypted version of Telnet. A man’s best friends are his ten fingers. It wasn’t raining when Noah built the ark. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It wasn’t raining when Noah built the ark. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If it scares you, it might be a good thing to try. Anyone who has ever made anything of importance was disciplined. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The first step is as good as half over. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If the plan doesn’t work, change the plan, but never the goal. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The past has no power over the present moment. Creativity is intelligence having fun. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To connect to a database or schema, simply double-click it in the pane. If it scares you, it might be a good thing to try. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('102', '/Users/Administrator/Pictures/img_044914.png', '60bbj', NULL, NULL, '6BxhaG4ZNL', '166 Figueroa Street', NULL, '2022-01-20 03:38:00', '2019-01-21 17:03:27', 996.1460, 'Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. All journeys have secret destinations of which the traveler is unaware. You will succeed because most people are lazy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To connect to a database or schema, simply double-click it in the pane. The reason why a great man is great is that he resolves to be a great man. If you wait, all that happens is you get older. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Champions keep playing until they get it right. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. The Synchronize to Database function will give you a full picture of all database differences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Champions keep playing until they get it right. Sometimes you win, sometimes you learn. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', 'It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In the middle of winter I at last discovered that there was in me an invincible summer. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Synchronize to Database function will give you a full picture of all database differences. If the plan doesn’t work, change the plan, but never the goal. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', NULL, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A comfort zone is a beautiful place, but nothing ever grows there. How we spend our days is, of course, how we spend our lives. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('103', 'C:\\Users\\Administrator\\Pictures\\img_282738.png', '9dYti', NULL, NULL, 'OEeDoAVATx', '732 1st Ave', NULL, '2021-03-28 23:20:32', '2005-04-08 12:23:49', 818.0655, 'How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The reason why a great man is great is that he resolves to be a great man. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has ever made anything of importance was disciplined. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You will succeed because most people are lazy. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. How we spend our days is, of course, how we spend our lives. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If you wait, all that happens is you get older. Remember that failure is an event, not a person. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The past has no power over the present moment. The reason why a great man is great is that he resolves to be a great man. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Optimism is the one quality more associated with success and happiness than any other. The reason why a great man is great is that he resolves to be a great man. The past has no power over the present moment. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All journeys have secret destinations of which the traveler is unaware. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All journeys have secret destinations of which the traveler is unaware. I will greet this day with love in my heart. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Optimism is the one quality more associated with success and happiness than any other. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I destroy my enemies when I make them my friends. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. What you get by achieving your goals is not as important as what you become by achieving your goals. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Synchronize to Database function will give you a full picture of all database differences. How we spend our days is, of course, how we spend our lives. The On Startup feature allows you to control what tabs appear when you launch Navicat. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. There is no way to happiness. Happiness is the way.', 'Optimism is the one quality more associated with success and happiness than any other. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I destroy my enemies when I make them my friends. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If it scares you, it might be a good thing to try. What you get by achieving your goals is not as important as what you become by achieving your goals. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the middle of winter I at last discovered that there was in me an invincible summer. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat 15 has added support for the system-wide dark mode. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat 15 has added support for the system-wide dark mode. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man’s best friends are his ten fingers. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I destroy my enemies when I make them my friends. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You cannot save people, you can just love them. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', NULL, 'Flexible settings enable you to set up a custom key for comparison and synchronization. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. What you get by achieving your goals is not as important as what you become by achieving your goals. Typically, it is employed as an encrypted version of Telnet. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You will succeed because most people are lazy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All journeys have secret destinations of which the traveler is unaware. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Optimism is the one quality more associated with success and happiness than any other. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Remember that failure is an event, not a person. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man’s best friends are his ten fingers. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Remember that failure is an event, not a person. A query is used to extract data from the database in a readable format according to the user\'s request. Sometimes you win, sometimes you learn. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Difficult circumstances serve as a textbook of life for people. Flexible settings enable you to set up a custom key for comparison and synchronization. Flexible settings enable you to set up a custom key for comparison and synchronization. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Champions keep playing until they get it right. The On Startup feature allows you to control what tabs appear when you launch Navicat. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Champions keep playing until they get it right. Creativity is intelligence having fun. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('104', '/home/Administrator/Pictures/img_970049.jpg', '635PW', NULL, NULL, 'YFmH7vzPpu', '347 Ganlan Rd, Pudong', NULL, '2022-05-08 22:00:53', '2004-02-23 17:45:15', 569.4589, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Success consists of going from failure to failure without loss of enthusiasm. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To connect to a database or schema, simply double-click it in the pane. Champions keep playing until they get it right. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To connect to a database or schema, simply double-click it in the pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The past has no power over the present moment. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If it scares you, it might be a good thing to try. What you get by achieving your goals is not as important as what you become by achieving your goals. Flexible settings enable you to set up a custom key for comparison and synchronization. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. Anyone who has never made a mistake has never tried anything new. You must be the change you wish to see in the world. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To connect to a database or schema, simply double-click it in the pane. If you wait, all that happens is you get older. The reason why a great man is great is that he resolves to be a great man. The Synchronize to Database function will give you a full picture of all database differences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If you wait, all that happens is you get older. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In the middle of winter I at last discovered that there was in me an invincible summer. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man’s best friends are his ten fingers. How we spend our days is, of course, how we spend our lives. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To connect to a database or schema, simply double-click it in the pane. You must be the change you wish to see in the world. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All journeys have secret destinations of which the traveler is unaware. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A comfort zone is a beautiful place, but nothing ever grows there. If the plan doesn’t work, change the plan, but never the goal. The On Startup feature allows you to control what tabs appear when you launch Navicat. Champions keep playing until they get it right. A man is not old until regrets take the place of dreams. In the middle of winter I at last discovered that there was in me an invincible summer. A man is not old until regrets take the place of dreams. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you.', 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The reason why a great man is great is that he resolves to be a great man. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You must be the change you wish to see in the world. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Sometimes you win, sometimes you learn. All journeys have secret destinations of which the traveler is unaware. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Optimism is the one quality more associated with success and happiness than any other. In the middle of winter I at last discovered that there was in me an invincible summer. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Optimism is the one quality more associated with success and happiness than any other. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The reason why a great man is great is that he resolves to be a great man.', NULL, 'Sometimes you win, sometimes you learn. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Difficult circumstances serve as a textbook of life for people. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I destroy my enemies when I make them my friends. The first step is as good as half over. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A man’s best friends are his ten fingers. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. Genius is an infinite capacity for taking pains. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A comfort zone is a beautiful place, but nothing ever grows there. The Synchronize to Database function will give you a full picture of all database differences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('105', '/Users/Administrator/Pictures/img_873473.png', 'C77wS', NULL, NULL, '32PbIocbT2', '605 North Michigan Ave', NULL, '2023-08-18 03:39:39', '2009-06-07 05:03:11', 445.1261, 'Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The On Startup feature allows you to control what tabs appear when you launch Navicat. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', 'Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Synchronize to Database function will give you a full picture of all database differences. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The first step is as good as half over. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. I destroy my enemies when I make them my friends. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Typically, it is employed as an encrypted version of Telnet. What you get by achieving your goals is not as important as what you become by achieving your goals. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I will greet this day with love in my heart. A comfort zone is a beautiful place, but nothing ever grows there. The reason why a great man is great is that he resolves to be a great man. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If you wait, all that happens is you get older. You must be the change you wish to see in the world. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Champions keep playing until they get it right. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. All journeys have secret destinations of which the traveler is unaware. Creativity is intelligence having fun. A man is not old until regrets take the place of dreams. Success consists of going from failure to failure without loss of enthusiasm. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It wasn’t raining when Noah built the ark. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The past has no power over the present moment. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Champions keep playing until they get it right. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If opportunity doesn’t knock, build a door. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Difficult circumstances serve as a textbook of life for people. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Remember that failure is an event, not a person. The reason why a great man is great is that he resolves to be a great man. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I destroy my enemies when I make them my friends. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Synchronize to Database function will give you a full picture of all database differences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Genius is an infinite capacity for taking pains. Sometimes you win, sometimes you learn. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has never made a mistake has never tried anything new. You cannot save people, you can just love them. A man’s best friends are his ten fingers. Champions keep playing until they get it right. The reason why a great man is great is that he resolves to be a great man. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Flexible settings enable you to set up a custom key for comparison and synchronization. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The first step is as good as half over. Navicat 15 has added support for the system-wide dark mode. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Success consists of going from failure to failure without loss of enthusiasm. Remember that failure is an event, not a person. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Anyone who has never made a mistake has never tried anything new. A man’s best friends are his ten fingers. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has ever made anything of importance was disciplined. Champions keep playing until they get it right. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Difficult circumstances serve as a textbook of life for people. What you get by achieving your goals is not as important as what you become by achieving your goals. If you wait, all that happens is you get older. Champions keep playing until they get it right.', NULL, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Optimism is the one quality more associated with success and happiness than any other. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. There is no way to happiness. Happiness is the way. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Typically, it is employed as an encrypted version of Telnet. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Anyone who has ever made anything of importance was disciplined. How we spend our days is, of course, how we spend our lives. Champions keep playing until they get it right. You must be the change you wish to see in the world. Sometimes you win, sometimes you learn. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It wasn’t raining when Noah built the ark. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You cannot save people, you can just love them. If you wait, all that happens is you get older. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Difficult circumstances serve as a textbook of life for people. Typically, it is employed as an encrypted version of Telnet. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has ever made anything of importance was disciplined. Optimism is the one quality more associated with success and happiness than any other. There is no way to happiness. Happiness is the way. A man is not old until regrets take the place of dreams. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man’s best friends are his ten fingers. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Champions keep playing until they get it right. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. If you wait, all that happens is you get older. The Synchronize to Database function will give you a full picture of all database differences. Creativity is intelligence having fun. All journeys have secret destinations of which the traveler is unaware. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A man’s best friends are his ten fingers. Success consists of going from failure to failure without loss of enthusiasm. It wasn’t raining when Noah built the ark. In the middle of winter I at last discovered that there was in me an invincible summer. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('106', 'C:\\Users\\Administrator\\Pictures\\img_374663.png', 'KjyuF', NULL, NULL, 'BOTzgds0pg', '1-7-9 Saidaiji Akodacho', NULL, '2021-01-16 22:45:37', '2006-09-08 08:14:37', 711.0428, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If it scares you, it might be a good thing to try. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the middle of winter I at last discovered that there was in me an invincible summer. If it scares you, it might be a good thing to try. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A comfort zone is a beautiful place, but nothing ever grows there. The past has no power over the present moment. If it scares you, it might be a good thing to try. The past has no power over the present moment. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I destroy my enemies when I make them my friends. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat 15 has added support for the system-wide dark mode. In the middle of winter I at last discovered that there was in me an invincible summer. All journeys have secret destinations of which the traveler is unaware. If you wait, all that happens is you get older. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It wasn’t raining when Noah built the ark. Typically, it is employed as an encrypted version of Telnet. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I will greet this day with love in my heart. Creativity is intelligence having fun. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. There is no way to happiness. Happiness is the way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Sometimes you win, sometimes you learn. Typically, it is employed as an encrypted version of Telnet. The Synchronize to Database function will give you a full picture of all database differences. A man’s best friends are his ten fingers. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The On Startup feature allows you to control what tabs appear when you launch Navicat. Genius is an infinite capacity for taking pains. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It wasn’t raining when Noah built the ark. The reason why a great man is great is that he resolves to be a great man. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. Success consists of going from failure to failure without loss of enthusiasm. I destroy my enemies when I make them my friends.', 'The Synchronize to Database function will give you a full picture of all database differences. The On Startup feature allows you to control what tabs appear when you launch Navicat. If opportunity doesn’t knock, build a door. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat 15 has added support for the system-wide dark mode. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If it scares you, it might be a good thing to try. In the middle of winter I at last discovered that there was in me an invincible summer. It wasn’t raining when Noah built the ark. If it scares you, it might be a good thing to try. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', NULL, 'The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Flexible settings enable you to set up a custom key for comparison and synchronization. There is no way to happiness. Happiness is the way. If the plan doesn’t work, change the plan, but never the goal. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It wasn’t raining when Noah built the ark. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. All journeys have secret destinations of which the traveler is unaware. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. There is no way to happiness. Happiness is the way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A query is used to extract data from the database in a readable format according to the user\'s request. If you wait, all that happens is you get older. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. How we spend our days is, of course, how we spend our lives. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To connect to a database or schema, simply double-click it in the pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A query is used to extract data from the database in a readable format according to the user\'s request. It wasn’t raining when Noah built the ark. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Anyone who has ever made anything of importance was disciplined. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If you wait, all that happens is you get older. Genius is an infinite capacity for taking pains. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To connect to a database or schema, simply double-click it in the pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You must be the change you wish to see in the world. What you get by achieving your goals is not as important as what you become by achieving your goals. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You will succeed because most people are lazy. Difficult circumstances serve as a textbook of life for people. There is no way to happiness. Happiness is the way. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the middle of winter I at last discovered that there was in me an invincible summer. Optimism is the one quality more associated with success and happiness than any other. A comfort zone is a beautiful place, but nothing ever grows there. How we spend our days is, of course, how we spend our lives. If you wait, all that happens is you get older. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You must be the change you wish to see in the world. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The On Startup feature allows you to control what tabs appear when you launch Navicat. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Genius is an infinite capacity for taking pains. Optimism is the one quality more associated with success and happiness than any other. Anyone who has ever made anything of importance was disciplined. You cannot save people, you can just love them. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The reason why a great man is great is that he resolves to be a great man. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If opportunity doesn’t knock, build a door. The past has no power over the present moment. The On Startup feature allows you to control what tabs appear when you launch Navicat. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Optimism is the one quality more associated with success and happiness than any other. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s '); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('107', 'C:\\Users\\Administrator\\Pictures\\img_086129.png', 'wxH7m', NULL, NULL, 'LTIz4PDhP9', '729 Tremont Road', NULL, '2020-06-05 04:02:36', '2003-04-14 23:29:58', 48.9839, 'If opportunity doesn’t knock, build a door. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I destroy my enemies when I make them my friends. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You must be the change you wish to see in the world. How we spend our days is, of course, how we spend our lives. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Anyone who has ever made anything of importance was disciplined. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The past has no power over the present moment. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Synchronize to Database function will give you a full picture of all database differences. All journeys have secret destinations of which the traveler is unaware. I destroy my enemies when I make them my friends. The past has no power over the present moment. The On Startup feature allows you to control what tabs appear when you launch Navicat. How we spend our days is, of course, how we spend our lives. A man’s best friends are his ten fingers. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To connect to a database or schema, simply double-click it in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat 15 has added support for the system-wide dark mode. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Sometimes you win, sometimes you learn. The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The first step is as good as half over. I destroy my enemies when I make them my friends. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The past has no power over the present moment. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If the plan doesn’t work, change the plan, but never the goal. You cannot save people, you can just love them. Creativity is intelligence having fun. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. There is no way to happiness. Happiness is the way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has never made a mistake has never tried anything new. A query is used to extract data from the database in a readable format according to the user\'s request. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. How we spend our days is, of course, how we spend our lives. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The past has no power over the present moment. It wasn’t raining when Noah built the ark. The Synchronize to Database function will give you a full picture of all database differences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You cannot save people, you can just love them. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. You cannot save people, you can just love them. If you wait, all that happens is you get older. There is no way to happiness. Happiness is the way. If the plan doesn’t work, change the plan, but never the goal. Difficult circumstances serve as a textbook of life for people. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I will greet this day with love in my heart. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If it scares you, it might be a good thing to try. If opportunity doesn’t knock, build a door. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The reason why a great man is great is that he resolves to be a great man. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man’s best friends are his ten fingers. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The past has no power over the present moment. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The first step is as good as half over. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Synchronize to Database function will give you a full picture of all database differences. Success consists of going from failure to failure without loss of enthusiasm. Sometimes you win, sometimes you learn. A man’s best friends are his ten fingers. The Synchronize to Database function will give you a full picture of all database differences. The past has no power over the present moment. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man is not old until regrets take the place of dreams. If you wait, all that happens is you get older. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Sometimes you win, sometimes you learn. If it scares you, it might be a good thing to try. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I will greet this day with love in my heart. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Genius is an infinite capacity for taking pains. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The reason why a great man is great is that he resolves to be a great man. You cannot save people, you can just love them. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat 15 has added support for the system-wide dark mode.', NULL, 'The reason why a great man is great is that he resolves to be a great man. The Synchronize to Database function will give you a full picture of all database differences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I destroy my enemies when I make them my friends. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If it scares you, it might be a good thing to try. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If the plan doesn’t work, change the plan, but never the goal. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Sometimes you win, sometimes you learn. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Optimism is the one quality more associated with success and happiness than any other. In the middle of winter I at last discovered that there was in me an invincible summer. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. There is no way to happiness. Happiness is the way. If opportunity doesn’t knock, build a door. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. Navicat 15 has added support for the system-wide dark mode. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Creativity is intelligence having fun. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man is not old until regrets take the place of dreams. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('108', 'C:\\Users\\Administrator\\Pictures\\img_694400.jpg', 'Sd6Xb', NULL, NULL, 'bsRPCbJiZc', '610 FuXingMenNei Street, XiCheng District', NULL, '2024-05-28 01:03:41', '2022-10-08 03:19:57', 289.6262, 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Difficult circumstances serve as a textbook of life for people. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Remember that failure is an event, not a person. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. There is no way to happiness. Happiness is the way. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A comfort zone is a beautiful place, but nothing ever grows there. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Champions keep playing until they get it right. Actually it is just in an idea when feel oneself can achieve and cannot achieve. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You cannot save people, you can just love them. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All journeys have secret destinations of which the traveler is unaware. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man’s best friends are his ten fingers. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Genius is an infinite capacity for taking pains. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I destroy my enemies when I make them my friends. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Remember that failure is an event, not a person. The first step is as good as half over. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I will greet this day with love in my heart. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat 15 has added support for the system-wide dark mode. A man’s best friends are his ten fingers. Difficult circumstances serve as a textbook of life for people. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has ever made anything of importance was disciplined. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man’s best friends are his ten fingers. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has ever made anything of importance was disciplined. It wasn’t raining when Noah built the ark. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. How we spend our days is, of course, how we spend our lives. Champions keep playing until they get it right. Difficult circumstances serve as a textbook of life for people. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Sometimes you win, sometimes you learn. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The past has no power over the present moment. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Optimism is the one quality more associated with success and happiness than any other. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. Success consists of going from failure to failure without loss of enthusiasm. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Champions keep playing until they get it right. If the plan doesn’t work, change the plan, but never the goal. If opportunity doesn’t knock, build a door. All journeys have secret destinations of which the traveler is unaware. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man’s best friends are his ten fingers. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.', 'The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To connect to a database or schema, simply double-click it in the pane. Champions keep playing until they get it right. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Anyone who has never made a mistake has never tried anything new. A query is used to extract data from the database in a readable format according to the user\'s request. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. Anyone who has ever made anything of importance was disciplined. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You cannot save people, you can just love them. If you wait, all that happens is you get older. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I destroy my enemies when I make them my friends. How we spend our days is, of course, how we spend our lives. Success consists of going from failure to failure without loss of enthusiasm. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the plan doesn’t work, change the plan, but never the goal. I destroy my enemies when I make them my friends. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Success consists of going from failure to failure without loss of enthusiasm. The Synchronize to Database function will give you a full picture of all database differences. If opportunity doesn’t knock, build a door. Creativity is intelligence having fun. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You cannot save people, you can just love them. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If opportunity doesn’t knock, build a door. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If you wait, all that happens is you get older. If opportunity doesn’t knock, build a door. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has never made a mistake has never tried anything new. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A query is used to extract data from the database in a readable format according to the user\'s request. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. Flexible settings enable you to set up a custom key for comparison and synchronization. I will greet this day with love in my heart. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.', NULL, 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It wasn’t raining when Noah built the ark. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('109', '/Users/Administrator/Pictures/img_979059.jpg', 'WONm8', NULL, NULL, 'cjuSr212SC', '597 Sky Way', NULL, '2022-01-10 09:38:31', '2006-06-26 17:17:29', 502.3270, 'Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat 15 has added support for the system-wide dark mode. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You will succeed because most people are lazy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Champions keep playing until they get it right. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If it scares you, it might be a good thing to try. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. You cannot save people, you can just love them. The past has no power over the present moment. All journeys have secret destinations of which the traveler is unaware. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In the middle of winter I at last discovered that there was in me an invincible summer. A man’s best friends are his ten fingers. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Remember that failure is an event, not a person. What you get by achieving your goals is not as important as what you become by achieving your goals. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The past has no power over the present moment. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat 15 has added support for the system-wide dark mode. The reason why a great man is great is that he resolves to be a great man. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Synchronize to Database function will give you a full picture of all database differences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.', 'The Synchronize to Database function will give you a full picture of all database differences. In the middle of winter I at last discovered that there was in me an invincible summer.', NULL, 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It wasn’t raining when Noah built the ark. Difficult circumstances serve as a textbook of life for people. Champions keep playing until they get it right. To connect to a database or schema, simply double-click it in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Anyone who has ever made anything of importance was disciplined. I destroy my enemies when I make them my friends. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has ever made anything of importance was disciplined. The first step is as good as half over. Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('11', '/Users/Administrator/Pictures/img_860024.png', 'd08tq', NULL, NULL, 'mu3YAG2MxX', '12 3-803 Kusunokiajima, Kita Ward', NULL, '2024-08-19 15:22:15', '2013-02-15 03:40:27', 521.5692, 'All journeys have secret destinations of which the traveler is unaware. I destroy my enemies when I make them my friends. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. What you get by achieving your goals is not as important as what you become by achieving your goals. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If you wait, all that happens is you get older. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Difficult circumstances serve as a textbook of life for people. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. There is no way to happiness. Happiness is the way. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Difficult circumstances serve as a textbook of life for people. If the plan doesn’t work, change the plan, but never the goal. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A man is not old until regrets take the place of dreams. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The On Startup feature allows you to control what tabs appear when you launch Navicat. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Success consists of going from failure to failure without loss of enthusiasm. Remember that failure is an event, not a person. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It wasn’t raining when Noah built the ark. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.', 'Optimism is the one quality more associated with success and happiness than any other. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Anyone who has ever made anything of importance was disciplined. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. There is no way to happiness. Happiness is the way. To connect to a database or schema, simply double-click it in the pane. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has ever made anything of importance was disciplined. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man’s best friends are his ten fingers. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. The On Startup feature allows you to control what tabs appear when you launch Navicat. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Typically, it is employed as an encrypted version of Telnet. To connect to a database or schema, simply double-click it in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the plan doesn’t work, change the plan, but never the goal. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A query is used to extract data from the database in a readable format according to the user\'s request. Anyone who has ever made anything of importance was disciplined. It wasn’t raining when Noah built the ark. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A comfort zone is a beautiful place, but nothing ever grows there. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Optimism is the one quality more associated with success and happiness than any other. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has ever made anything of importance was disciplined. A man is not old until regrets take the place of dreams. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If it scares you, it might be a good thing to try. Difficult circumstances serve as a textbook of life for people. You cannot save people, you can just love them. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man’s best friends are his ten fingers. Difficult circumstances serve as a textbook of life for people. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The first step is as good as half over. I will greet this day with love in my heart. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man’s best friends are his ten fingers. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A comfort zone is a beautiful place, but nothing ever grows there. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man’s best friends are his ten fingers. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) ', NULL, 'Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If you wait, all that happens is you get older. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Remember that failure is an event, not a person. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I will greet this day with love in my heart. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man’s best friends are his ten fingers. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Champions keep playing until they get it right. The first step is as good as half over. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has ever made anything of importance was disciplined. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A man’s best friends are his ten fingers. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Anyone who has ever made anything of importance was disciplined. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The first step is as good as half over. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Optimism is the one quality more associated with success and happiness than any other. The past has no power over the present moment. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. There is no way to happiness. Happiness is the way. Navicat 15 has added support for the system-wide dark mode. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To connect to a database or schema, simply double-click it in the pane. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. How we spend our days is, of course, how we spend our lives. If you wait, all that happens is you get older. I destroy my enemies when I make them my friends. The On Startup feature allows you to control what tabs appear when you launch Navicat. To connect to a database or schema, simply double-click it in the pane. Navicat 15 has added support for the system-wide dark mode.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('110', '/home/Administrator/Pictures/img_060770.jpg', 'podsP', NULL, NULL, '7Kr0YqIjYf', '872 Park End St', NULL, '2022-08-14 06:04:26', '2023-10-18 06:58:43', 345.7069, 'Difficult circumstances serve as a textbook of life for people. A comfort zone is a beautiful place, but nothing ever grows there. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Flexible settings enable you to set up a custom key for comparison and synchronization. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The On Startup feature allows you to control what tabs appear when you launch Navicat. There is no way to happiness. Happiness is the way. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It wasn’t raining when Noah built the ark. Difficult circumstances serve as a textbook of life for people. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You cannot save people, you can just love them. A query is used to extract data from the database in a readable format according to the user\'s request. If opportunity doesn’t knock, build a door. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Success consists of going from failure to failure without loss of enthusiasm. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Difficult circumstances serve as a textbook of life for people. If you wait, all that happens is you get older. What you get by achieving your goals is not as important as what you become by achieving your goals. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The past has no power over the present moment. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If you wait, all that happens is you get older. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A query is used to extract data from the database in a readable format according to the user\'s request. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man is not old until regrets take the place of dreams. If you wait, all that happens is you get older. Typically, it is employed as an encrypted version of Telnet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If it scares you, it might be a good thing to try. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Anyone who has never made a mistake has never tried anything new. The reason why a great man is great is that he resolves to be a great man. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Sometimes you win, sometimes you learn. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I destroy my enemies when I make them my friends. It wasn’t raining when Noah built the ark. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The reason why a great man is great is that he resolves to be a great man. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It wasn’t raining when Noah built the ark. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. A man’s best friends are his ten fingers. There is no way to happiness. Happiness is the way. Anyone who has ever made anything of importance was disciplined. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I destroy my enemies when I make them my friends. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If opportunity doesn’t knock, build a door. There is no way to happiness. Happiness is the way. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To connect to a database or schema, simply double-click it in the pane. Optimism is the one quality more associated with success and happiness than any other. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You will succeed because most people are lazy. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The first step is as good as half over. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Difficult circumstances serve as a textbook of life for people. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Optimism is the one quality more associated with success and happiness than any other. In the middle of winter I at last discovered that there was in me an invincible summer. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.', 'You cannot save people, you can just love them. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Creativity is intelligence having fun. To connect to a database or schema, simply double-click it in the pane. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The past has no power over the present moment. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Champions keep playing until they get it right. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All journeys have secret destinations of which the traveler is unaware. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.', NULL, 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A comfort zone is a beautiful place, but nothing ever grows there. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A query is used to extract data from the database in a readable format according to the user\'s request. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A comfort zone is a beautiful place, but nothing ever grows there. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Optimism is the one quality more associated with success and happiness than any other. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The first step is as good as half over. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A comfort zone is a beautiful place, but nothing ever grows there. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Synchronize to Database function will give you a full picture of all database differences. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I will greet this day with love in my heart. A man is not old until regrets take the place of dreams. The first step is as good as half over. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. Anyone who has ever made anything of importance was disciplined. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You will succeed because most people are lazy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You must be the change you wish to see in the world. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It wasn’t raining when Noah built the ark. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I will greet this day with love in my heart. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Difficult circumstances serve as a textbook of life for people. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Typically, it is employed as an encrypted version of Telnet. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I destroy my enemies when I make them my friends. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. Success consists of going from failure to failure without loss of enthusiasm. You cannot save people, you can just love them. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Flexible settings enable you to set up a custom key for comparison and synchronization.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('111', '/home/Administrator/Pictures/img_841236.png', 'dapgl', NULL, NULL, 'SyFaYfy0Fy', '727 The Pavilion, Lammas Field, Driftway', NULL, '2022-05-27 01:07:24', '2007-08-21 04:13:40', 614.8513, 'You cannot save people, you can just love them. The first step is as good as half over. Flexible settings enable you to set up a custom key for comparison and synchronization. I will greet this day with love in my heart. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A query is used to extract data from the database in a readable format according to the user\'s request. The first step is as good as half over. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I will greet this day with love in my heart. A man’s best friends are his ten fingers. You will succeed because most people are lazy. You cannot save people, you can just love them. Genius is an infinite capacity for taking pains. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You will succeed because most people are lazy. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. If you wait, all that happens is you get older. I will greet this day with love in my heart. Sometimes you win, sometimes you learn. A man is not old until regrets take the place of dreams. The Synchronize to Database function will give you a full picture of all database differences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I will greet this day with love in my heart. If opportunity doesn’t knock, build a door. Typically, it is employed as an encrypted version of Telnet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A man’s best friends are his ten fingers. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Anyone who has ever made anything of importance was disciplined. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You cannot save people, you can just love them. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Champions keep playing until they get it right. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A comfort zone is a beautiful place, but nothing ever grows there. If you wait, all that happens is you get older. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You cannot save people, you can just love them. Navicat 15 has added support for the system-wide dark mode. Creativity is intelligence having fun. To connect to a database or schema, simply double-click it in the pane. If it scares you, it might be a good thing to try.', 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Typically, it is employed as an encrypted version of Telnet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Remember that failure is an event, not a person. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Flexible settings enable you to set up a custom key for comparison and synchronization. If you wait, all that happens is you get older. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It wasn’t raining when Noah built the ark. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Anyone who has never made a mistake has never tried anything new. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You will succeed because most people are lazy. Champions keep playing until they get it right. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', NULL, 'It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A man is not old until regrets take the place of dreams. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. There is no way to happiness. Happiness is the way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Anyone who has ever made anything of importance was disciplined. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If you wait, all that happens is you get older. All journeys have secret destinations of which the traveler is unaware. Optimism is the one quality more associated with success and happiness than any other. Typically, it is employed as an encrypted version of Telnet. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I destroy my enemies when I make them my friends. If it scares you, it might be a good thing to try. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I may not have gone where I intended to go, but I think I have ended up where I needed to be. What you get by achieving your goals is not as important as what you become by achieving your goals. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The reason why a great man is great is that he resolves to be a great man. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Synchronize to Database function will give you a full picture of all database differences. Navicat 15 has added support for the system-wide dark mode. There is no way to happiness. Happiness is the way. A man’s best friends are his ten fingers. How we spend our days is, of course, how we spend our lives. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A man’s best friends are his ten fingers. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The first step is as good as half over. You cannot save people, you can just love them. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('112', '/home/Administrator/Pictures/img_222234.png', 'EwgVs', NULL, NULL, 'poPLkIk6s1', '47 New Wakefield St', NULL, '2020-09-26 17:48:59', '2019-01-10 18:56:27', 378.9557, 'Flexible settings enable you to set up a custom key for comparison and synchronization. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. It wasn’t raining when Noah built the ark. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Anyone who has never made a mistake has never tried anything new. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Creativity is intelligence having fun. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. There is no way to happiness. Happiness is the way. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In the middle of winter I at last discovered that there was in me an invincible summer. A query is used to extract data from the database in a readable format according to the user\'s request. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Synchronize to Database function will give you a full picture of all database differences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I destroy my enemies when I make them my friends. The past has no power over the present moment. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the plan doesn’t work, change the plan, but never the goal. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Optimism is the one quality more associated with success and happiness than any other. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. Navicat 15 has added support for the system-wide dark mode. If the plan doesn’t work, change the plan, but never the goal. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It wasn’t raining when Noah built the ark. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Remember that failure is an event, not a person. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat 15 has added support for the system-wide dark mode. You must be the change you wish to see in the world. In the middle of winter I at last discovered that there was in me an invincible summer. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You will succeed because most people are lazy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat 15 has added support for the system-wide dark mode. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You cannot save people, you can just love them. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.', 'You will succeed because most people are lazy. Typically, it is employed as an encrypted version of Telnet. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Creativity is intelligence having fun. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If you wait, all that happens is you get older. I will greet this day with love in my heart. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If you wait, all that happens is you get older. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If the plan doesn’t work, change the plan, but never the goal. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man is not old until regrets take the place of dreams. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window.', NULL, 'All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Flexible settings enable you to set up a custom key for comparison and synchronization. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You cannot save people, you can just love them. Creativity is intelligence having fun. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All journeys have secret destinations of which the traveler is unaware. Sometimes you win, sometimes you learn. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I destroy my enemies when I make them my friends. I destroy my enemies when I make them my friends. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Synchronize to Database function will give you a full picture of all database differences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I will greet this day with love in my heart. To connect to a database or schema, simply double-click it in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To connect to a database or schema, simply double-click it in the pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I will greet this day with love in my heart. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The reason why a great man is great is that he resolves to be a great man. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All journeys have secret destinations of which the traveler is unaware. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The first step is as good as half over. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has ever made anything of importance was disciplined. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the plan doesn’t work, change the plan, but never the goal. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Anyone who has ever made anything of importance was disciplined. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A man’s best friends are his ten fingers. If opportunity doesn’t knock, build a door. Champions keep playing until they get it right. All journeys have secret destinations of which the traveler is unaware. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Difficult circumstances serve as a textbook of life for people. A query is used to extract data from the database in a readable format according to the user\'s request. The reason why a great man is great is that he resolves to be a great man. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A query is used to extract data from the database in a readable format according to the user\'s request. You will succeed because most people are lazy. Anyone who has ever made anything of importance was disciplined. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the plan doesn’t work, change the plan, but never the goal. The past has no power over the present moment. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Difficult circumstances serve as a textbook of life for people. I destroy my enemies when I make them my friends. If you wait, all that happens is you get older. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('113', '/home/Administrator/Pictures/img_095562.jpg', 'D4ivw', NULL, NULL, 'm0ELpS2OUM', '104 Pedway', NULL, '2024-04-04 17:21:10', '2012-10-30 15:57:14', 476.6682, 'If opportunity doesn’t knock, build a door. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Genius is an infinite capacity for taking pains. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. I will greet this day with love in my heart. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man’s best friends are his ten fingers. A man’s best friends are his ten fingers. What you get by achieving your goals is not as important as what you become by achieving your goals. A query is used to extract data from the database in a readable format according to the user\'s request. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All journeys have secret destinations of which the traveler is unaware. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. There is no way to happiness. Happiness is the way. Success consists of going from failure to failure without loss of enthusiasm. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If opportunity doesn’t knock, build a door. Genius is an infinite capacity for taking pains. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. There is no way to happiness. Happiness is the way. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Success consists of going from failure to failure without loss of enthusiasm. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Genius is an infinite capacity for taking pains. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A query is used to extract data from the database in a readable format according to the user\'s request. Optimism is the one quality more associated with success and happiness than any other. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.', 'Anyone who has never made a mistake has never tried anything new. If it scares you, it might be a good thing to try. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In the middle of winter I at last discovered that there was in me an invincible summer. All journeys have secret destinations of which the traveler is unaware. Creativity is intelligence having fun. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All journeys have secret destinations of which the traveler is unaware. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The past has no power over the present moment. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat 15 has added support for the system-wide dark mode. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It wasn’t raining when Noah built the ark. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You cannot save people, you can just love them. You must be the change you wish to see in the world. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To connect to a database or schema, simply double-click it in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man is not old until regrets take the place of dreams. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor requires a repository to store alerts and metrics for historical analysis.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('114', 'C:\\Users\\Administrator\\Pictures\\img_339929.png', '2h3dQ', NULL, NULL, 'CBvBFwgPve', '822 Ridgewood Road', NULL, '2023-12-03 22:31:47', '2008-06-21 07:12:19', 182.1189, 'Success consists of going from failure to failure without loss of enthusiasm. Flexible settings enable you to set up a custom key for comparison and synchronization. You will succeed because most people are lazy. If the plan doesn’t work, change the plan, but never the goal. It wasn’t raining when Noah built the ark. Typically, it is employed as an encrypted version of Telnet. Navicat 15 has added support for the system-wide dark mode. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. What you get by achieving your goals is not as important as what you become by achieving your goals. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Sometimes you win, sometimes you learn. You must be the change you wish to see in the world. If it scares you, it might be a good thing to try. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If it scares you, it might be a good thing to try. I may not have gone where I intended to go, but I think I have ended up where I needed to be. There is no way to happiness. Happiness is the way. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. How we spend our days is, of course, how we spend our lives. Sometimes you win, sometimes you learn. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To connect to a database or schema, simply double-click it in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. The reason why a great man is great is that he resolves to be a great man. You must be the change you wish to see in the world. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To connect to a database or schema, simply double-click it in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has ever made anything of importance was disciplined. It wasn’t raining when Noah built the ark. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Creativity is intelligence having fun. Flexible settings enable you to set up a custom key for comparison and synchronization. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Typically, it is employed as an encrypted version of Telnet. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A query is used to extract data from the database in a readable format according to the user\'s request.', 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I destroy my enemies when I make them my friends. You cannot save people, you can just love them. If it scares you, it might be a good thing to try. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Synchronize to Database function will give you a full picture of all database differences. Difficult circumstances serve as a textbook of life for people. Actually it is just in an idea when feel oneself can achieve and cannot achieve. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If opportunity doesn’t knock, build a door. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Sometimes you win, sometimes you learn. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has ever made anything of importance was disciplined. In the middle of winter I at last discovered that there was in me an invincible summer. If opportunity doesn’t knock, build a door. How we spend our days is, of course, how we spend our lives. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Remember that failure is an event, not a person. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To connect to a database or schema, simply double-click it in the pane. If opportunity doesn’t knock, build a door. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The first step is as good as half over. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You cannot save people, you can just love them. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Optimism is the one quality more associated with success and happiness than any other. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The first step is as good as half over. A man is not old until regrets take the place of dreams. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the plan doesn’t work, change the plan, but never the goal. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If opportunity doesn’t knock, build a door. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Remember that failure is an event, not a person.', NULL, 'A man is not old until regrets take the place of dreams. Sometimes you win, sometimes you learn. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Anyone who has never made a mistake has never tried anything new. The reason why a great man is great is that he resolves to be a great man. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Sometimes you win, sometimes you learn. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If you wait, all that happens is you get older. I may not have gone where I intended to go, but I think I have ended up where I needed to be. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Genius is an infinite capacity for taking pains. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Champions keep playing until they get it right. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Success consists of going from failure to failure without loss of enthusiasm. Difficult circumstances serve as a textbook of life for people. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I will greet this day with love in my heart. To connect to a database or schema, simply double-click it in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the plan doesn’t work, change the plan, but never the goal. If the plan doesn’t work, change the plan, but never the goal. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Remember that failure is an event, not a person. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Genius is an infinite capacity for taking pains. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Champions keep playing until they get it right. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Creativity is intelligence having fun. If you wait, all that happens is you get older. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. If opportunity doesn’t knock, build a door. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If the plan doesn’t work, change the plan, but never the goal. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The On Startup feature allows you to control what tabs appear when you launch Navicat. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. A man’s best friends are his ten fingers. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The On Startup feature allows you to control what tabs appear when you launch Navicat. A query is used to extract data from the database in a readable format according to the user\'s request. Champions keep playing until they get it right. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('115', '/Users/Administrator/Pictures/img_367278.png', 'ebLWc', NULL, NULL, '2DQiad9jSP', '772 Sackville St', NULL, '2021-04-14 23:47:18', '2003-12-25 08:56:11', 581.5615, 'You must be the change you wish to see in the world. The first step is as good as half over. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To connect to a database or schema, simply double-click it in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the plan doesn’t work, change the plan, but never the goal. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Difficult circumstances serve as a textbook of life for people. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. You cannot save people, you can just love them. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat 15 has added support for the system-wide dark mode. You must be the change you wish to see in the world. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Synchronize to Database function will give you a full picture of all database differences. It wasn’t raining when Noah built the ark. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I will greet this day with love in my heart. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Genius is an infinite capacity for taking pains. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Difficult circumstances serve as a textbook of life for people. Difficult circumstances serve as a textbook of life for people. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Remember that failure is an event, not a person. Optimism is the one quality more associated with success and happiness than any other. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.', 'The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Typically, it is employed as an encrypted version of Telnet. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You must be the change you wish to see in the world. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If it scares you, it might be a good thing to try. It wasn’t raining when Noah built the ark. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. There is no way to happiness. Happiness is the way. Anyone who has never made a mistake has never tried anything new. If it scares you, it might be a good thing to try. A man’s best friends are his ten fingers. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. There is no way to happiness. Happiness is the way. If the plan doesn’t work, change the plan, but never the goal. I will greet this day with love in my heart. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated.', NULL, 'All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Sometimes you win, sometimes you learn. Genius is an infinite capacity for taking pains. I destroy my enemies when I make them my friends. Creativity is intelligence having fun. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If you wait, all that happens is you get older. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If it scares you, it might be a good thing to try. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man’s best friends are his ten fingers. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Sometimes you win, sometimes you learn. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To connect to a database or schema, simply double-click it in the pane. All journeys have secret destinations of which the traveler is unaware. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If it scares you, it might be a good thing to try. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat 15 has added support for the system-wide dark mode. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. If it scares you, it might be a good thing to try. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. There is no way to happiness. Happiness is the way. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The On Startup feature allows you to control what tabs appear when you launch Navicat. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A man’s best friends are his ten fingers.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('116', 'C:\\Users\\Administrator\\Pictures\\img_775018.png', 'WrBHk', NULL, NULL, 't4EAjVnomO', '483 Lark Street', NULL, '2021-05-13 23:19:12', '2010-02-25 15:34:16', 523.8079, 'It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All journeys have secret destinations of which the traveler is unaware. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Success consists of going from failure to failure without loss of enthusiasm.', 'Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If you wait, all that happens is you get older. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A man’s best friends are his ten fingers. A man’s best friends are his ten fingers. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A query is used to extract data from the database in a readable format according to the user\'s request. The On Startup feature allows you to control what tabs appear when you launch Navicat. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I destroy my enemies when I make them my friends. A man is not old until regrets take the place of dreams. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Remember that failure is an event, not a person. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Genius is an infinite capacity for taking pains. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In the middle of winter I at last discovered that there was in me an invincible summer. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Genius is an infinite capacity for taking pains. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Optimism is the one quality more associated with success and happiness than any other. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To connect to a database or schema, simply double-click it in the pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I will greet this day with love in my heart. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The first step is as good as half over. If it scares you, it might be a good thing to try. To connect to a database or schema, simply double-click it in the pane. The Synchronize to Database function will give you a full picture of all database differences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', NULL, 'To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A query is used to extract data from the database in a readable format according to the user\'s request. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. All journeys have secret destinations of which the traveler is unaware. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It wasn’t raining when Noah built the ark. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Champions keep playing until they get it right. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Typically, it is employed as an encrypted version of Telnet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Sometimes you win, sometimes you learn. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Difficult circumstances serve as a textbook of life for people. A man is not old until regrets take the place of dreams. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It wasn’t raining when Noah built the ark. You cannot save people, you can just love them. A query is used to extract data from the database in a readable format according to the user\'s request. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To connect to a database or schema, simply double-click it in the pane. If it scares you, it might be a good thing to try. The Synchronize to Database function will give you a full picture of all database differences. If the plan doesn’t work, change the plan, but never the goal. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man is not old until regrets take the place of dreams. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I destroy my enemies when I make them my friends. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To connect to a database or schema, simply double-click it in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. There is no way to happiness. Happiness is the way. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. If it scares you, it might be a good thing to try. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In the middle of winter I at last discovered that there was in me an invincible summer. Flexible settings enable you to set up a custom key for comparison and synchronization.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('117', '/home/Administrator/Pictures/img_374685.png', '2K6sD', NULL, NULL, '56WLOq4EYa', '891 Shanhu Rd', NULL, '2021-01-12 17:30:54', '2004-06-25 08:09:02', 694.7575, 'Champions keep playing until they get it right. How we spend our days is, of course, how we spend our lives. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A comfort zone is a beautiful place, but nothing ever grows there. Genius is an infinite capacity for taking pains. All journeys have secret destinations of which the traveler is unaware. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections.', 'The first step is as good as half over. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You will succeed because most people are lazy. Optimism is the one quality more associated with success and happiness than any other. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If opportunity doesn’t knock, build a door. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Anyone who has never made a mistake has never tried anything new. The reason why a great man is great is that he resolves to be a great man. A man is not old until regrets take the place of dreams. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the plan doesn’t work, change the plan, but never the goal. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To connect to a database or schema, simply double-click it in the pane. The past has no power over the present moment. If you wait, all that happens is you get older. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The first step is as good as half over. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Difficult circumstances serve as a textbook of life for people. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The first step is as good as half over. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. There is no way to happiness. Happiness is the way. Success consists of going from failure to failure without loss of enthusiasm. The reason why a great man is great is that he resolves to be a great man. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Sometimes you win, sometimes you learn. Creativity is intelligence having fun. Success consists of going from failure to failure without loss of enthusiasm. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You must be the change you wish to see in the world. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Success consists of going from failure to failure without loss of enthusiasm. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Optimism is the one quality more associated with success and happiness than any other. The first step is as good as half over. There is no way to happiness. Happiness is the way. The reason why a great man is great is that he resolves to be a great man. Flexible settings enable you to set up a custom key for comparison and synchronization. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Champions keep playing until they get it right. I destroy my enemies when I make them my friends. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Difficult circumstances serve as a textbook of life for people. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Flexible settings enable you to set up a custom key for comparison and synchronization. You will succeed because most people are lazy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The first step is as good as half over. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.', NULL, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Anyone who has ever made anything of importance was disciplined. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You will succeed because most people are lazy. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It wasn’t raining when Noah built the ark. You will succeed because most people are lazy. You cannot save people, you can just love them. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Champions keep playing until they get it right. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If it scares you, it might be a good thing to try. Difficult circumstances serve as a textbook of life for people. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man is not old until regrets take the place of dreams. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. What you get by achieving your goals is not as important as what you become by achieving your goals. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If you wait, all that happens is you get older. I will greet this day with love in my heart. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Anyone who has ever made anything of importance was disciplined. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A comfort zone is a beautiful place, but nothing ever grows there. A query is used to extract data from the database in a readable format according to the user\'s request. It wasn’t raining when Noah built the ark. Genius is an infinite capacity for taking pains. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. I destroy my enemies when I make them my friends. A man’s best friends are his ten fingers. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Flexible settings enable you to set up a custom key for comparison and synchronization. I destroy my enemies when I make them my friends. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You cannot save people, you can just love them. Typically, it is employed as an encrypted version of Telnet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('118', '/Users/Administrator/Pictures/img_501015.png', 'Wbl9O', NULL, NULL, '1VzHbaI25A', '119 North Michigan Ave', NULL, '2024-07-06 09:14:15', '2013-10-13 10:42:36', 233.9153, 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Genius is an infinite capacity for taking pains. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Sometimes you win, sometimes you learn. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It wasn’t raining when Noah built the ark. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Sometimes you win, sometimes you learn. I will greet this day with love in my heart. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. There is no way to happiness. Happiness is the way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Sometimes you win, sometimes you learn. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To connect to a database or schema, simply double-click it in the pane. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The past has no power over the present moment. Sometimes you win, sometimes you learn. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Creativity is intelligence having fun. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I will greet this day with love in my heart. It wasn’t raining when Noah built the ark. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If it scares you, it might be a good thing to try. If you wait, all that happens is you get older. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has never made a mistake has never tried anything new. Success consists of going from failure to failure without loss of enthusiasm. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. Anyone who has ever made anything of importance was disciplined. A man’s best friends are his ten fingers. The first step is as good as half over. Navicat 15 has added support for the system-wide dark mode. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In the middle of winter I at last discovered that there was in me an invincible summer. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It wasn’t raining when Noah built the ark. What you get by achieving your goals is not as important as what you become by achieving your goals.', NULL, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Synchronize to Database function will give you a full picture of all database differences. A man is not old until regrets take the place of dreams. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In the middle of winter I at last discovered that there was in me an invincible summer. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Anyone who has ever made anything of importance was disciplined. There is no way to happiness. Happiness is the way. Champions keep playing until they get it right. Anyone who has ever made anything of importance was disciplined. Optimism is the one quality more associated with success and happiness than any other. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Champions keep playing until they get it right. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('119', '/home/Administrator/Pictures/img_493964.jpg', '0gvi4', NULL, NULL, '5EDCpbqITY', '41 FuXingMenNei Street, XiCheng District', NULL, '2022-01-07 10:30:33', '2014-02-05 18:43:24', 591.9525, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All journeys have secret destinations of which the traveler is unaware. Navicat 15 has added support for the system-wide dark mode. Remember that failure is an event, not a person. In the middle of winter I at last discovered that there was in me an invincible summer. If it scares you, it might be a good thing to try. A man’s best friends are his ten fingers. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I destroy my enemies when I make them my friends. Success consists of going from failure to failure without loss of enthusiasm. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.', 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Champions keep playing until they get it right. If it scares you, it might be a good thing to try. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If it scares you, it might be a good thing to try. If you wait, all that happens is you get older. The Synchronize to Database function will give you a full picture of all database differences. A man’s best friends are his ten fingers. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All journeys have secret destinations of which the traveler is unaware. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has never made a mistake has never tried anything new. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. How we spend our days is, of course, how we spend our lives. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Creativity is intelligence having fun. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A query is used to extract data from the database in a readable format according to the user\'s request. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. How we spend our days is, of course, how we spend our lives. Creativity is intelligence having fun. If opportunity doesn’t knock, build a door. Navicat 15 has added support for the system-wide dark mode. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. All journeys have secret destinations of which the traveler is unaware. The On Startup feature allows you to control what tabs appear when you launch Navicat. Creativity is intelligence having fun. A query is used to extract data from the database in a readable format according to the user\'s request. You cannot save people, you can just love them. Difficult circumstances serve as a textbook of life for people. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To connect to a database or schema, simply double-click it in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I will greet this day with love in my heart. Creativity is intelligence having fun. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has never made a mistake has never tried anything new. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Genius is an infinite capacity for taking pains. Genius is an infinite capacity for taking pains. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Genius is an infinite capacity for taking pains. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat 15 has added support for the system-wide dark mode. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Genius is an infinite capacity for taking pains. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Champions keep playing until they get it right. You cannot save people, you can just love them. Champions keep playing until they get it right. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You cannot save people, you can just love them. In the middle of winter I at last discovered that there was in me an invincible summer. Flexible settings enable you to set up a custom key for comparison and synchronization. If the plan doesn’t work, change the plan, but never the goal. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man’s best friends are his ten fingers. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.', NULL, 'I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the middle of winter I at last discovered that there was in me an invincible summer. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The On Startup feature allows you to control what tabs appear when you launch Navicat. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A query is used to extract data from the database in a readable format according to the user\'s request. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If it scares you, it might be a good thing to try. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It wasn’t raining when Noah built the ark. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You cannot save people, you can just love them. If you wait, all that happens is you get older. A man is not old until regrets take the place of dreams. Anyone who has never made a mistake has never tried anything new. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The reason why a great man is great is that he resolves to be a great man. The reason why a great man is great is that he resolves to be a great man. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('12', 'C:\\Users\\Administrator\\Pictures\\img_762394.png', '6P11Y', NULL, NULL, '2yzGDmpuxr', '722 Shennan Ave, Futian District', NULL, '2023-12-03 21:56:51', '2023-11-27 12:22:20', 494.6926, 'Navicat 15 has added support for the system-wide dark mode. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If it scares you, it might be a good thing to try. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Remember that failure is an event, not a person. I will greet this day with love in my heart. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.', 'The past has no power over the present moment. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Genius is an infinite capacity for taking pains. If opportunity doesn’t knock, build a door. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man’s best friends are his ten fingers. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The On Startup feature allows you to control what tabs appear when you launch Navicat. Difficult circumstances serve as a textbook of life for people. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'A man is not old until regrets take the place of dreams. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You will succeed because most people are lazy. In the middle of winter I at last discovered that there was in me an invincible summer. How we spend our days is, of course, how we spend our lives. Genius is an infinite capacity for taking pains. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If the plan doesn’t work, change the plan, but never the goal. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If it scares you, it might be a good thing to try. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Genius is an infinite capacity for taking pains. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('120', '/home/Administrator/Pictures/img_809452.jpg', 'H6ZqR', NULL, NULL, '2D3ZZpERYe', '5-19-18 Shinei 4 Jo, Kiyota Ward', NULL, '2022-11-05 06:27:38', '2000-06-03 15:46:07', 580.3832, 'The past has no power over the present moment. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.', 'It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. There is no way to happiness. Happiness is the way. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has ever made anything of importance was disciplined. If you wait, all that happens is you get older. The first step is as good as half over. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Genius is an infinite capacity for taking pains. The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A query is used to extract data from the database in a readable format according to the user\'s request. You must be the change you wish to see in the world. I destroy my enemies when I make them my friends. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Flexible settings enable you to set up a custom key for comparison and synchronization. The first step is as good as half over. Optimism is the one quality more associated with success and happiness than any other. How we spend our days is, of course, how we spend our lives. How we spend our days is, of course, how we spend our lives. Champions keep playing until they get it right. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It wasn’t raining when Noah built the ark. A man’s best friends are his ten fingers. The past has no power over the present moment. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Genius is an infinite capacity for taking pains. You will succeed because most people are lazy. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You must be the change you wish to see in the world. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Flexible settings enable you to set up a custom key for comparison and synchronization. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I may not have gone where I intended to go, but I think I have ended up where I needed to be. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat 15 has added support for the system-wide dark mode. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. What you get by achieving your goals is not as important as what you become by achieving your goals.', NULL, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('121', '/Users/Administrator/Pictures/img_886453.png', 'LUmOk', NULL, NULL, 'IDpV0v83am', '259 Canal Street', NULL, '2022-04-24 07:42:24', '2011-08-19 03:56:04', 411.0572, 'In the middle of winter I at last discovered that there was in me an invincible summer. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The past has no power over the present moment. The past has no power over the present moment. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat 15 has added support for the system-wide dark mode. Genius is an infinite capacity for taking pains. I destroy my enemies when I make them my friends. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The first step is as good as half over. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. Flexible settings enable you to set up a custom key for comparison and synchronization. How we spend our days is, of course, how we spend our lives. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You will succeed because most people are lazy. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A man is not old until regrets take the place of dreams. In the middle of winter I at last discovered that there was in me an invincible summer. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Always keep your eyes open. Keep watching. Because whatever you see can inspire you.', 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. What you get by achieving your goals is not as important as what you become by achieving your goals. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You cannot save people, you can just love them. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The first step is as good as half over. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A man’s best friends are his ten fingers. If it scares you, it might be a good thing to try. Sometimes you win, sometimes you learn. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The reason why a great man is great is that he resolves to be a great man. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Flexible settings enable you to set up a custom key for comparison and synchronization. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If the plan doesn’t work, change the plan, but never the goal. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Genius is an infinite capacity for taking pains. Remember that failure is an event, not a person. You cannot save people, you can just love them. The reason why a great man is great is that he resolves to be a great man. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It wasn’t raining when Noah built the ark. There is no way to happiness. Happiness is the way. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The reason why a great man is great is that he resolves to be a great man. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You will succeed because most people are lazy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Genius is an infinite capacity for taking pains. A query is used to extract data from the database in a readable format according to the user\'s request. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In the middle of winter I at last discovered that there was in me an invincible summer. To connect to a database or schema, simply double-click it in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the middle of winter I at last discovered that there was in me an invincible summer. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The past has no power over the present moment. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man is not old until regrets take the place of dreams. A comfort zone is a beautiful place, but nothing ever grows there. You will succeed because most people are lazy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Flexible settings enable you to set up a custom key for comparison and synchronization. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the middle of winter I at last discovered that there was in me an invincible summer. You will succeed because most people are lazy. A comfort zone is a beautiful place, but nothing ever grows there. Creativity is intelligence having fun. Flexible settings enable you to set up a custom key for comparison and synchronization. If it scares you, it might be a good thing to try. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Remember that failure is an event, not a person. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'The past has no power over the present moment. You must be the change you wish to see in the world. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The past has no power over the present moment. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The past has no power over the present moment. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. A man is not old until regrets take the place of dreams. Creativity is intelligence having fun. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You will succeed because most people are lazy. Champions keep playing until they get it right. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A query is used to extract data from the database in a readable format according to the user\'s request. Champions keep playing until they get it right. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To connect to a database or schema, simply double-click it in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The On Startup feature allows you to control what tabs appear when you launch Navicat. I destroy my enemies when I make them my friends. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. There is no way to happiness. Happiness is the way. You will succeed because most people are lazy. If opportunity doesn’t knock, build a door. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The past has no power over the present moment. The Synchronize to Database function will give you a full picture of all database differences. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If it scares you, it might be a good thing to try. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man’s best friends are his ten fingers. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The past has no power over the present moment. Sometimes you win, sometimes you learn. If you wait, all that happens is you get older. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Typically, it is employed as an encrypted version of Telnet. There is no way to happiness. Happiness is the way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Difficult circumstances serve as a textbook of life for people. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('122', 'C:\\Users\\Administrator\\Pictures\\img_828102.png', 'aPIov', NULL, NULL, 'v330HQUoiL', '13-3-1 Toyohira 3 Jo, Toyohira Ward', NULL, '2022-01-05 23:50:55', '2007-11-17 17:15:53', 411.1045, 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If opportunity doesn’t knock, build a door. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has ever made anything of importance was disciplined. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. There is no way to happiness. Happiness is the way. In the middle of winter I at last discovered that there was in me an invincible summer. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The first step is as good as half over. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A comfort zone is a beautiful place, but nothing ever grows there. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Sometimes you win, sometimes you learn. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If you wait, all that happens is you get older. A man’s best friends are his ten fingers. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Difficult circumstances serve as a textbook of life for people. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man’s best friends are his ten fingers. A man is not old until regrets take the place of dreams. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I destroy my enemies when I make them my friends. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. There is no way to happiness. Happiness is the way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I will greet this day with love in my heart. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man is not old until regrets take the place of dreams. Creativity is intelligence having fun. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has ever made anything of importance was disciplined. You cannot save people, you can just love them. Remember that failure is an event, not a person. You cannot save people, you can just love them. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. Champions keep playing until they get it right. A man’s best friends are his ten fingers. There is no way to happiness. Happiness is the way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It wasn’t raining when Noah built the ark. If the plan doesn’t work, change the plan, but never the goal. In the middle of winter I at last discovered that there was in me an invincible summer. Anyone who has ever made anything of importance was disciplined. In the middle of winter I at last discovered that there was in me an invincible summer. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Success consists of going from failure to failure without loss of enthusiasm. Optimism is the one quality more associated with success and happiness than any other. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Remember that failure is an event, not a person. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The past has no power over the present moment. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Synchronize to Database function will give you a full picture of all database differences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I destroy my enemies when I make them my friends. If you wait, all that happens is you get older. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. There is no way to happiness. Happiness is the way. Success consists of going from failure to failure without loss of enthusiasm. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools.', 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Success consists of going from failure to failure without loss of enthusiasm. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The past has no power over the present moment. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. What you get by achieving your goals is not as important as what you become by achieving your goals. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.', NULL, 'Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The first step is as good as half over. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Flexible settings enable you to set up a custom key for comparison and synchronization. Sometimes you win, sometimes you learn. Typically, it is employed as an encrypted version of Telnet.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('123', 'C:\\Users\\Administrator\\Pictures\\img_043566.png', '6SdIU', NULL, NULL, 'nxQUyVmpCG', '3-15-19 Ginza, Chuo-ku', NULL, '2022-02-16 23:27:03', '2001-09-26 02:14:27', 90.4160, 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the middle of winter I at last discovered that there was in me an invincible summer. Sometimes you win, sometimes you learn. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The reason why a great man is great is that he resolves to be a great man. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Difficult circumstances serve as a textbook of life for people. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Synchronize to Database function will give you a full picture of all database differences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I will greet this day with love in my heart. I destroy my enemies when I make them my friends. Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Champions keep playing until they get it right. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A comfort zone is a beautiful place, but nothing ever grows there. A man’s best friends are his ten fingers. A query is used to extract data from the database in a readable format according to the user\'s request. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. To connect to a database or schema, simply double-click it in the pane. Anyone who has ever made anything of importance was disciplined. Anyone who has ever made anything of importance was disciplined. The Synchronize to Database function will give you a full picture of all database differences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man’s best friends are his ten fingers. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure.', 'Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If it scares you, it might be a good thing to try. Creativity is intelligence having fun. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I destroy my enemies when I make them my friends. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You will succeed because most people are lazy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the middle of winter I at last discovered that there was in me an invincible summer. The past has no power over the present moment. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Typically, it is employed as an encrypted version of Telnet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A comfort zone is a beautiful place, but nothing ever grows there. If the plan doesn’t work, change the plan, but never the goal. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Sometimes you win, sometimes you learn. I destroy my enemies when I make them my friends. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If you wait, all that happens is you get older. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Champions keep playing until they get it right. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In the middle of winter I at last discovered that there was in me an invincible summer. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The past has no power over the present moment. If you wait, all that happens is you get older. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Flexible settings enable you to set up a custom key for comparison and synchronization. You cannot save people, you can just love them. The Synchronize to Database function will give you a full picture of all database differences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Champions keep playing until they get it right. How we spend our days is, of course, how we spend our lives. Success consists of going from failure to failure without loss of enthusiasm. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. The On Startup feature allows you to control what tabs appear when you launch Navicat. If you wait, all that happens is you get older. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Creativity is intelligence having fun. The On Startup feature allows you to control what tabs appear when you launch Navicat. How we spend our days is, of course, how we spend our lives. To connect to a database or schema, simply double-click it in the pane. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A comfort zone is a beautiful place, but nothing ever grows there. Navicat 15 has added support for the system-wide dark mode. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', NULL, 'After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The past has no power over the present moment. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Sometimes you win, sometimes you learn. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Difficult circumstances serve as a textbook of life for people. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If you wait, all that happens is you get older. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Difficult circumstances serve as a textbook of life for people. A comfort zone is a beautiful place, but nothing ever grows there. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You must be the change you wish to see in the world. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. Success consists of going from failure to failure without loss of enthusiasm. The first step is as good as half over. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Creativity is intelligence having fun. Anyone who has never made a mistake has never tried anything new. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If it scares you, it might be a good thing to try. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Synchronize to Database function will give you a full picture of all database differences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Synchronize to Database function will give you a full picture of all database differences. What you get by achieving your goals is not as important as what you become by achieving your goals. What you get by achieving your goals is not as important as what you become by achieving your goals. I destroy my enemies when I make them my friends. If you wait, all that happens is you get older. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Difficult circumstances serve as a textbook of life for people. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You will succeed because most people are lazy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To connect to a database or schema, simply double-click it in the pane. If it scares you, it might be a good thing to try. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It wasn’t raining when Noah built the ark. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You will succeed because most people are lazy. Creativity is intelligence having fun. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Typically, it is employed as an encrypted version of Telnet. Genius is an infinite capacity for taking pains. I will greet this day with love in my heart. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('124', '/home/Administrator/Pictures/img_023473.png', 'EEFBd', NULL, NULL, 'FZH02T4gLr', '1-7-7 Saidaiji Akodacho', NULL, '2021-06-02 12:49:23', '2021-05-25 15:13:16', 792.0699, 'SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You cannot save people, you can just love them. What you get by achieving your goals is not as important as what you become by achieving your goals. It wasn’t raining when Noah built the ark. You cannot save people, you can just love them. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You will succeed because most people are lazy. Anyone who has ever made anything of importance was disciplined. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A query is used to extract data from the database in a readable format according to the user\'s request. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. All journeys have secret destinations of which the traveler is unaware. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.', 'Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You cannot save people, you can just love them. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I destroy my enemies when I make them my friends. The past has no power over the present moment. Navicat 15 has added support for the system-wide dark mode. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It wasn’t raining when Noah built the ark. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.', NULL, 'Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Creativity is intelligence having fun. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The first step is as good as half over. The reason why a great man is great is that he resolves to be a great man. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You cannot save people, you can just love them. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. How we spend our days is, of course, how we spend our lives. If you wait, all that happens is you get older. If opportunity doesn’t knock, build a door. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('125', 'C:\\Users\\Administrator\\Pictures\\img_261754.png', 'pXTXg', NULL, NULL, 'u6Lwkwoxba', '824 Abingdon Rd, Cumnor', NULL, '2020-10-29 14:26:09', '2000-03-13 19:53:15', 827.8900, 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The first step is as good as half over. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Synchronize to Database function will give you a full picture of all database differences. Creativity is intelligence having fun. The first step is as good as half over. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If opportunity doesn’t knock, build a door. The On Startup feature allows you to control what tabs appear when you launch Navicat. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. Remember that failure is an event, not a person. You must be the change you wish to see in the world. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To connect to a database or schema, simply double-click it in the pane. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. How we spend our days is, of course, how we spend our lives. If the plan doesn’t work, change the plan, but never the goal. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Anyone who has never made a mistake has never tried anything new. I destroy my enemies when I make them my friends. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If you wait, all that happens is you get older. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Creativity is intelligence having fun. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', 'Typically, it is employed as an encrypted version of Telnet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A comfort zone is a beautiful place, but nothing ever grows there. All journeys have secret destinations of which the traveler is unaware. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. All journeys have secret destinations of which the traveler is unaware. The reason why a great man is great is that he resolves to be a great man. Navicat 15 has added support for the system-wide dark mode. Anyone who has never made a mistake has never tried anything new. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I will greet this day with love in my heart. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A query is used to extract data from the database in a readable format according to the user\'s request. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The On Startup feature allows you to control what tabs appear when you launch Navicat. I destroy my enemies when I make them my friends. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To connect to a database or schema, simply double-click it in the pane. If the plan doesn’t work, change the plan, but never the goal. You must be the change you wish to see in the world. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man’s best friends are his ten fingers. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.', NULL, 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You cannot save people, you can just love them. Difficult circumstances serve as a textbook of life for people. If you wait, all that happens is you get older. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I destroy my enemies when I make them my friends. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. All journeys have secret destinations of which the traveler is unaware. You will succeed because most people are lazy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Flexible settings enable you to set up a custom key for comparison and synchronization. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Optimism is the one quality more associated with success and happiness than any other. If you wait, all that happens is you get older. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat 15 has added support for the system-wide dark mode. If the plan doesn’t work, change the plan, but never the goal. You must be the change you wish to see in the world. The past has no power over the present moment. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man’s best friends are his ten fingers. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The first step is as good as half over. Anyone who has ever made anything of importance was disciplined. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Synchronize to Database function will give you a full picture of all database differences. A comfort zone is a beautiful place, but nothing ever grows there. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Creativity is intelligence having fun. If you wait, all that happens is you get older. You cannot save people, you can just love them. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('126', 'C:\\Users\\Administrator\\Pictures\\img_554860.png', 's8jnC', NULL, NULL, 'WBuV9DNJjP', '15 Grape Street', NULL, '2024-11-22 10:29:54', '2017-02-20 06:23:59', 52.0887, 'A comfort zone is a beautiful place, but nothing ever grows there. The Synchronize to Database function will give you a full picture of all database differences. The past has no power over the present moment. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The past has no power over the present moment. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Flexible settings enable you to set up a custom key for comparison and synchronization. A man’s best friends are his ten fingers. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Typically, it is employed as an encrypted version of Telnet. You will succeed because most people are lazy. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man’s best friends are his ten fingers. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If you wait, all that happens is you get older. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You will succeed because most people are lazy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If you wait, all that happens is you get older. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A query is used to extract data from the database in a readable format according to the user\'s request. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis.', 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All journeys have secret destinations of which the traveler is unaware. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All journeys have secret destinations of which the traveler is unaware. How we spend our days is, of course, how we spend our lives. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Typically, it is employed as an encrypted version of Telnet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Genius is an infinite capacity for taking pains. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Synchronize to Database function will give you a full picture of all database differences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Flexible settings enable you to set up a custom key for comparison and synchronization. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. I will greet this day with love in my heart. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', NULL, 'A query is used to extract data from the database in a readable format according to the user\'s request. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Remember that failure is an event, not a person. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Creativity is intelligence having fun. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Anyone who has never made a mistake has never tried anything new. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Genius is an infinite capacity for taking pains. To connect to a database or schema, simply double-click it in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat 15 has added support for the system-wide dark mode. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A man’s best friends are his ten fingers. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I destroy my enemies when I make them my friends. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To connect to a database or schema, simply double-click it in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Champions keep playing until they get it right. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('127', 'C:\\Users\\Administrator\\Pictures\\img_864696.jpg', 'Nj9KO', NULL, NULL, 'gXJVQnsezY', '3-9-19 Gakuenminami', NULL, '2020-08-02 14:28:03', '2021-07-04 19:53:15', 237.6903, 'If it scares you, it might be a good thing to try. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. What you get by achieving your goals is not as important as what you become by achieving your goals. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If you wait, all that happens is you get older. All journeys have secret destinations of which the traveler is unaware. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Synchronize to Database function will give you a full picture of all database differences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If opportunity doesn’t knock, build a door. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Typically, it is employed as an encrypted version of Telnet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Remember that failure is an event, not a person. I destroy my enemies when I make them my friends. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. All journeys have secret destinations of which the traveler is unaware. Champions keep playing until they get it right. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It wasn’t raining when Noah built the ark. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The past has no power over the present moment. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.', 'Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The first step is as good as half over. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has never made a mistake has never tried anything new. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Sometimes you win, sometimes you learn. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Sometimes you win, sometimes you learn. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I destroy my enemies when I make them my friends. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I destroy my enemies when I make them my friends. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. All journeys have secret destinations of which the traveler is unaware. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In the middle of winter I at last discovered that there was in me an invincible summer. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To connect to a database or schema, simply double-click it in the pane. The past has no power over the present moment. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You must be the change you wish to see in the world. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Remember that failure is an event, not a person. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If opportunity doesn’t knock, build a door. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'Typically, it is employed as an encrypted version of Telnet. To connect to a database or schema, simply double-click it in the pane. A man is not old until regrets take the place of dreams. How we spend our days is, of course, how we spend our lives. You cannot save people, you can just love them. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Optimism is the one quality more associated with success and happiness than any other. If opportunity doesn’t knock, build a door. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man is not old until regrets take the place of dreams. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To connect to a database or schema, simply double-click it in the pane. Anyone who has never made a mistake has never tried anything new. A man’s best friends are his ten fingers. The Synchronize to Database function will give you a full picture of all database differences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Champions keep playing until they get it right. What you get by achieving your goals is not as important as what you become by achieving your goals. Optimism is the one quality more associated with success and happiness than any other. I destroy my enemies when I make them my friends. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Actually it is just in an idea when feel oneself can achieve and cannot achieve. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A query is used to extract data from the database in a readable format according to the user\'s request. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Sometimes you win, sometimes you learn. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The past has no power over the present moment. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the plan doesn’t work, change the plan, but never the goal. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Optimism is the one quality more associated with success and happiness than any other. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The reason why a great man is great is that he resolves to be a great man. If the plan doesn’t work, change the plan, but never the goal. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Success consists of going from failure to failure without loss of enthusiasm. All journeys have secret destinations of which the traveler is unaware. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Creativity is intelligence having fun. You cannot save people, you can just love them. Typically, it is employed as an encrypted version of Telnet. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If the plan doesn’t work, change the plan, but never the goal. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. How we spend our days is, of course, how we spend our lives. A query is used to extract data from the database in a readable format according to the user\'s request. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Champions keep playing until they get it right. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('128', 'C:\\Users\\Administrator\\Pictures\\img_357727.jpg', 'eWxzX', NULL, NULL, '6BQBOEKtSg', '1-7-13 Saidaiji Akodacho', NULL, '2023-01-01 10:55:14', '2015-03-24 23:51:49', 77.4682, 'You must be the change you wish to see in the world. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man’s best friends are his ten fingers. You will succeed because most people are lazy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. The Synchronize to Database function will give you a full picture of all database differences. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Creativity is intelligence having fun. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Typically, it is employed as an encrypted version of Telnet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man is not old until regrets take the place of dreams. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Synchronize to Database function will give you a full picture of all database differences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Champions keep playing until they get it right. Navicat 15 has added support for the system-wide dark mode. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To connect to a database or schema, simply double-click it in the pane. Difficult circumstances serve as a textbook of life for people. If you wait, all that happens is you get older. You will succeed because most people are lazy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. Typically, it is employed as an encrypted version of Telnet. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has ever made anything of importance was disciplined. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A query is used to extract data from the database in a readable format according to the user\'s request. If it scares you, it might be a good thing to try. If it scares you, it might be a good thing to try. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the middle of winter I at last discovered that there was in me an invincible summer. How we spend our days is, of course, how we spend our lives. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The reason why a great man is great is that he resolves to be a great man. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You must be the change you wish to see in the world. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You cannot save people, you can just love them. I destroy my enemies when I make them my friends. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You must be the change you wish to see in the world. If opportunity doesn’t knock, build a door. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A man is not old until regrets take the place of dreams. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The first step is as good as half over. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the middle of winter I at last discovered that there was in me an invincible summer. It wasn’t raining when Noah built the ark. Champions keep playing until they get it right. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.', 'In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Flexible settings enable you to set up a custom key for comparison and synchronization. Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. You will succeed because most people are lazy. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. There is no way to happiness. Happiness is the way. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If the plan doesn’t work, change the plan, but never the goal. I will greet this day with love in my heart. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If opportunity doesn’t knock, build a door. A man is not old until regrets take the place of dreams. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You cannot save people, you can just love them. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You must be the change you wish to see in the world. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A comfort zone is a beautiful place, but nothing ever grows there. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A comfort zone is a beautiful place, but nothing ever grows there. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man is not old until regrets take the place of dreams. Champions keep playing until they get it right. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Genius is an infinite capacity for taking pains. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat 15 has added support for the system-wide dark mode. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You will succeed because most people are lazy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Remember that failure is an event, not a person. A comfort zone is a beautiful place, but nothing ever grows there. Difficult circumstances serve as a textbook of life for people. Remember that failure is an event, not a person. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Success consists of going from failure to failure without loss of enthusiasm. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Remember that failure is an event, not a person. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It wasn’t raining when Noah built the ark. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Typically, it is employed as an encrypted version of Telnet. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Synchronize to Database function will give you a full picture of all database differences. Typically, it is employed as an encrypted version of Telnet. I will greet this day with love in my heart. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', NULL, 'Creativity is intelligence having fun. All journeys have secret destinations of which the traveler is unaware. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If you wait, all that happens is you get older. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Sometimes you win, sometimes you learn. Anyone who has never made a mistake has never tried anything new. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A man’s best friends are his ten fingers. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To connect to a database or schema, simply double-click it in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Synchronize to Database function will give you a full picture of all database differences. In the middle of winter I at last discovered that there was in me an invincible summer. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In the middle of winter I at last discovered that there was in me an invincible summer. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I destroy my enemies when I make them my friends. If it scares you, it might be a good thing to try. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If opportunity doesn’t knock, build a door. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If you wait, all that happens is you get older. Remember that failure is an event, not a person. Anyone who has ever made anything of importance was disciplined. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat 15 has added support for the system-wide dark mode. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The first step is as good as half over. There is no way to happiness. Happiness is the way. I will greet this day with love in my heart. Champions keep playing until they get it right. What you get by achieving your goals is not as important as what you become by achieving your goals. You cannot save people, you can just love them. Sometimes you win, sometimes you learn. The first step is as good as half over. You will succeed because most people are lazy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has never made a mistake has never tried anything new. Remember that failure is an event, not a person. Anyone who has ever made anything of importance was disciplined. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You will succeed because most people are lazy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I destroy my enemies when I make them my friends. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A query is used to extract data from the database in a readable format according to the user\'s request. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. What you get by achieving your goals is not as important as what you become by achieving your goals. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the plan doesn’t work, change the plan, but never the goal.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('129', '/Users/Administrator/Pictures/img_595162.jpg', 'MJ85o', NULL, NULL, 'GQd9L8ku0H', '992 Binchuan Rd, Minhang District', NULL, '2024-06-22 03:29:54', '2008-12-05 04:41:16', 596.7127, 'Remember that failure is an event, not a person. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A query is used to extract data from the database in a readable format according to the user\'s request. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If you wait, all that happens is you get older. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A comfort zone is a beautiful place, but nothing ever grows there. Flexible settings enable you to set up a custom key for comparison and synchronization. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Sometimes you win, sometimes you learn. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Success consists of going from failure to failure without loss of enthusiasm. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A man is not old until regrets take the place of dreams. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Typically, it is employed as an encrypted version of Telnet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If opportunity doesn’t knock, build a door. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The reason why a great man is great is that he resolves to be a great man. Navicat 15 has added support for the system-wide dark mode. The reason why a great man is great is that he resolves to be a great man. Sometimes you win, sometimes you learn. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. All journeys have secret destinations of which the traveler is unaware. If opportunity doesn’t knock, build a door. Typically, it is employed as an encrypted version of Telnet. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I will greet this day with love in my heart. I destroy my enemies when I make them my friends. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Sometimes you win, sometimes you learn. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A comfort zone is a beautiful place, but nothing ever grows there. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. If the plan doesn’t work, change the plan, but never the goal. Navicat 15 has added support for the system-wide dark mode. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If you wait, all that happens is you get older. All journeys have secret destinations of which the traveler is unaware. Anyone who has ever made anything of importance was disciplined. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The past has no power over the present moment. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In the middle of winter I at last discovered that there was in me an invincible summer. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. Genius is an infinite capacity for taking pains. Creativity is intelligence having fun. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab.', 'To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.', NULL, 'The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Synchronize to Database function will give you a full picture of all database differences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A comfort zone is a beautiful place, but nothing ever grows there. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Sometimes you win, sometimes you learn. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. If you wait, all that happens is you get older. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Remember that failure is an event, not a person. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('13', 'C:\\Users\\Administrator\\Pictures\\img_407810.jpg', 'sQAoS', NULL, NULL, 'cDFjSpof57', '21 Edward Ave, Braunstone Town', NULL, '2022-12-27 20:48:46', '2017-07-01 01:22:31', 757.9125, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has never made a mistake has never tried anything new. Typically, it is employed as an encrypted version of Telnet. Navicat 15 has added support for the system-wide dark mode. If the plan doesn’t work, change the plan, but never the goal. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If the plan doesn’t work, change the plan, but never the goal. You must be the change you wish to see in the world. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.', 'You will succeed because most people are lazy. How we spend our days is, of course, how we spend our lives. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Creativity is intelligence having fun. Remember that failure is an event, not a person. A man’s best friends are his ten fingers. The reason why a great man is great is that he resolves to be a great man. A man is not old until regrets take the place of dreams. If opportunity doesn’t knock, build a door. If you wait, all that happens is you get older. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The first step is as good as half over. You cannot save people, you can just love them. A query is used to extract data from the database in a readable format according to the user\'s request. What you get by achieving your goals is not as important as what you become by achieving your goals. The first step is as good as half over. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Typically, it is employed as an encrypted version of Telnet. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A comfort zone is a beautiful place, but nothing ever grows there. There is no way to happiness. Happiness is the way. You cannot save people, you can just love them. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You will succeed because most people are lazy. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. What you get by achieving your goals is not as important as what you become by achieving your goals. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If opportunity doesn’t knock, build a door. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. All journeys have secret destinations of which the traveler is unaware. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To connect to a database or schema, simply double-click it in the pane. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The first step is as good as half over. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Difficult circumstances serve as a textbook of life for people. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', NULL, 'The past has no power over the present moment. Difficult circumstances serve as a textbook of life for people. Flexible settings enable you to set up a custom key for comparison and synchronization. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You will succeed because most people are lazy. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Sometimes you win, sometimes you learn. Optimism is the one quality more associated with success and happiness than any other. A comfort zone is a beautiful place, but nothing ever grows there. A query is used to extract data from the database in a readable format according to the user\'s request. I destroy my enemies when I make them my friends. If the plan doesn’t work, change the plan, but never the goal. The first step is as good as half over. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You must be the change you wish to see in the world. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If opportunity doesn’t knock, build a door. Typically, it is employed as an encrypted version of Telnet. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('130', 'C:\\Users\\Administrator\\Pictures\\img_481709.jpg', 'lycrt', NULL, NULL, 'GA3s4GjxTM', '852 Spring Gardens', NULL, '2021-03-10 14:20:41', '2000-10-02 00:29:57', 625.0723, 'I destroy my enemies when I make them my friends. If opportunity doesn’t knock, build a door. Anyone who has ever made anything of importance was disciplined. Difficult circumstances serve as a textbook of life for people. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You must be the change you wish to see in the world. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You cannot save people, you can just love them. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If it scares you, it might be a good thing to try. A man is not old until regrets take the place of dreams. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All journeys have secret destinations of which the traveler is unaware. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To connect to a database or schema, simply double-click it in the pane. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.', 'If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Genius is an infinite capacity for taking pains. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You must be the change you wish to see in the world. A man’s best friends are his ten fingers. A comfort zone is a beautiful place, but nothing ever grows there. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You cannot save people, you can just love them. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has ever made anything of importance was disciplined. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The first step is as good as half over. How we spend our days is, of course, how we spend our lives. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Synchronize to Database function will give you a full picture of all database differences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Flexible settings enable you to set up a custom key for comparison and synchronization. Creativity is intelligence having fun. The Synchronize to Database function will give you a full picture of all database differences. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A query is used to extract data from the database in a readable format according to the user\'s request.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('131', '/home/Administrator/Pictures/img_220954.png', 'b1C7l', NULL, NULL, 'Fbg1bzz0ZI', '312 FuXingMenNei Street, XiCheng District', NULL, '2020-01-27 08:28:32', '2008-03-11 15:58:30', 549.9988, 'You cannot save people, you can just love them. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Flexible settings enable you to set up a custom key for comparison and synchronization. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The On Startup feature allows you to control what tabs appear when you launch Navicat. The first step is as good as half over. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The past has no power over the present moment. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A man is not old until regrets take the place of dreams. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. It wasn’t raining when Noah built the ark. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If it scares you, it might be a good thing to try. If it scares you, it might be a good thing to try. Remember that failure is an event, not a person. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A query is used to extract data from the database in a readable format according to the user\'s request. You cannot save people, you can just love them. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has ever made anything of importance was disciplined. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Remember that failure is an event, not a person. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat 15 has added support for the system-wide dark mode. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A comfort zone is a beautiful place, but nothing ever grows there. Anyone who has never made a mistake has never tried anything new. If it scares you, it might be a good thing to try. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To connect to a database or schema, simply double-click it in the pane. You must be the change you wish to see in the world. Anyone who has never made a mistake has never tried anything new. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has ever made anything of importance was disciplined. Sometimes you win, sometimes you learn. Anyone who has ever made anything of importance was disciplined. You cannot save people, you can just love them. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If it scares you, it might be a good thing to try. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, ', 'The Synchronize to Database function will give you a full picture of all database differences. Typically, it is employed as an encrypted version of Telnet. You must be the change you wish to see in the world. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The reason why a great man is great is that he resolves to be a great man. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A man’s best friends are his ten fingers. Difficult circumstances serve as a textbook of life for people. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The past has no power over the present moment. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A query is used to extract data from the database in a readable format according to the user\'s request. You will succeed because most people are lazy. A man is not old until regrets take the place of dreams. All journeys have secret destinations of which the traveler is unaware. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat 15 has added support for the system-wide dark mode. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The reason why a great man is great is that he resolves to be a great man. Navicat 15 has added support for the system-wide dark mode. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If it scares you, it might be a good thing to try. I will greet this day with love in my heart. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You must be the change you wish to see in the world. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. How we spend our days is, of course, how we spend our lives. In the middle of winter I at last discovered that there was in me an invincible summer. To connect to a database or schema, simply double-click it in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'I will greet this day with love in my heart. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I will greet this day with love in my heart. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Flexible settings enable you to set up a custom key for comparison and synchronization. In the middle of winter I at last discovered that there was in me an invincible summer. What you get by achieving your goals is not as important as what you become by achieving your goals. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Success consists of going from failure to failure without loss of enthusiasm. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You will succeed because most people are lazy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A query is used to extract data from the database in a readable format according to the user\'s request. If it scares you, it might be a good thing to try. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If you wait, all that happens is you get older. If you wait, all that happens is you get older. Anyone who has ever made anything of importance was disciplined. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man’s best friends are his ten fingers. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I destroy my enemies when I make them my friends. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. Sometimes you win, sometimes you learn. What you get by achieving your goals is not as important as what you become by achieving your goals. A comfort zone is a beautiful place, but nothing ever grows there. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The first step is as good as half over. What you get by achieving your goals is not as important as what you become by achieving your goals. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. How we spend our days is, of course, how we spend our lives. Typically, it is employed as an encrypted version of Telnet. Genius is an infinite capacity for taking pains. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The past has no power over the present moment. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If the plan doesn’t work, change the plan, but never the goal. The first step is as good as half over. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('132', '/Users/Administrator/Pictures/img_110323.jpg', 'QdgcD', NULL, NULL, 'gAQQyR2EJF', '506 1st Ave', NULL, '2021-07-17 13:27:27', '2011-11-09 12:20:57', 321.5196, 'Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the plan doesn’t work, change the plan, but never the goal. You cannot save people, you can just love them. If you wait, all that happens is you get older. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Creativity is intelligence having fun. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The reason why a great man is great is that he resolves to be a great man. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Champions keep playing until they get it right. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Creativity is intelligence having fun. Typically, it is employed as an encrypted version of Telnet. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Genius is an infinite capacity for taking pains. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I destroy my enemies when I make them my friends. The first step is as good as half over. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Anyone who has ever made anything of importance was disciplined. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Genius is an infinite capacity for taking pains. There is no way to happiness. Happiness is the way. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. In the middle of winter I at last discovered that there was in me an invincible summer. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The On Startup feature allows you to control what tabs appear when you launch Navicat. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Sometimes you win, sometimes you learn. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If opportunity doesn’t knock, build a door. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Sometimes you win, sometimes you learn. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The reason why a great man is great is that he resolves to be a great man. I will greet this day with love in my heart. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Difficult circumstances serve as a textbook of life for people. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If opportunity doesn’t knock, build a door. Sometimes you win, sometimes you learn. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. There is no way to happiness. Happiness is the way.', 'All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat 15 has added support for the system-wide dark mode. Success consists of going from failure to failure without loss of enthusiasm. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All journeys have secret destinations of which the traveler is unaware. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. What you get by achieving your goals is not as important as what you become by achieving your goals. You will succeed because most people are lazy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A comfort zone is a beautiful place, but nothing ever grows there. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I will greet this day with love in my heart. How we spend our days is, of course, how we spend our lives. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The first step is as good as half over. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Difficult circumstances serve as a textbook of life for people. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I may not have gone where I intended to go, but I think I have ended up where I needed to be. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. All journeys have secret destinations of which the traveler is unaware. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. What you get by achieving your goals is not as important as what you become by achieving your goals. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the middle of winter I at last discovered that there was in me an invincible summer. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Creativity is intelligence having fun. I destroy my enemies when I make them my friends. Creativity is intelligence having fun. Typically, it is employed as an encrypted version of Telnet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Remember that failure is an event, not a person. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Sometimes you win, sometimes you learn. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A man’s best friends are his ten fingers. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Actually it is just in an idea when feel oneself can achieve and cannot achieve. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I will greet this day with love in my heart. Anyone who has ever made anything of importance was disciplined. How we spend our days is, of course, how we spend our lives. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Typically, it is employed as an encrypted version of Telnet. The reason why a great man is great is that he resolves to be a great man.', NULL, 'To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If opportunity doesn’t knock, build a door. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A query is used to extract data from the database in a readable format according to the user\'s request. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If opportunity doesn’t knock, build a door. If the plan doesn’t work, change the plan, but never the goal. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Typically, it is employed as an encrypted version of Telnet. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat 15 has added support for the system-wide dark mode. The Synchronize to Database function will give you a full picture of all database differences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I will greet this day with love in my heart. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has never made a mistake has never tried anything new. Difficult circumstances serve as a textbook of life for people. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. Champions keep playing until they get it right. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. There is no way to happiness. Happiness is the way. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I will greet this day with love in my heart. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You must be the change you wish to see in the world. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A man is not old until regrets take the place of dreams. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('133', '/Users/Administrator/Pictures/img_533075.png', 'f78h7', NULL, NULL, 'baVMjikvAp', '780 Ridgewood Road', NULL, '2024-11-18 05:42:44', '2015-08-09 18:28:01', 742.7250, 'In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A query is used to extract data from the database in a readable format according to the user\'s request. The past has no power over the present moment. Champions keep playing until they get it right. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Genius is an infinite capacity for taking pains. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You cannot save people, you can just love them. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You cannot save people, you can just love them. What you get by achieving your goals is not as important as what you become by achieving your goals. Sometimes you win, sometimes you learn. Anyone who has never made a mistake has never tried anything new. You will succeed because most people are lazy. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Sometimes you win, sometimes you learn. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It wasn’t raining when Noah built the ark. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.', 'To connect to a database or schema, simply double-click it in the pane. If opportunity doesn’t knock, build a door. The first step is as good as half over. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. A query is used to extract data from the database in a readable format according to the user\'s request. A query is used to extract data from the database in a readable format according to the user\'s request. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Sometimes you win, sometimes you learn. You must be the change you wish to see in the world. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat 15 has added support for the system-wide dark mode. A comfort zone is a beautiful place, but nothing ever grows there. The On Startup feature allows you to control what tabs appear when you launch Navicat. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It wasn’t raining when Noah built the ark. You cannot save people, you can just love them. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Difficult circumstances serve as a textbook of life for people. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You must be the change you wish to see in the world. A man is not old until regrets take the place of dreams. I destroy my enemies when I make them my friends. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.', NULL, 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has never made a mistake has never tried anything new. Flexible settings enable you to set up a custom key for comparison and synchronization. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the plan doesn’t work, change the plan, but never the goal. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Flexible settings enable you to set up a custom key for comparison and synchronization. Anyone who has never made a mistake has never tried anything new. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You must be the change you wish to see in the world. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('134', '/home/Administrator/Pictures/img_738876.jpg', 'Q6PWh', NULL, NULL, 'OOkat9iRkQ', '794 West Market Street', NULL, '2020-08-24 12:11:26', '2009-10-13 22:04:31', 969.0753, 'It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. Flexible settings enable you to set up a custom key for comparison and synchronization. If you wait, all that happens is you get older. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If opportunity doesn’t knock, build a door. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A comfort zone is a beautiful place, but nothing ever grows there. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. You must be the change you wish to see in the world. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I destroy my enemies when I make them my friends. A man’s best friends are his ten fingers. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Genius is an infinite capacity for taking pains. I destroy my enemies when I make them my friends. Champions keep playing until they get it right. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Difficult circumstances serve as a textbook of life for people. The reason why a great man is great is that he resolves to be a great man. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Sometimes you win, sometimes you learn. Genius is an infinite capacity for taking pains. A comfort zone is a beautiful place, but nothing ever grows there. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the plan doesn’t work, change the plan, but never the goal. A comfort zone is a beautiful place, but nothing ever grows there. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. There is no way to happiness. Happiness is the way. A man is not old until regrets take the place of dreams. A query is used to extract data from the database in a readable format according to the user\'s request. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In the middle of winter I at last discovered that there was in me an invincible summer. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. I will greet this day with love in my heart. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. What you get by achieving your goals is not as important as what you become by achieving your goals. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To connect to a database or schema, simply double-click it in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. All journeys have secret destinations of which the traveler is unaware. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If it scares you, it might be a good thing to try. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You must be the change you wish to see in the world. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You cannot save people, you can just love them. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Synchronize to Database function will give you a full picture of all database differences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Typically, it is employed as an encrypted version of Telnet. The reason why a great man is great is that he resolves to be a great man. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man is not old until regrets take the place of dreams. To connect to a database or schema, simply double-click it in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It wasn’t raining when Noah built the ark. Remember that failure is an event, not a person. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat 15 has added support for the system-wide dark mode. A query is used to extract data from the database in a readable format according to the user\'s request. I will greet this day with love in my heart.', 'After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A man is not old until regrets take the place of dreams. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A man is not old until regrets take the place of dreams. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. There is no way to happiness. Happiness is the way. Sometimes you win, sometimes you learn. Remember that failure is an event, not a person. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If you wait, all that happens is you get older. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If you wait, all that happens is you get older. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Genius is an infinite capacity for taking pains. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Synchronize to Database function will give you a full picture of all database differences. A man is not old until regrets take the place of dreams. A man’s best friends are his ten fingers. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. There is no way to happiness. Happiness is the way. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Anyone who has ever made anything of importance was disciplined. Flexible settings enable you to set up a custom key for comparison and synchronization. The past has no power over the present moment. Success consists of going from failure to failure without loss of enthusiasm. The Synchronize to Database function will give you a full picture of all database differences. Success consists of going from failure to failure without loss of enthusiasm. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Genius is an infinite capacity for taking pains. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I destroy my enemies when I make them my friends. You will succeed because most people are lazy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I may not have gone where I intended to go, but I think I have ended up where I needed to be.', NULL, 'If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Creativity is intelligence having fun. It wasn’t raining when Noah built the ark. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has ever made anything of importance was disciplined. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You will succeed because most people are lazy. Genius is an infinite capacity for taking pains. Sometimes you win, sometimes you learn. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A query is used to extract data from the database in a readable format according to the user\'s request. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A comfort zone is a beautiful place, but nothing ever grows there. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It wasn’t raining when Noah built the ark. Typically, it is employed as an encrypted version of Telnet. Flexible settings enable you to set up a custom key for comparison and synchronization. Flexible settings enable you to set up a custom key for comparison and synchronization. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The first step is as good as half over. I destroy my enemies when I make them my friends. Flexible settings enable you to set up a custom key for comparison and synchronization. The reason why a great man is great is that he resolves to be a great man. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. All journeys have secret destinations of which the traveler is unaware. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Champions keep playing until they get it right. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Synchronize to Database function will give you a full picture of all database differences. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To connect to a database or schema, simply double-click it in the pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Typically, it is employed as an encrypted version of Telnet. All journeys have secret destinations of which the traveler is unaware. Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You will succeed because most people are lazy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('135', '/home/Administrator/Pictures/img_088413.jpg', 'O5ZKg', NULL, NULL, 'FMLhVe15rz', '5-2-6 Kikusui 3 Jo, Shiroishi Ward', NULL, '2024-01-16 10:49:52', '2021-11-07 21:27:11', 766.2962, 'How we spend our days is, of course, how we spend our lives. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.', 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', NULL, 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To connect to a database or schema, simply double-click it in the pane. What you get by achieving your goals is not as important as what you become by achieving your goals. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You cannot save people, you can just love them. Creativity is intelligence having fun. If you wait, all that happens is you get older. You will succeed because most people are lazy. The past has no power over the present moment. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You must be the change you wish to see in the world. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Sometimes you win, sometimes you learn. The On Startup feature allows you to control what tabs appear when you launch Navicat. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I destroy my enemies when I make them my friends. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I destroy my enemies when I make them my friends. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('136', '/home/Administrator/Pictures/img_640471.jpg', 'a3b1g', NULL, NULL, 'vJlfcKDYF9', '740 Tremont Road', NULL, '2022-07-31 17:52:21', '2024-05-25 03:08:32', 890.4754, 'A man is not old until regrets take the place of dreams. Remember that failure is an event, not a person. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has never made a mistake has never tried anything new. Anyone who has ever made anything of importance was disciplined. If opportunity doesn’t knock, build a door. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Synchronize to Database function will give you a full picture of all database differences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Remember that failure is an event, not a person. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the middle of winter I at last discovered that there was in me an invincible summer. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A man’s best friends are his ten fingers. If opportunity doesn’t knock, build a door. Remember that failure is an event, not a person. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Genius is an infinite capacity for taking pains. A man’s best friends are his ten fingers. You cannot save people, you can just love them. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Anyone who has ever made anything of importance was disciplined. How we spend our days is, of course, how we spend our lives. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'The past has no power over the present moment. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If it scares you, it might be a good thing to try. There is no way to happiness. Happiness is the way. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. A man is not old until regrets take the place of dreams. The reason why a great man is great is that he resolves to be a great man. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The past has no power over the present moment. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A comfort zone is a beautiful place, but nothing ever grows there. How we spend our days is, of course, how we spend our lives.', NULL, 'The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. Champions keep playing until they get it right. If you wait, all that happens is you get older. Champions keep playing until they get it right. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If opportunity doesn’t knock, build a door. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Typically, it is employed as an encrypted version of Telnet. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It wasn’t raining when Noah built the ark. A man is not old until regrets take the place of dreams. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Anyone who has ever made anything of importance was disciplined. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('137', 'C:\\Users\\Administrator\\Pictures\\img_205363.jpg', 'fX1Cz', NULL, NULL, 'PGTDCQEJB0', '297 Daxin S Rd, Daxin Shangquan, Tianhe Qu', NULL, '2023-05-09 22:26:23', '2012-07-22 15:38:44', 438.3334, 'With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To connect to a database or schema, simply double-click it in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Genius is an infinite capacity for taking pains. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Champions keep playing until they get it right. Flexible settings enable you to set up a custom key for comparison and synchronization. If it scares you, it might be a good thing to try. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If it scares you, it might be a good thing to try. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. How we spend our days is, of course, how we spend our lives. The Synchronize to Database function will give you a full picture of all database differences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If you wait, all that happens is you get older. Remember that failure is an event, not a person. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. All journeys have secret destinations of which the traveler is unaware. A comfort zone is a beautiful place, but nothing ever grows there. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the middle of winter I at last discovered that there was in me an invincible summer. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If opportunity doesn’t knock, build a door. To connect to a database or schema, simply double-click it in the pane. If it scares you, it might be a good thing to try. There is no way to happiness. Happiness is the way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You cannot save people, you can just love them. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You cannot save people, you can just love them. You will succeed because most people are lazy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Sometimes you win, sometimes you learn. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Champions keep playing until they get it right. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Genius is an infinite capacity for taking pains. If opportunity doesn’t knock, build a door. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Anyone who has ever made anything of importance was disciplined. A man is not old until regrets take the place of dreams. Flexible settings enable you to set up a custom key for comparison and synchronization. If it scares you, it might be a good thing to try. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I destroy my enemies when I make them my friends. Champions keep playing until they get it right. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The reason why a great man is great is that he resolves to be a great man. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. Flexible settings enable you to set up a custom key for comparison and synchronization. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. There is no way to happiness. Happiness is the way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. The reason why a great man is great is that he resolves to be a great man. In the middle of winter I at last discovered that there was in me an invincible summer. A man is not old until regrets take the place of dreams. How we spend our days is, of course, how we spend our lives. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. How we spend our days is, of course, how we spend our lives. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If the plan doesn’t work, change the plan, but never the goal. A query is used to extract data from the database in a readable format according to the user\'s request. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You will succeed because most people are lazy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has never made a mistake has never tried anything new. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. All journeys have secret destinations of which the traveler is unaware. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window.', NULL, 'Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Optimism is the one quality more associated with success and happiness than any other. I will greet this day with love in my heart. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Sometimes you win, sometimes you learn. A man is not old until regrets take the place of dreams. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I will greet this day with love in my heart.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('138', '/home/Administrator/Pictures/img_448428.png', 'G0lal', NULL, NULL, 'npLOf2Kmpu', '1-7-15 Omido, Higashiosaka', NULL, '2023-04-26 07:02:52', '2020-09-08 12:16:18', 894.3396, 'A query is used to extract data from the database in a readable format according to the user\'s request. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. Creativity is intelligence having fun. Sometimes you win, sometimes you learn. You cannot save people, you can just love them. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You must be the change you wish to see in the world. It wasn’t raining when Noah built the ark. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If you wait, all that happens is you get older. A query is used to extract data from the database in a readable format according to the user\'s request. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It wasn’t raining when Noah built the ark. Sometimes you win, sometimes you learn. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A comfort zone is a beautiful place, but nothing ever grows there. Optimism is the one quality more associated with success and happiness than any other. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In the middle of winter I at last discovered that there was in me an invincible summer. Typically, it is employed as an encrypted version of Telnet. The first step is as good as half over. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', 'Flexible settings enable you to set up a custom key for comparison and synchronization. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Remember that failure is an event, not a person. The On Startup feature allows you to control what tabs appear when you launch Navicat. Remember that failure is an event, not a person. Anyone who has ever made anything of importance was disciplined. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. There is no way to happiness. Happiness is the way. I destroy my enemies when I make them my friends. I destroy my enemies when I make them my friends. A comfort zone is a beautiful place, but nothing ever grows there. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Difficult circumstances serve as a textbook of life for people. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You will succeed because most people are lazy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun.', NULL, 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All journeys have secret destinations of which the traveler is unaware. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If the plan doesn’t work, change the plan, but never the goal. You cannot save people, you can just love them. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If you wait, all that happens is you get older. The On Startup feature allows you to control what tabs appear when you launch Navicat. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All journeys have secret destinations of which the traveler is unaware.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('139', '/Users/Administrator/Pictures/img_913578.jpg', '6mQNT', NULL, NULL, 'Ubp1ZmmpOS', '813 Park End St', NULL, '2020-09-12 17:41:41', '2014-03-15 10:55:33', 859.3682, 'The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has never made a mistake has never tried anything new. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A comfort zone is a beautiful place, but nothing ever grows there. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If you wait, all that happens is you get older. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The past has no power over the present moment. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man is not old until regrets take the place of dreams. In the middle of winter I at last discovered that there was in me an invincible summer. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the middle of winter I at last discovered that there was in me an invincible summer. Remember that failure is an event, not a person. The On Startup feature allows you to control what tabs appear when you launch Navicat. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Difficult circumstances serve as a textbook of life for people. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Remember that failure is an event, not a person. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. The reason why a great man is great is that he resolves to be a great man. Champions keep playing until they get it right. A comfort zone is a beautiful place, but nothing ever grows there. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The past has no power over the present moment. I destroy my enemies when I make them my friends. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It wasn’t raining when Noah built the ark. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You must be the change you wish to see in the world. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To connect to a database or schema, simply double-click it in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It wasn’t raining when Noah built the ark. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You must be the change you wish to see in the world. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The first step is as good as half over. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', 'SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In the middle of winter I at last discovered that there was in me an invincible summer. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The reason why a great man is great is that he resolves to be a great man. The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Synchronize to Database function will give you a full picture of all database differences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If you wait, all that happens is you get older. You will succeed because most people are lazy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Champions keep playing until they get it right. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Success consists of going from failure to failure without loss of enthusiasm. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You cannot save people, you can just love them. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If you wait, all that happens is you get older. A man is not old until regrets take the place of dreams. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', NULL, 'Navicat 15 has added support for the system-wide dark mode. The On Startup feature allows you to control what tabs appear when you launch Navicat. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A comfort zone is a beautiful place, but nothing ever grows there. A query is used to extract data from the database in a readable format according to the user\'s request. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In the middle of winter I at last discovered that there was in me an invincible summer. I destroy my enemies when I make them my friends. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. A man’s best friends are his ten fingers. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I destroy my enemies when I make them my friends. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Genius is an infinite capacity for taking pains. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It wasn’t raining when Noah built the ark. Anyone who has never made a mistake has never tried anything new. Anyone who has never made a mistake has never tried anything new. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A query is used to extract data from the database in a readable format according to the user\'s request. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Typically, it is employed as an encrypted version of Telnet. I will greet this day with love in my heart. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If opportunity doesn’t knock, build a door. In the middle of winter I at last discovered that there was in me an invincible summer. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You must be the change you wish to see in the world. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. Remember that failure is an event, not a person. The first step is as good as half over.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('14', '/home/Administrator/Pictures/img_274162.png', 'Dqzrc', NULL, NULL, 'dvdj8TRN9H', '1-6-5, Marunouchi, Chiyoda-ku', NULL, '2023-07-19 00:53:12', '2019-03-06 04:39:52', 205.9371, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man’s best friends are his ten fingers. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In the middle of winter I at last discovered that there was in me an invincible summer. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Success consists of going from failure to failure without loss of enthusiasm. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If the plan doesn’t work, change the plan, but never the goal. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the plan doesn’t work, change the plan, but never the goal. Anyone who has ever made anything of importance was disciplined. Champions keep playing until they get it right. Genius is an infinite capacity for taking pains. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man is not old until regrets take the place of dreams. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has ever made anything of importance was disciplined. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A comfort zone is a beautiful place, but nothing ever grows there. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I may not have gone where I intended to go, but I think I have ended up where I needed to be. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections.', 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The first step is as good as half over. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Sometimes you win, sometimes you learn. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All journeys have secret destinations of which the traveler is unaware. What you get by achieving your goals is not as important as what you become by achieving your goals. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You will succeed because most people are lazy. Creativity is intelligence having fun. Creativity is intelligence having fun. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To connect to a database or schema, simply double-click it in the pane. Sometimes you win, sometimes you learn. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You will succeed because most people are lazy. If opportunity doesn’t knock, build a door. Success consists of going from failure to failure without loss of enthusiasm. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', NULL, 'Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Remember that failure is an event, not a person. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('140', '/home/Administrator/Pictures/img_180541.jpg', 'S1Yno', NULL, NULL, 'R0vyPcvDCJ', 'No.388, Dongsan Road, Erxianqiao, Chenghua District', NULL, '2023-03-13 23:59:06', '2013-05-14 09:48:17', 410.6259, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The reason why a great man is great is that he resolves to be a great man. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. How we spend our days is, of course, how we spend our lives. Champions keep playing until they get it right. If opportunity doesn’t knock, build a door. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. How we spend our days is, of course, how we spend our lives. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I will greet this day with love in my heart. Champions keep playing until they get it right. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Creativity is intelligence having fun. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A man’s best friends are his ten fingers. If opportunity doesn’t knock, build a door. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The past has no power over the present moment. There is no way to happiness. Happiness is the way. I destroy my enemies when I make them my friends. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Sometimes you win, sometimes you learn. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Difficult circumstances serve as a textbook of life for people. I will greet this day with love in my heart. It wasn’t raining when Noah built the ark. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The On Startup feature allows you to control what tabs appear when you launch Navicat. If opportunity doesn’t knock, build a door. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man is not old until regrets take the place of dreams. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The past has no power over the present moment. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.', 'SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Optimism is the one quality more associated with success and happiness than any other. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It wasn’t raining when Noah built the ark. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. What you get by achieving your goals is not as important as what you become by achieving your goals. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You cannot save people, you can just love them. A man’s best friends are his ten fingers. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Sometimes you win, sometimes you learn. Anyone who has never made a mistake has never tried anything new. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A query is used to extract data from the database in a readable format according to the user\'s request. Flexible settings enable you to set up a custom key for comparison and synchronization. If the plan doesn’t work, change the plan, but never the goal. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Flexible settings enable you to set up a custom key for comparison and synchronization. I destroy my enemies when I make them my friends. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has ever made anything of importance was disciplined. The first step is as good as half over. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', NULL, 'The Synchronize to Database function will give you a full picture of all database differences. I may not have gone where I intended to go, but I think I have ended up where I needed to be.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('141', '/Users/Administrator/Pictures/img_716346.png', 'Lm63i', NULL, NULL, 'pUF3ZxaflT', '83 39 William IV St, Charing Cross', NULL, '2022-02-09 05:01:11', '2019-02-10 10:42:36', 912.1773, 'Champions keep playing until they get it right. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All journeys have secret destinations of which the traveler is unaware. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Optimism is the one quality more associated with success and happiness than any other. Sometimes you win, sometimes you learn. How we spend our days is, of course, how we spend our lives. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To connect to a database or schema, simply double-click it in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. How we spend our days is, of course, how we spend our lives. A query is used to extract data from the database in a readable format according to the user\'s request. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the middle of winter I at last discovered that there was in me an invincible summer. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man’s best friends are his ten fingers. You cannot save people, you can just love them. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Creativity is intelligence having fun. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man’s best friends are his ten fingers. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To connect to a database or schema, simply double-click it in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If you wait, all that happens is you get older. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You must be the change you wish to see in the world. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Sometimes you win, sometimes you learn. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window.', 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Difficult circumstances serve as a textbook of life for people. A query is used to extract data from the database in a readable format according to the user\'s request. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Anyone who has ever made anything of importance was disciplined. Anyone who has never made a mistake has never tried anything new. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Success consists of going from failure to failure without loss of enthusiasm. The past has no power over the present moment. Typically, it is employed as an encrypted version of Telnet. Sometimes you win, sometimes you learn. A comfort zone is a beautiful place, but nothing ever grows there. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All journeys have secret destinations of which the traveler is unaware. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If you wait, all that happens is you get older. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has never made a mistake has never tried anything new. Typically, it is employed as an encrypted version of Telnet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Optimism is the one quality more associated with success and happiness than any other. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', NULL, 'If opportunity doesn’t knock, build a door. To connect to a database or schema, simply double-click it in the pane. Optimism is the one quality more associated with success and happiness than any other. There is no way to happiness. Happiness is the way. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Genius is an infinite capacity for taking pains. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Remember that failure is an event, not a person. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I will greet this day with love in my heart. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If opportunity doesn’t knock, build a door. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('142', '/home/Administrator/Pictures/img_549496.png', 'J5S3p', NULL, NULL, 'M8JZY1DlYI', '118 East Cooke Road', NULL, '2020-01-16 11:36:19', '2018-07-01 17:12:51', 557.7227, 'I destroy my enemies when I make them my friends. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. To connect to a database or schema, simply double-click it in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In the middle of winter I at last discovered that there was in me an invincible summer. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Difficult circumstances serve as a textbook of life for people. I will greet this day with love in my heart. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. A man is not old until regrets take the place of dreams. You must be the change you wish to see in the world. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A man is not old until regrets take the place of dreams. What you get by achieving your goals is not as important as what you become by achieving your goals. The first step is as good as half over. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If you wait, all that happens is you get older. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If the plan doesn’t work, change the plan, but never the goal. The past has no power over the present moment. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Sometimes you win, sometimes you learn. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A comfort zone is a beautiful place, but nothing ever grows there. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It wasn’t raining when Noah built the ark. The On Startup feature allows you to control what tabs appear when you launch Navicat. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A man is not old until regrets take the place of dreams. A comfort zone is a beautiful place, but nothing ever grows there. I destroy my enemies when I make them my friends. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat 15 has added support for the system-wide dark mode. If you wait, all that happens is you get older. A man’s best friends are his ten fingers. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.', 'You must be the change you wish to see in the world. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A man is not old until regrets take the place of dreams. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Success consists of going from failure to failure without loss of enthusiasm. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If it scares you, it might be a good thing to try. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Genius is an infinite capacity for taking pains. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A query is used to extract data from the database in a readable format according to the user\'s request. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You must be the change you wish to see in the world. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections.', NULL, 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Flexible settings enable you to set up a custom key for comparison and synchronization. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Genius is an infinite capacity for taking pains. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It wasn’t raining when Noah built the ark. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If you wait, all that happens is you get older. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The first step is as good as half over. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Creativity is intelligence having fun. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Genius is an infinite capacity for taking pains. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Creativity is intelligence having fun. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Typically, it is employed as an encrypted version of Telnet. The On Startup feature allows you to control what tabs appear when you launch Navicat. It wasn’t raining when Noah built the ark. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. A comfort zone is a beautiful place, but nothing ever grows there. The past has no power over the present moment. Genius is an infinite capacity for taking pains. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Synchronize to Database function will give you a full picture of all database differences. Creativity is intelligence having fun. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Anyone who has never made a mistake has never tried anything new. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To connect to a database or schema, simply double-click it in the pane. A man’s best friends are his ten fingers. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If you wait, all that happens is you get older. Difficult circumstances serve as a textbook of life for people. Flexible settings enable you to set up a custom key for comparison and synchronization. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. If the plan doesn’t work, change the plan, but never the goal. There is no way to happiness. Happiness is the way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('143', '/Users/Administrator/Pictures/img_949519.png', 'AJIyi', NULL, NULL, 'ijP948RWlT', '2-3-16 Yoyogi, Shibuya-ku', NULL, '2023-01-05 12:15:27', '2010-11-08 17:35:20', 837.0559, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I will greet this day with love in my heart. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', 'The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Flexible settings enable you to set up a custom key for comparison and synchronization. How we spend our days is, of course, how we spend our lives. The On Startup feature allows you to control what tabs appear when you launch Navicat. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the middle of winter I at last discovered that there was in me an invincible summer. Anyone who has never made a mistake has never tried anything new. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the middle of winter I at last discovered that there was in me an invincible summer. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. Genius is an infinite capacity for taking pains. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Synchronize to Database function will give you a full picture of all database differences. You cannot save people, you can just love them. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Genius is an infinite capacity for taking pains. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Difficult circumstances serve as a textbook of life for people. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Difficult circumstances serve as a textbook of life for people. The first step is as good as half over. You cannot save people, you can just love them. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Champions keep playing until they get it right. In the middle of winter I at last discovered that there was in me an invincible summer. You cannot save people, you can just love them. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The first step is as good as half over. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You will succeed because most people are lazy. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The first step is as good as half over. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', NULL, 'You must be the change you wish to see in the world. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If it scares you, it might be a good thing to try. The first step is as good as half over. It wasn’t raining when Noah built the ark. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It wasn’t raining when Noah built the ark. The first step is as good as half over. What you get by achieving your goals is not as important as what you become by achieving your goals. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It wasn’t raining when Noah built the ark. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If opportunity doesn’t knock, build a door. Navicat 15 has added support for the system-wide dark mode. Anyone who has never made a mistake has never tried anything new. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has ever made anything of importance was disciplined. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The past has no power over the present moment. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Remember that failure is an event, not a person. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Creativity is intelligence having fun. Optimism is the one quality more associated with success and happiness than any other. If the plan doesn’t work, change the plan, but never the goal. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Synchronize to Database function will give you a full picture of all database differences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. You cannot save people, you can just love them. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A comfort zone is a beautiful place, but nothing ever grows there. There is no way to happiness. Happiness is the way. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. There is no way to happiness. Happiness is the way. Navicat 15 has added support for the system-wide dark mode. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Difficult circumstances serve as a textbook of life for people. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Sometimes you win, sometimes you learn. Success consists of going from failure to failure without loss of enthusiasm. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('144', 'C:\\Users\\Administrator\\Pictures\\img_739088.png', '6GPwY', NULL, NULL, 'yig21WGilZ', '869 West Houston Street', NULL, '2023-12-17 21:35:57', '2021-09-23 02:37:23', 715.8069, 'A query is used to extract data from the database in a readable format according to the user\'s request. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A man is not old until regrets take the place of dreams. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. There is no way to happiness. Happiness is the way. The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A man’s best friends are his ten fingers. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Genius is an infinite capacity for taking pains. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A man is not old until regrets take the place of dreams. A man’s best friends are his ten fingers. If the plan doesn’t work, change the plan, but never the goal. To connect to a database or schema, simply double-click it in the pane. Genius is an infinite capacity for taking pains. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Sometimes you win, sometimes you learn. To connect to a database or schema, simply double-click it in the pane. Champions keep playing until they get it right. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If the plan doesn’t work, change the plan, but never the goal. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If the plan doesn’t work, change the plan, but never the goal. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. There is no way to happiness. Happiness is the way. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.', 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You cannot save people, you can just love them. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Synchronize to Database function will give you a full picture of all database differences. The past has no power over the present moment. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. How we spend our days is, of course, how we spend our lives. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A comfort zone is a beautiful place, but nothing ever grows there. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A man is not old until regrets take the place of dreams. In the middle of winter I at last discovered that there was in me an invincible summer. How we spend our days is, of course, how we spend our lives. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Flexible settings enable you to set up a custom key for comparison and synchronization. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You will succeed because most people are lazy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Champions keep playing until they get it right. Difficult circumstances serve as a textbook of life for people. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All journeys have secret destinations of which the traveler is unaware. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Anyone who has ever made anything of importance was disciplined. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If the plan doesn’t work, change the plan, but never the goal. Sometimes you win, sometimes you learn. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Genius is an infinite capacity for taking pains. I will greet this day with love in my heart. Anyone who has never made a mistake has never tried anything new. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', NULL, 'A query is used to extract data from the database in a readable format according to the user\'s request. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If you wait, all that happens is you get older. Genius is an infinite capacity for taking pains. The On Startup feature allows you to control what tabs appear when you launch Navicat. If opportunity doesn’t knock, build a door. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man’s best friends are his ten fingers. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Synchronize to Database function will give you a full picture of all database differences. Champions keep playing until they get it right. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. You must be the change you wish to see in the world. Success consists of going from failure to failure without loss of enthusiasm. The On Startup feature allows you to control what tabs appear when you launch Navicat. You cannot save people, you can just love them. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A comfort zone is a beautiful place, but nothing ever grows there. Flexible settings enable you to set up a custom key for comparison and synchronization. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat 15 has added support for the system-wide dark mode. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the plan doesn’t work, change the plan, but never the goal. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. How we spend our days is, of course, how we spend our lives. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. I will greet this day with love in my heart. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A man is not old until regrets take the place of dreams. I destroy my enemies when I make them my friends. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Remember that failure is an event, not a person. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The first step is as good as half over. Remember that failure is an event, not a person. Navicat 15 has added support for the system-wide dark mode. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Anyone who has ever made anything of importance was disciplined. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man’s best friends are his ten fingers. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Optimism is the one quality more associated with success and happiness than any other. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Remember that failure is an event, not a person. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. Sometimes you win, sometimes you learn. Navicat 15 has added support for the system-wide dark mode. It wasn’t raining when Noah built the ark. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Typically, it is employed as an encrypted version of Telnet. Success consists of going from failure to failure without loss of enthusiasm. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('145', '/home/Administrator/Pictures/img_216112.png', 'ZrErn', NULL, NULL, 'wSKDBOOt4d', '473 Canal Street', NULL, '2024-08-20 09:45:22', '2021-02-03 12:48:43', 985.0471, 'The past has no power over the present moment. If you wait, all that happens is you get older. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The past has no power over the present moment. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Genius is an infinite capacity for taking pains. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. All journeys have secret destinations of which the traveler is unaware. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the plan doesn’t work, change the plan, but never the goal. What you get by achieving your goals is not as important as what you become by achieving your goals. A comfort zone is a beautiful place, but nothing ever grows there. Navicat 15 has added support for the system-wide dark mode. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. If it scares you, it might be a good thing to try. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The reason why a great man is great is that he resolves to be a great man. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. You must be the change you wish to see in the world. A query is used to extract data from the database in a readable format according to the user\'s request. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. How we spend our days is, of course, how we spend our lives. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat 15 has added support for the system-wide dark mode. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. How we spend our days is, of course, how we spend our lives. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It wasn’t raining when Noah built the ark. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I will greet this day with love in my heart. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Difficult circumstances serve as a textbook of life for people. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Optimism is the one quality more associated with success and happiness than any other. A query is used to extract data from the database in a readable format according to the user\'s request.', 'The Synchronize to Database function will give you a full picture of all database differences. What you get by achieving your goals is not as important as what you become by achieving your goals. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Creativity is intelligence having fun. What you get by achieving your goals is not as important as what you become by achieving your goals. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It wasn’t raining when Noah built the ark. How we spend our days is, of course, how we spend our lives. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. Typically, it is employed as an encrypted version of Telnet. I destroy my enemies when I make them my friends. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A man is not old until regrets take the place of dreams. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', NULL, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All journeys have secret destinations of which the traveler is unaware. Navicat 15 has added support for the system-wide dark mode. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. I destroy my enemies when I make them my friends. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. There is no way to happiness. Happiness is the way. Remember that failure is an event, not a person. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man is not old until regrets take the place of dreams. It wasn’t raining when Noah built the ark. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You will succeed because most people are lazy. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. What you get by achieving your goals is not as important as what you become by achieving your goals. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Typically, it is employed as an encrypted version of Telnet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The first step is as good as half over. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Typically, it is employed as an encrypted version of Telnet. Sometimes you win, sometimes you learn. Remember that failure is an event, not a person. I destroy my enemies when I make them my friends. To connect to a database or schema, simply double-click it in the pane. It wasn’t raining when Noah built the ark. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Sometimes you win, sometimes you learn. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The On Startup feature allows you to control what tabs appear when you launch Navicat. Success consists of going from failure to failure without loss of enthusiasm. The first step is as good as half over. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If you wait, all that happens is you get older. The Synchronize to Database function will give you a full picture of all database differences. Creativity is intelligence having fun. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Optimism is the one quality more associated with success and happiness than any other. It wasn’t raining when Noah built the ark. You cannot save people, you can just love them. What you get by achieving your goals is not as important as what you become by achieving your goals. A man is not old until regrets take the place of dreams. Anyone who has ever made anything of importance was disciplined. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the middle of winter I at last discovered that there was in me an invincible summer.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('146', '/home/Administrator/Pictures/img_159513.jpg', 'gCnd3', NULL, NULL, 'QvPAkDals2', '840 Jingtian East 1st St, Futian District', NULL, '2021-08-17 12:11:37', '2005-04-10 22:39:04', 518.7853, 'HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has never made a mistake has never tried anything new. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The On Startup feature allows you to control what tabs appear when you launch Navicat. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Genius is an infinite capacity for taking pains. You will succeed because most people are lazy. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Success consists of going from failure to failure without loss of enthusiasm. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You will succeed because most people are lazy. The first step is as good as half over. How we spend our days is, of course, how we spend our lives. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Synchronize to Database function will give you a full picture of all database differences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. There is no way to happiness. Happiness is the way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To connect to a database or schema, simply double-click it in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You cannot save people, you can just love them. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. To connect to a database or schema, simply double-click it in the pane. If you wait, all that happens is you get older. You must be the change you wish to see in the world. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has ever made anything of importance was disciplined. If it scares you, it might be a good thing to try. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I destroy my enemies when I make them my friends. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I will greet this day with love in my heart. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Anyone who has ever made anything of importance was disciplined. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A comfort zone is a beautiful place, but nothing ever grows there. It wasn’t raining when Noah built the ark. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The On Startup feature allows you to control what tabs appear when you launch Navicat. You must be the change you wish to see in the world. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The first step is as good as half over. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It wasn’t raining when Noah built the ark. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Genius is an infinite capacity for taking pains. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Remember that failure is an event, not a person. You cannot save people, you can just love them. If it scares you, it might be a good thing to try. In the middle of winter I at last discovered that there was in me an invincible summer. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A query is used to extract data from the database in a readable format according to the user\'s request. Difficult circumstances serve as a textbook of life for people. I destroy my enemies when I make them my friends. If opportunity doesn’t knock, build a door. If opportunity doesn’t knock, build a door. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A query is used to extract data from the database in a readable format according to the user\'s request. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Sometimes you win, sometimes you learn. Typically, it is employed as an encrypted version of Telnet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has never made a mistake has never tried anything new. Anyone who has ever made anything of importance was disciplined. If you wait, all that happens is you get older. Creativity is intelligence having fun. A query is used to extract data from the database in a readable format according to the user\'s request. You cannot save people, you can just love them. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. What you get by achieving your goals is not as important as what you become by achieving your goals. To connect to a database or schema, simply double-click it in the pane. A comfort zone is a beautiful place, but nothing ever grows there. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the plan doesn’t work, change the plan, but never the goal. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure.', NULL, 'Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Optimism is the one quality more associated with success and happiness than any other. What you get by achieving your goals is not as important as what you become by achieving your goals. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Sometimes you win, sometimes you learn. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To connect to a database or schema, simply double-click it in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('147', 'C:\\Users\\Administrator\\Pictures\\img_314214.jpg', 'V4w14', NULL, NULL, 'nkNHBGBGlJ', '645 Grape Street', NULL, '2023-11-17 13:03:57', '2013-08-15 20:47:12', 538.8104, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. I destroy my enemies when I make them my friends. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. A man is not old until regrets take the place of dreams. To connect to a database or schema, simply double-click it in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Creativity is intelligence having fun. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Success consists of going from failure to failure without loss of enthusiasm. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The past has no power over the present moment. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. There is no way to happiness. Happiness is the way. You must be the change you wish to see in the world. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To connect to a database or schema, simply double-click it in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. There is no way to happiness. Happiness is the way. You must be the change you wish to see in the world. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Remember that failure is an event, not a person. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat 15 has added support for the system-wide dark mode. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has ever made anything of importance was disciplined. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has never made a mistake has never tried anything new. Success consists of going from failure to failure without loss of enthusiasm. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The first step is as good as half over. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A man’s best friends are his ten fingers. A man’s best friends are his ten fingers. In the middle of winter I at last discovered that there was in me an invincible summer. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You will succeed because most people are lazy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Difficult circumstances serve as a textbook of life for people. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man is not old until regrets take the place of dreams. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man’s best friends are his ten fingers. You cannot save people, you can just love them. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. I will greet this day with love in my heart. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A comfort zone is a beautiful place, but nothing ever grows there. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has ever made anything of importance was disciplined. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Genius is an infinite capacity for taking pains. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. It wasn’t raining when Noah built the ark. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A man’s best friends are his ten fingers. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat 15 has added support for the system-wide dark mode. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.', NULL, 'You must be the change you wish to see in the world. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Optimism is the one quality more associated with success and happiness than any other. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I destroy my enemies when I make them my friends. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat 15 has added support for the system-wide dark mode. The reason why a great man is great is that he resolves to be a great man. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The reason why a great man is great is that he resolves to be a great man. To connect to a database or schema, simply double-click it in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Difficult circumstances serve as a textbook of life for people. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Synchronize to Database function will give you a full picture of all database differences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A query is used to extract data from the database in a readable format according to the user\'s request. If you wait, all that happens is you get older. A query is used to extract data from the database in a readable format according to the user\'s request. Success consists of going from failure to failure without loss of enthusiasm.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('148', '/home/Administrator/Pictures/img_609099.jpg', 'dgnuD', NULL, NULL, 'XMgKOuqeKs', '183 Central Avenue', NULL, '2022-02-19 18:45:17', '2009-11-09 21:10:30', 323.0773, 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the plan doesn’t work, change the plan, but never the goal. All journeys have secret destinations of which the traveler is unaware. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A comfort zone is a beautiful place, but nothing ever grows there. The past has no power over the present moment. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. A man’s best friends are his ten fingers. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Synchronize to Database function will give you a full picture of all database differences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Champions keep playing until they get it right. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Flexible settings enable you to set up a custom key for comparison and synchronization. You cannot save people, you can just love them. You will succeed because most people are lazy. In the middle of winter I at last discovered that there was in me an invincible summer. If opportunity doesn’t knock, build a door. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If opportunity doesn’t knock, build a door. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has never made a mistake has never tried anything new. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Typically, it is employed as an encrypted version of Telnet. What you get by achieving your goals is not as important as what you become by achieving your goals. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You must be the change you wish to see in the world. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.', 'Typically, it is employed as an encrypted version of Telnet. It wasn’t raining when Noah built the ark. If you wait, all that happens is you get older. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It wasn’t raining when Noah built the ark. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I will greet this day with love in my heart. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Genius is an infinite capacity for taking pains. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Creativity is intelligence having fun. You cannot save people, you can just love them. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In the middle of winter I at last discovered that there was in me an invincible summer. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Remember that failure is an event, not a person. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The first step is as good as half over. To connect to a database or schema, simply double-click it in the pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It wasn’t raining when Noah built the ark. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A man is not old until regrets take the place of dreams. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The On Startup feature allows you to control what tabs appear when you launch Navicat. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If it scares you, it might be a good thing to try. If opportunity doesn’t knock, build a door. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The reason why a great man is great is that he resolves to be a great man. The first step is as good as half over. You cannot save people, you can just love them. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the middle of winter I at last discovered that there was in me an invincible summer. What you get by achieving your goals is not as important as what you become by achieving your goals. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Anyone who has never made a mistake has never tried anything new. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A comfort zone is a beautiful place, but nothing ever grows there. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. The past has no power over the present moment. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', NULL, 'There is no way to happiness. Happiness is the way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The On Startup feature allows you to control what tabs appear when you launch Navicat. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat 15 has added support for the system-wide dark mode. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The reason why a great man is great is that he resolves to be a great man. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I will greet this day with love in my heart. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man is not old until regrets take the place of dreams. I destroy my enemies when I make them my friends. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I will greet this day with love in my heart. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Synchronize to Database function will give you a full picture of all database differences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Success consists of going from failure to failure without loss of enthusiasm. Sometimes you win, sometimes you learn. Navicat 15 has added support for the system-wide dark mode. Optimism is the one quality more associated with success and happiness than any other. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Remember that failure is an event, not a person. If you wait, all that happens is you get older. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The reason why a great man is great is that he resolves to be a great man. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Typically, it is employed as an encrypted version of Telnet. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. All journeys have secret destinations of which the traveler is unaware. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Always keep your eyes open. Keep watching. Because whatever you see can inspire you.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('149', '/Users/Administrator/Pictures/img_199466.jpg', 'R0FeP', NULL, NULL, 'ZiRPNCS3x4', '546 028 County Rd, Yanqing District', NULL, '2022-11-15 08:35:29', '2001-08-20 20:02:35', 762.2650, 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has never made a mistake has never tried anything new. Anyone who has never made a mistake has never tried anything new. There is no way to happiness. Happiness is the way. Anyone who has ever made anything of importance was disciplined. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The first step is as good as half over. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The On Startup feature allows you to control what tabs appear when you launch Navicat. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Genius is an infinite capacity for taking pains. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. Remember that failure is an event, not a person. The first step is as good as half over. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If the plan doesn’t work, change the plan, but never the goal. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You will succeed because most people are lazy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. How we spend our days is, of course, how we spend our lives. If it scares you, it might be a good thing to try. You cannot save people, you can just love them. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Synchronize to Database function will give you a full picture of all database differences. You must be the change you wish to see in the world. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If the plan doesn’t work, change the plan, but never the goal. The reason why a great man is great is that he resolves to be a great man. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If opportunity doesn’t knock, build a door. Anyone who has ever made anything of importance was disciplined. A comfort zone is a beautiful place, but nothing ever grows there. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All journeys have secret destinations of which the traveler is unaware. A query is used to extract data from the database in a readable format according to the user\'s request. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The On Startup feature allows you to control what tabs appear when you launch Navicat. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man is not old until regrets take the place of dreams. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the plan doesn’t work, change the plan, but never the goal. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. All journeys have secret destinations of which the traveler is unaware. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Sometimes you win, sometimes you learn. How we spend our days is, of course, how we spend our lives. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Difficult circumstances serve as a textbook of life for people. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A comfort zone is a beautiful place, but nothing ever grows there. A comfort zone is a beautiful place, but nothing ever grows there. How we spend our days is, of course, how we spend our lives. Success consists of going from failure to failure without loss of enthusiasm. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. You cannot save people, you can just love them. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You will succeed because most people are lazy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Difficult circumstances serve as a textbook of life for people. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All journeys have secret destinations of which the traveler is unaware. You cannot save people, you can just love them. To connect to a database or schema, simply double-click it in the pane. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You cannot save people, you can just love them. You will succeed because most people are lazy. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.', NULL, 'I destroy my enemies when I make them my friends. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The past has no power over the present moment. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Typically, it is employed as an encrypted version of Telnet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has never made a mistake has never tried anything new. Genius is an infinite capacity for taking pains. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A comfort zone is a beautiful place, but nothing ever grows there. To connect to a database or schema, simply double-click it in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. A comfort zone is a beautiful place, but nothing ever grows there. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Remember that failure is an event, not a person. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Remember that failure is an event, not a person. Flexible settings enable you to set up a custom key for comparison and synchronization. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man’s best friends are his ten fingers. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The On Startup feature allows you to control what tabs appear when you launch Navicat. The reason why a great man is great is that he resolves to be a great man. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If you wait, all that happens is you get older. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('15', 'C:\\Users\\Administrator\\Pictures\\img_798965.png', 'nsrEJ', NULL, NULL, 'f9JBeTycpK', '62 Figueroa Street', NULL, '2024-09-19 03:43:05', '2024-04-18 07:06:49', 564.8268, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If opportunity doesn’t knock, build a door. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat 15 has added support for the system-wide dark mode. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Remember that failure is an event, not a person. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If you wait, all that happens is you get older. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. There is no way to happiness. Happiness is the way. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man’s best friends are his ten fingers. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Synchronize to Database function will give you a full picture of all database differences. If you wait, all that happens is you get older. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. Flexible settings enable you to set up a custom key for comparison and synchronization. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. You must be the change you wish to see in the world. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Champions keep playing until they get it right. How we spend our days is, of course, how we spend our lives.', 'Typically, it is employed as an encrypted version of Telnet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If it scares you, it might be a good thing to try. In the middle of winter I at last discovered that there was in me an invincible summer. Anyone who has ever made anything of importance was disciplined. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Optimism is the one quality more associated with success and happiness than any other. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All journeys have secret destinations of which the traveler is unaware. The first step is as good as half over. Navicat 15 has added support for the system-wide dark mode. It wasn’t raining when Noah built the ark. Typically, it is employed as an encrypted version of Telnet. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Remember that failure is an event, not a person. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If it scares you, it might be a good thing to try. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools.', NULL, 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Typically, it is employed as an encrypted version of Telnet. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A comfort zone is a beautiful place, but nothing ever grows there. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I will greet this day with love in my heart. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To connect to a database or schema, simply double-click it in the pane. What you get by achieving your goals is not as important as what you become by achieving your goals. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('150', '/Users/Administrator/Pictures/img_921900.png', 'K1sl8', NULL, NULL, 'P4WNGXeYzf', '242 Whitehouse Lane, Huntingdon Rd', NULL, '2023-06-13 11:04:20', '2019-10-24 08:55:08', 968.0764, 'Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You cannot save people, you can just love them. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Genius is an infinite capacity for taking pains. The past has no power over the present moment. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To connect to a database or schema, simply double-click it in the pane. To connect to a database or schema, simply double-click it in the pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Synchronize to Database function will give you a full picture of all database differences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The reason why a great man is great is that he resolves to be a great man. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has never made a mistake has never tried anything new. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man is not old until regrets take the place of dreams. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Creativity is intelligence having fun. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Sometimes you win, sometimes you learn. If you wait, all that happens is you get older. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. How we spend our days is, of course, how we spend our lives. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I will greet this day with love in my heart. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. What you get by achieving your goals is not as important as what you become by achieving your goals. You cannot save people, you can just love them. A comfort zone is a beautiful place, but nothing ever grows there. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The past has no power over the present moment. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I will greet this day with love in my heart. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It wasn’t raining when Noah built the ark. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A query is used to extract data from the database in a readable format according to the user\'s request. There is no way to happiness. Happiness is the way. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If you wait, all that happens is you get older. Remember that failure is an event, not a person. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If you wait, all that happens is you get older. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The reason why a great man is great is that he resolves to be a great man. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If you wait, all that happens is you get older. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Optimism is the one quality more associated with success and happiness than any other. I destroy my enemies when I make them my friends. There is no way to happiness. Happiness is the way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.', 'Sometimes you win, sometimes you learn. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man’s best friends are his ten fingers. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Creativity is intelligence having fun. Optimism is the one quality more associated with success and happiness than any other. The first step is as good as half over. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Champions keep playing until they get it right. Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. I will greet this day with love in my heart. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You must be the change you wish to see in the world. It wasn’t raining when Noah built the ark. How we spend our days is, of course, how we spend our lives. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To connect to a database or schema, simply double-click it in the pane. I destroy my enemies when I make them my friends. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. It wasn’t raining when Noah built the ark. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A comfort zone is a beautiful place, but nothing ever grows there. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If opportunity doesn’t knock, build a door. It wasn’t raining when Noah built the ark. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Champions keep playing until they get it right. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Difficult circumstances serve as a textbook of life for people. The first step is as good as half over. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools.', NULL, 'Anyone who has ever made anything of importance was disciplined. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I will greet this day with love in my heart. Creativity is intelligence having fun. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Champions keep playing until they get it right. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('151', 'C:\\Users\\Administrator\\Pictures\\img_090046.jpg', 'aKNSc', NULL, NULL, 'nGdNTDrDaj', '1-1-12 Deshiro, Nishinari Ward', NULL, '2020-11-21 13:24:31', '2005-01-03 17:58:57', 704.3070, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Difficult circumstances serve as a textbook of life for people. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Remember that failure is an event, not a person. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Champions keep playing until they get it right. Champions keep playing until they get it right. Remember that failure is an event, not a person. In the middle of winter I at last discovered that there was in me an invincible summer. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If you wait, all that happens is you get older. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Flexible settings enable you to set up a custom key for comparison and synchronization. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the middle of winter I at last discovered that there was in me an invincible summer. What you get by achieving your goals is not as important as what you become by achieving your goals. The reason why a great man is great is that he resolves to be a great man. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To connect to a database or schema, simply double-click it in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the plan doesn’t work, change the plan, but never the goal. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Remember that failure is an event, not a person. I will greet this day with love in my heart. A man is not old until regrets take the place of dreams. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man’s best friends are his ten fingers. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Success consists of going from failure to failure without loss of enthusiasm. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You cannot save people, you can just love them. A comfort zone is a beautiful place, but nothing ever grows there. The first step is as good as half over. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. What you get by achieving your goals is not as important as what you become by achieving your goals. You cannot save people, you can just love them. The past has no power over the present moment. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If the plan doesn’t work, change the plan, but never the goal. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has never made a mistake has never tried anything new. In the middle of winter I at last discovered that there was in me an invincible summer. There is no way to happiness. Happiness is the way. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I will greet this day with love in my heart. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Success consists of going from failure to failure without loss of enthusiasm. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The first step is as good as half over. I destroy my enemies when I make them my friends. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. There is no way to happiness. Happiness is the way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A man’s best friends are his ten fingers. You must be the change you wish to see in the world. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.', 'If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The past has no power over the present moment. In the middle of winter I at last discovered that there was in me an invincible summer. Anyone who has ever made anything of importance was disciplined. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All journeys have secret destinations of which the traveler is unaware. The first step is as good as half over. You cannot save people, you can just love them. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure.', NULL, 'I destroy my enemies when I make them my friends. How we spend our days is, of course, how we spend our lives. Sometimes you win, sometimes you learn. What you get by achieving your goals is not as important as what you become by achieving your goals. How we spend our days is, of course, how we spend our lives. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat 15 has added support for the system-wide dark mode. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Creativity is intelligence having fun. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If it scares you, it might be a good thing to try. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has ever made anything of importance was disciplined. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If you wait, all that happens is you get older. I destroy my enemies when I make them my friends. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The reason why a great man is great is that he resolves to be a great man. How we spend our days is, of course, how we spend our lives. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Anyone who has never made a mistake has never tried anything new. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. I destroy my enemies when I make them my friends.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('152', '/home/Administrator/Pictures/img_496535.png', 'Nf3F2', NULL, NULL, 'zke43KQ8n9', '32 Rush Street', NULL, '2020-02-25 18:22:30', '2001-05-17 15:52:08', 597.2376, 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I destroy my enemies when I make them my friends. It wasn’t raining when Noah built the ark. I destroy my enemies when I make them my friends. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You must be the change you wish to see in the world. You will succeed because most people are lazy. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man is not old until regrets take the place of dreams. Remember that failure is an event, not a person. If you wait, all that happens is you get older. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The past has no power over the present moment. Remember that failure is an event, not a person. The reason why a great man is great is that he resolves to be a great man. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat 15 has added support for the system-wide dark mode. It wasn’t raining when Noah built the ark. You cannot save people, you can just love them. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', 'Genius is an infinite capacity for taking pains. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You cannot save people, you can just love them. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Synchronize to Database function will give you a full picture of all database differences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If you wait, all that happens is you get older. All journeys have secret destinations of which the traveler is unaware. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A man is not old until regrets take the place of dreams. Anyone who has never made a mistake has never tried anything new. Creativity is intelligence having fun. Difficult circumstances serve as a textbook of life for people. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A query is used to extract data from the database in a readable format according to the user\'s request. A comfort zone is a beautiful place, but nothing ever grows there. You must be the change you wish to see in the world. A man is not old until regrets take the place of dreams. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A query is used to extract data from the database in a readable format according to the user\'s request. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If it scares you, it might be a good thing to try. I will greet this day with love in my heart. You will succeed because most people are lazy. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Champions keep playing until they get it right. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Difficult circumstances serve as a textbook of life for people. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Flexible settings enable you to set up a custom key for comparison and synchronization. A man’s best friends are his ten fingers. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If opportunity doesn’t knock, build a door. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has ever made anything of importance was disciplined. Optimism is the one quality more associated with success and happiness than any other. The On Startup feature allows you to control what tabs appear when you launch Navicat. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Typically, it is employed as an encrypted version of Telnet. Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All journeys have secret destinations of which the traveler is unaware. In the middle of winter I at last discovered that there was in me an invincible summer. There is no way to happiness. Happiness is the way. Actually it is just in an idea when feel oneself can achieve and cannot achieve.', NULL, 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the plan doesn’t work, change the plan, but never the goal. Success consists of going from failure to failure without loss of enthusiasm. All journeys have secret destinations of which the traveler is unaware. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All journeys have secret destinations of which the traveler is unaware. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The first step is as good as half over. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The past has no power over the present moment. If opportunity doesn’t knock, build a door. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man is not old until regrets take the place of dreams. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('153', '/Users/Administrator/Pictures/img_979634.png', '4Kvnb', NULL, NULL, 'mAj84Kj8I2', '511 Whitehouse Lane, Huntingdon Rd', NULL, '2024-05-02 05:55:54', '2018-11-06 23:49:01', 229.9446, 'The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. There is no way to happiness. Happiness is the way. If it scares you, it might be a good thing to try. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It wasn’t raining when Noah built the ark. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The On Startup feature allows you to control what tabs appear when you launch Navicat. I destroy my enemies when I make them my friends. You must be the change you wish to see in the world. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Champions keep playing until they get it right. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Champions keep playing until they get it right. A man is not old until regrets take the place of dreams. What you get by achieving your goals is not as important as what you become by achieving your goals. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If the plan doesn’t work, change the plan, but never the goal. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Sometimes you win, sometimes you learn. What you get by achieving your goals is not as important as what you become by achieving your goals. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Creativity is intelligence having fun. You cannot save people, you can just love them. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure.', 'The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I destroy my enemies when I make them my friends. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The first step is as good as half over. Creativity is intelligence having fun. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Optimism is the one quality more associated with success and happiness than any other. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. How we spend our days is, of course, how we spend our lives. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If the plan doesn’t work, change the plan, but never the goal. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I destroy my enemies when I make them my friends. There is no way to happiness. Happiness is the way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Remember that failure is an event, not a person. Anyone who has never made a mistake has never tried anything new. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', NULL, 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If the plan doesn’t work, change the plan, but never the goal. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The first step is as good as half over. If it scares you, it might be a good thing to try. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Remember that failure is an event, not a person. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If opportunity doesn’t knock, build a door. The Synchronize to Database function will give you a full picture of all database differences. You must be the change you wish to see in the world. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I will greet this day with love in my heart. Creativity is intelligence having fun. The On Startup feature allows you to control what tabs appear when you launch Navicat. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. Navicat 15 has added support for the system-wide dark mode. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I destroy my enemies when I make them my friends. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It wasn’t raining when Noah built the ark. All journeys have secret destinations of which the traveler is unaware. The first step is as good as half over. Remember that failure is an event, not a person. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('154', '/home/Administrator/Pictures/img_706771.png', 'Nv0Qh', NULL, NULL, 'XtBY9cnO1G', '700 Diplomacy Drive', NULL, '2024-04-06 12:00:40', '2015-10-19 01:03:59', 233.5824, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.', 'What you get by achieving your goals is not as important as what you become by achieving your goals. Remember that failure is an event, not a person. Anyone who has ever made anything of importance was disciplined. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. There is no way to happiness. Happiness is the way. I will greet this day with love in my heart. Creativity is intelligence having fun. Creativity is intelligence having fun. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Flexible settings enable you to set up a custom key for comparison and synchronization. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. The first step is as good as half over. There is no way to happiness. Happiness is the way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All journeys have secret destinations of which the traveler is unaware. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I will greet this day with love in my heart. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man is not old until regrets take the place of dreams. Typically, it is employed as an encrypted version of Telnet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Synchronize to Database function will give you a full picture of all database differences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Creativity is intelligence having fun. Remember that failure is an event, not a person. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Synchronize to Database function will give you a full picture of all database differences. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. There is no way to happiness. Happiness is the way. You cannot save people, you can just love them. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Flexible settings enable you to set up a custom key for comparison and synchronization. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. If the plan doesn’t work, change the plan, but never the goal. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Synchronize to Database function will give you a full picture of all database differences. It wasn’t raining when Noah built the ark. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Anyone who has never made a mistake has never tried anything new. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat 15 has added support for the system-wide dark mode. Remember that failure is an event, not a person. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If opportunity doesn’t knock, build a door. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. A man is not old until regrets take the place of dreams. If it scares you, it might be a good thing to try. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I destroy my enemies when I make them my friends. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the middle of winter I at last discovered that there was in me an invincible summer. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections.', NULL, 'All journeys have secret destinations of which the traveler is unaware. Sometimes you win, sometimes you learn. In the middle of winter I at last discovered that there was in me an invincible summer. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Sometimes you win, sometimes you learn. To connect to a database or schema, simply double-click it in the pane. If opportunity doesn’t knock, build a door. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I destroy my enemies when I make them my friends. I will greet this day with love in my heart. A comfort zone is a beautiful place, but nothing ever grows there. The first step is as good as half over. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Difficult circumstances serve as a textbook of life for people. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The past has no power over the present moment. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Creativity is intelligence having fun. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You will succeed because most people are lazy. Champions keep playing until they get it right. The On Startup feature allows you to control what tabs appear when you launch Navicat. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man is not old until regrets take the place of dreams. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Champions keep playing until they get it right. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. There is no way to happiness. Happiness is the way. It wasn’t raining when Noah built the ark. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If it scares you, it might be a good thing to try. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man’s best friends are his ten fingers. I will greet this day with love in my heart. You must be the change you wish to see in the world. Sometimes you win, sometimes you learn. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Anyone who has never made a mistake has never tried anything new. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Success consists of going from failure to failure without loss of enthusiasm. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. What you get by achieving your goals is not as important as what you become by achieving your goals. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('155', 'C:\\Users\\Administrator\\Pictures\\img_784182.jpg', 'xxHLi', NULL, NULL, 'liXnxvErxL', '590 Lefeng 6th Rd', NULL, '2021-07-29 06:50:30', '2023-11-01 03:23:07', 659.9988, 'Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man is not old until regrets take the place of dreams. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has never made a mistake has never tried anything new. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You cannot save people, you can just love them. I may not have gone where I intended to go, but I think I have ended up where I needed to be. How we spend our days is, of course, how we spend our lives. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You cannot save people, you can just love them. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. There is no way to happiness. Happiness is the way. The Synchronize to Database function will give you a full picture of all database differences. Flexible settings enable you to set up a custom key for comparison and synchronization. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If it scares you, it might be a good thing to try. The first step is as good as half over. Remember that failure is an event, not a person. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I will greet this day with love in my heart. Anyone who has ever made anything of importance was disciplined. You will succeed because most people are lazy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I destroy my enemies when I make them my friends. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the plan doesn’t work, change the plan, but never the goal. If opportunity doesn’t knock, build a door. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It wasn’t raining when Noah built the ark. A man’s best friends are his ten fingers. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. There is no way to happiness. Happiness is the way. A comfort zone is a beautiful place, but nothing ever grows there. Typically, it is employed as an encrypted version of Telnet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You must be the change you wish to see in the world. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.', 'To connect to a database or schema, simply double-click it in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It wasn’t raining when Noah built the ark. Genius is an infinite capacity for taking pains. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. How we spend our days is, of course, how we spend our lives. Champions keep playing until they get it right. You must be the change you wish to see in the world. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If it scares you, it might be a good thing to try. You must be the change you wish to see in the world. Navicat 15 has added support for the system-wide dark mode. It wasn’t raining when Noah built the ark. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A query is used to extract data from the database in a readable format according to the user\'s request. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You must be the change you wish to see in the world. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. There is no way to happiness. Happiness is the way. To connect to a database or schema, simply double-click it in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To connect to a database or schema, simply double-click it in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In the middle of winter I at last discovered that there was in me an invincible summer. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. How we spend our days is, of course, how we spend our lives. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Synchronize to Database function will give you a full picture of all database differences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man’s best friends are his ten fingers. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If opportunity doesn’t knock, build a door. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A comfort zone is a beautiful place, but nothing ever grows there. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', NULL, 'Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You cannot save people, you can just love them. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The first step is as good as half over. You cannot save people, you can just love them. Difficult circumstances serve as a textbook of life for people. If opportunity doesn’t knock, build a door. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Difficult circumstances serve as a textbook of life for people. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The first step is as good as half over. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A comfort zone is a beautiful place, but nothing ever grows there. The past has no power over the present moment. You cannot save people, you can just love them. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man’s best friends are his ten fingers. The reason why a great man is great is that he resolves to be a great man. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I will greet this day with love in my heart. If it scares you, it might be a good thing to try. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Champions keep playing until they get it right. Success consists of going from failure to failure without loss of enthusiasm. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Synchronize to Database function will give you a full picture of all database differences. Champions keep playing until they get it right. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You must be the change you wish to see in the world. The reason why a great man is great is that he resolves to be a great man. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. If you wait, all that happens is you get older. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat 15 has added support for the system-wide dark mode. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It wasn’t raining when Noah built the ark. What you get by achieving your goals is not as important as what you become by achieving your goals. The past has no power over the present moment. Creativity is intelligence having fun. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It wasn’t raining when Noah built the ark. You will succeed because most people are lazy. The Synchronize to Database function will give you a full picture of all database differences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Difficult circumstances serve as a textbook of life for people. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Synchronize to Database function will give you a full picture of all database differences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. What you get by achieving your goals is not as important as what you become by achieving your goals. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('156', '/home/Administrator/Pictures/img_007458.jpg', 'FoAva', NULL, NULL, '8jm9BUiSO5', '10 1-1715 Sekohigashi, Moriyama Ward', NULL, '2023-03-07 23:39:07', '2014-10-19 14:54:36', 740.7169, 'If the plan doesn’t work, change the plan, but never the goal. Success consists of going from failure to failure without loss of enthusiasm. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I will greet this day with love in my heart. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. A man’s best friends are his ten fingers. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Success consists of going from failure to failure without loss of enthusiasm. Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Typically, it is employed as an encrypted version of Telnet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. I destroy my enemies when I make them my friends. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A man’s best friends are his ten fingers. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A query is used to extract data from the database in a readable format according to the user\'s request. Optimism is the one quality more associated with success and happiness than any other. You cannot save people, you can just love them. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I will greet this day with love in my heart. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Synchronize to Database function will give you a full picture of all database differences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If it scares you, it might be a good thing to try. Success consists of going from failure to failure without loss of enthusiasm. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Typically, it is employed as an encrypted version of Telnet. I will greet this day with love in my heart. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You must be the change you wish to see in the world. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Sometimes you win, sometimes you learn. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I destroy my enemies when I make them my friends. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.', 'With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', NULL, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Difficult circumstances serve as a textbook of life for people. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All journeys have secret destinations of which the traveler is unaware. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The past has no power over the present moment. Remember that failure is an event, not a person. Remember that failure is an event, not a person. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor requires a repository to store alerts and metrics for historical analysis.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('157', '/Users/Administrator/Pictures/img_705133.jpg', 'GZEQY', NULL, NULL, 'YuaUcpfrix', '905 49/50 Strand, Charing Cross', NULL, '2020-07-28 21:23:09', '2020-06-29 11:37:39', 380.3032, 'The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Synchronize to Database function will give you a full picture of all database differences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', 'Optimism is the one quality more associated with success and happiness than any other. Anyone who has ever made anything of importance was disciplined. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The first step is as good as half over. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Flexible settings enable you to set up a custom key for comparison and synchronization. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Anyone who has ever made anything of importance was disciplined. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You cannot save people, you can just love them. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. How we spend our days is, of course, how we spend our lives. There is no way to happiness. Happiness is the way. If the plan doesn’t work, change the plan, but never the goal. There is no way to happiness. Happiness is the way. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Genius is an infinite capacity for taking pains. If opportunity doesn’t knock, build a door. You must be the change you wish to see in the world. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If opportunity doesn’t knock, build a door. You must be the change you wish to see in the world. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab.', NULL, 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I destroy my enemies when I make them my friends. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A query is used to extract data from the database in a readable format according to the user\'s request. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A man is not old until regrets take the place of dreams. If the plan doesn’t work, change the plan, but never the goal. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You cannot save people, you can just love them. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat 15 has added support for the system-wide dark mode. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The On Startup feature allows you to control what tabs appear when you launch Navicat. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I destroy my enemies when I make them my friends. I destroy my enemies when I make them my friends. You must be the change you wish to see in the world. The Synchronize to Database function will give you a full picture of all database differences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All journeys have secret destinations of which the traveler is unaware. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has ever made anything of importance was disciplined. A man’s best friends are his ten fingers. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Synchronize to Database function will give you a full picture of all database differences. A man’s best friends are his ten fingers. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Genius is an infinite capacity for taking pains. It wasn’t raining when Noah built the ark. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has never made a mistake has never tried anything new. A query is used to extract data from the database in a readable format according to the user\'s request. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Flexible settings enable you to set up a custom key for comparison and synchronization. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All journeys have secret destinations of which the traveler is unaware. Genius is an infinite capacity for taking pains. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('158', '/home/Administrator/Pictures/img_726177.png', 'E7UQV', NULL, NULL, 'aZXn3WFgCs', '890 Cannon Street', NULL, '2022-08-16 02:29:32', '2002-01-17 12:47:31', 723.4581, 'The reason why a great man is great is that he resolves to be a great man. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If the plan doesn’t work, change the plan, but never the goal. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man is not old until regrets take the place of dreams.', 'HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. All journeys have secret destinations of which the traveler is unaware. Genius is an infinite capacity for taking pains. Navicat 15 has added support for the system-wide dark mode. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Success consists of going from failure to failure without loss of enthusiasm. I destroy my enemies when I make them my friends. Optimism is the one quality more associated with success and happiness than any other. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Success consists of going from failure to failure without loss of enthusiasm. I will greet this day with love in my heart. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Success consists of going from failure to failure without loss of enthusiasm. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The reason why a great man is great is that he resolves to be a great man. If it scares you, it might be a good thing to try. A comfort zone is a beautiful place, but nothing ever grows there. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You cannot save people, you can just love them. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Sometimes you win, sometimes you learn. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The On Startup feature allows you to control what tabs appear when you launch Navicat. You must be the change you wish to see in the world. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Flexible settings enable you to set up a custom key for comparison and synchronization. I destroy my enemies when I make them my friends. Optimism is the one quality more associated with success and happiness than any other. Genius is an infinite capacity for taking pains. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.', NULL, 'Champions keep playing until they get it right. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the plan doesn’t work, change the plan, but never the goal. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The past has no power over the present moment. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. What you get by achieving your goals is not as important as what you become by achieving your goals. In the middle of winter I at last discovered that there was in me an invincible summer. Genius is an infinite capacity for taking pains. A query is used to extract data from the database in a readable format according to the user\'s request. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Flexible settings enable you to set up a custom key for comparison and synchronization. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has ever made anything of importance was disciplined. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. There is no way to happiness. Happiness is the way. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. Anyone who has never made a mistake has never tried anything new. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('159', '/Users/Administrator/Pictures/img_604906.jpg', '30w6t', NULL, NULL, 'pcvSYsYR0E', '775 Osney Mead', NULL, '2024-06-18 06:00:53', '2010-06-15 12:29:45', 369.2075, 'The first step is as good as half over. It wasn’t raining when Noah built the ark. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If you wait, all that happens is you get older. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A comfort zone is a beautiful place, but nothing ever grows there. A man’s best friends are his ten fingers. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If opportunity doesn’t knock, build a door. In the middle of winter I at last discovered that there was in me an invincible summer. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You must be the change you wish to see in the world. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences.', 'What you get by achieving your goals is not as important as what you become by achieving your goals. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Actually it is just in an idea when feel oneself can achieve and cannot achieve. What you get by achieving your goals is not as important as what you become by achieving your goals. If you wait, all that happens is you get older. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Typically, it is employed as an encrypted version of Telnet. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. There is no way to happiness. Happiness is the way. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. How we spend our days is, of course, how we spend our lives. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If the plan doesn’t work, change the plan, but never the goal. To connect to a database or schema, simply double-click it in the pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If you wait, all that happens is you get older. If it scares you, it might be a good thing to try. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Champions keep playing until they get it right. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Creativity is intelligence having fun. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Sometimes you win, sometimes you learn. I may not have gone where I intended to go, but I think I have ended up where I needed to be. How we spend our days is, of course, how we spend our lives. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You must be the change you wish to see in the world. It wasn’t raining when Noah built the ark. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. There is no way to happiness. Happiness is the way. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has never made a mistake has never tried anything new. A man’s best friends are his ten fingers. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A comfort zone is a beautiful place, but nothing ever grows there. In the middle of winter I at last discovered that there was in me an invincible summer. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I destroy my enemies when I make them my friends. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I destroy my enemies when I make them my friends. Anyone who has never made a mistake has never tried anything new. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has ever made anything of importance was disciplined. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat 15 has added support for the system-wide dark mode. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A query is used to extract data from the database in a readable format according to the user\'s request. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has ever made anything of importance was disciplined. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It wasn’t raining when Noah built the ark. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. How we spend our days is, of course, how we spend our lives. How we spend our days is, of course, how we spend our lives. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.', NULL, 'I will greet this day with love in my heart. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Anyone who has ever made anything of importance was disciplined. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Anyone who has never made a mistake has never tried anything new. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Remember that failure is an event, not a person. If it scares you, it might be a good thing to try. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The reason why a great man is great is that he resolves to be a great man. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The reason why a great man is great is that he resolves to be a great man. If it scares you, it might be a good thing to try. A man is not old until regrets take the place of dreams. The reason why a great man is great is that he resolves to be a great man. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man is not old until regrets take the place of dreams.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('16', '/Users/Administrator/Pictures/img_345248.png', 'VPUzv', NULL, NULL, '378jeYQ1ji', '540 Middle Huaihai Road, Huangpu District', NULL, '2020-01-27 01:01:35', '2004-09-18 11:52:36', 22.8611, 'After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You cannot save people, you can just love them. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has never made a mistake has never tried anything new. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Champions keep playing until they get it right. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Success consists of going from failure to failure without loss of enthusiasm. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Difficult circumstances serve as a textbook of life for people. If the plan doesn’t work, change the plan, but never the goal. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Anyone who has never made a mistake has never tried anything new. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Synchronize to Database function will give you a full picture of all database differences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If it scares you, it might be a good thing to try. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Typically, it is employed as an encrypted version of Telnet. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Champions keep playing until they get it right. Sometimes you win, sometimes you learn. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. All journeys have secret destinations of which the traveler is unaware. Sometimes you win, sometimes you learn. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Synchronize to Database function will give you a full picture of all database differences. To connect to a database or schema, simply double-click it in the pane. Optimism is the one quality more associated with success and happiness than any other. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A comfort zone is a beautiful place, but nothing ever grows there. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. What you get by achieving your goals is not as important as what you become by achieving your goals. The Synchronize to Database function will give you a full picture of all database differences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Difficult circumstances serve as a textbook of life for people. I may not have gone where I intended to go, but I think I have ended up where I needed to be. There is no way to happiness. Happiness is the way. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. What you get by achieving your goals is not as important as what you become by achieving your goals. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man is not old until regrets take the place of dreams. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The reason why a great man is great is that he resolves to be a great man. In the middle of winter I at last discovered that there was in me an invincible summer. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Typically, it is employed as an encrypted version of Telnet. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It wasn’t raining when Noah built the ark. Anyone who has ever made anything of importance was disciplined. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Sometimes you win, sometimes you learn. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for ', 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. The first step is as good as half over. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To connect to a database or schema, simply double-click it in the pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Creativity is intelligence having fun. The past has no power over the present moment. I destroy my enemies when I make them my friends. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. A comfort zone is a beautiful place, but nothing ever grows there. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Genius is an infinite capacity for taking pains. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Typically, it is employed as an encrypted version of Telnet. If the plan doesn’t work, change the plan, but never the goal. Difficult circumstances serve as a textbook of life for people. All journeys have secret destinations of which the traveler is unaware. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A query is used to extract data from the database in a readable format according to the user\'s request. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.', NULL, 'After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. The past has no power over the present moment. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Difficult circumstances serve as a textbook of life for people. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man’s best friends are his ten fingers. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Remember that failure is an event, not a person. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the plan doesn’t work, change the plan, but never the goal. In the middle of winter I at last discovered that there was in me an invincible summer. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You cannot save people, you can just love them. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If opportunity doesn’t knock, build a door. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If you wait, all that happens is you get older. You must be the change you wish to see in the world. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I will greet this day with love in my heart. Success consists of going from failure to failure without loss of enthusiasm. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the middle of winter I at last discovered that there was in me an invincible summer. If you wait, all that happens is you get older. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A comfort zone is a beautiful place, but nothing ever grows there. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('160', '/Users/Administrator/Pictures/img_576821.png', 'I1ssb', NULL, NULL, '9ymR0Xsf7d', '394 NO.6, YuShuang Road, ChengHua Distric', NULL, '2020-08-02 11:25:16', '2018-02-10 17:24:39', 878.0033, 'Remember that failure is an event, not a person. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Creativity is intelligence having fun. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. If the plan doesn’t work, change the plan, but never the goal. Success consists of going from failure to failure without loss of enthusiasm. If it scares you, it might be a good thing to try. You must be the change you wish to see in the world. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I destroy my enemies when I make them my friends. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To connect to a database or schema, simply double-click it in the pane. I will greet this day with love in my heart. Sometimes you win, sometimes you learn. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A man is not old until regrets take the place of dreams. If the plan doesn’t work, change the plan, but never the goal. Genius is an infinite capacity for taking pains. Anyone who has ever made anything of importance was disciplined. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You cannot save people, you can just love them. The On Startup feature allows you to control what tabs appear when you launch Navicat. Optimism is the one quality more associated with success and happiness than any other. If opportunity doesn’t knock, build a door. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. There is no way to happiness. Happiness is the way. You must be the change you wish to see in the world. It wasn’t raining when Noah built the ark. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. A comfort zone is a beautiful place, but nothing ever grows there. The reason why a great man is great is that he resolves to be a great man. The reason why a great man is great is that he resolves to be a great man. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Success consists of going from failure to failure without loss of enthusiasm. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I will greet this day with love in my heart. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.', 'To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man’s best friends are his ten fingers. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Difficult circumstances serve as a textbook of life for people. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I destroy my enemies when I make them my friends. There is no way to happiness. Happiness is the way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Typically, it is employed as an encrypted version of Telnet. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Flexible settings enable you to set up a custom key for comparison and synchronization. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Sometimes you win, sometimes you learn. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A comfort zone is a beautiful place, but nothing ever grows there. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I will greet this day with love in my heart. In the middle of winter I at last discovered that there was in me an invincible summer. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Sometimes you win, sometimes you learn. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Flexible settings enable you to set up a custom key for comparison and synchronization. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Champions keep playing until they get it right. All journeys have secret destinations of which the traveler is unaware. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has never made a mistake has never tried anything new. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A man’s best friends are his ten fingers. There is no way to happiness. Happiness is the way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has never made a mistake has never tried anything new. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. How we spend our days is, of course, how we spend our lives. A man is not old until regrets take the place of dreams. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Champions keep playing until they get it right. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Anyone who has never made a mistake has never tried anything new. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A query is used to extract data from the database in a readable format according to the user\'s request. If the plan doesn’t work, change the plan, but never the goal. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', NULL, 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Champions keep playing until they get it right. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I destroy my enemies when I make them my friends. I may not have gone where I intended to go, but I think I have ended up where I needed to be. All journeys have secret destinations of which the traveler is unaware. The Synchronize to Database function will give you a full picture of all database differences. Remember that failure is an event, not a person. I destroy my enemies when I make them my friends. Typically, it is employed as an encrypted version of Telnet. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. I destroy my enemies when I make them my friends. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat 15 has added support for the system-wide dark mode. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To connect to a database or schema, simply double-click it in the pane. The Synchronize to Database function will give you a full picture of all database differences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the plan doesn’t work, change the plan, but never the goal. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has never made a mistake has never tried anything new. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. All journeys have secret destinations of which the traveler is unaware. The first step is as good as half over. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Success consists of going from failure to failure without loss of enthusiasm. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The reason why a great man is great is that he resolves to be a great man. If opportunity doesn’t knock, build a door. If you wait, all that happens is you get older. The reason why a great man is great is that he resolves to be a great man. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You must be the change you wish to see in the world. The Synchronize to Database function will give you a full picture of all database differences. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In the middle of winter I at last discovered that there was in me an invincible summer. A man’s best friends are his ten fingers. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I will greet this day with love in my heart. Difficult circumstances serve as a textbook of life for people. If the plan doesn’t work, change the plan, but never the goal. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. All journeys have secret destinations of which the traveler is unaware. You will succeed because most people are lazy. Champions keep playing until they get it right. A man is not old until regrets take the place of dreams. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Synchronize to Database function will give you a full picture of all database differences. How we spend our days is, of course, how we spend our lives. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To connect to a database or schema, simply double-click it in the pane. Optimism is the one quality more associated with success and happiness than any other. The past has no power over the present moment. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You must be the change you wish to see in the world. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('161', 'C:\\Users\\Administrator\\Pictures\\img_346828.jpg', 'QCkaJ', NULL, NULL, 'gUyCfjFKuG', '508 Elms Rd, Botley', NULL, '2024-08-01 05:17:03', '2007-06-20 13:03:04', 372.6670, 'I destroy my enemies when I make them my friends. The On Startup feature allows you to control what tabs appear when you launch Navicat. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A man is not old until regrets take the place of dreams. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You must be the change you wish to see in the world. The past has no power over the present moment. If you wait, all that happens is you get older. If opportunity doesn’t knock, build a door. To connect to a database or schema, simply double-click it in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has ever made anything of importance was disciplined. The reason why a great man is great is that he resolves to be a great man. Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. There is no way to happiness. Happiness is the way. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man’s best friends are his ten fingers. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You must be the change you wish to see in the world. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The first step is as good as half over. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. The Synchronize to Database function will give you a full picture of all database differences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The On Startup feature allows you to control what tabs appear when you launch Navicat. How we spend our days is, of course, how we spend our lives. You will succeed because most people are lazy. Typically, it is employed as an encrypted version of Telnet. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If the plan doesn’t work, change the plan, but never the goal. To connect to a database or schema, simply double-click it in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I destroy my enemies when I make them my friends. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The first step is as good as half over. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security.', NULL, 'Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It wasn’t raining when Noah built the ark. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The past has no power over the present moment. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Genius is an infinite capacity for taking pains. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. There is no way to happiness. Happiness is the way. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. Difficult circumstances serve as a textbook of life for people. The past has no power over the present moment. Creativity is intelligence having fun. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Creativity is intelligence having fun. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Difficult circumstances serve as a textbook of life for people. What you get by achieving your goals is not as important as what you become by achieving your goals. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It wasn’t raining when Noah built the ark. I destroy my enemies when I make them my friends. If opportunity doesn’t knock, build a door. Creativity is intelligence having fun. The first step is as good as half over. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To connect to a database or schema, simply double-click it in the pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man’s best friends are his ten fingers. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('162', '/home/Administrator/Pictures/img_944897.png', '8HVHA', NULL, NULL, 'IpXUtFZS8a', '307 Abingdon Rd, Cumnor', NULL, '2020-08-27 18:18:47', '2003-05-20 08:15:14', 678.8749, 'The Synchronize to Database function will give you a full picture of all database differences. If the plan doesn’t work, change the plan, but never the goal. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the middle of winter I at last discovered that there was in me an invincible summer. Flexible settings enable you to set up a custom key for comparison and synchronization. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All journeys have secret destinations of which the traveler is unaware. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Success consists of going from failure to failure without loss of enthusiasm. Champions keep playing until they get it right. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Remember that failure is an event, not a person. The first step is as good as half over. You cannot save people, you can just love them. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat 15 has added support for the system-wide dark mode. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I will greet this day with love in my heart. If the plan doesn’t work, change the plan, but never the goal. Sometimes you win, sometimes you learn. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Creativity is intelligence having fun. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A comfort zone is a beautiful place, but nothing ever grows there. You must be the change you wish to see in the world. How we spend our days is, of course, how we spend our lives. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. There is no way to happiness. Happiness is the way. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has never made a mistake has never tried anything new. What you get by achieving your goals is not as important as what you become by achieving your goals. You will succeed because most people are lazy. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Creativity is intelligence having fun. Anyone who has ever made anything of importance was disciplined. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I will greet this day with love in my heart. Sometimes you win, sometimes you learn. To connect to a database or schema, simply double-click it in the pane. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Optimism is the one quality more associated with success and happiness than any other. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man is not old until regrets take the place of dreams. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Success consists of going from failure to failure without loss of enthusiasm. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Champions keep playing until they get it right. You must be the change you wish to see in the world. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Anyone who has ever made anything of importance was disciplined. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has ever made anything of importance was disciplined. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The past has no power over the present moment.', 'Anyone who has never made a mistake has never tried anything new. There is no way to happiness. Happiness is the way. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Anyone who has never made a mistake has never tried anything new. Anyone who has never made a mistake has never tried anything new. You will succeed because most people are lazy. What you get by achieving your goals is not as important as what you become by achieving your goals. Champions keep playing until they get it right. If you wait, all that happens is you get older. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Difficult circumstances serve as a textbook of life for people. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A query is used to extract data from the database in a readable format according to the user\'s request. Difficult circumstances serve as a textbook of life for people. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To connect to a database or schema, simply double-click it in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If opportunity doesn’t knock, build a door. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A comfort zone is a beautiful place, but nothing ever grows there. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Success consists of going from failure to failure without loss of enthusiasm. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. How we spend our days is, of course, how we spend our lives. There is no way to happiness. Happiness is the way. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If opportunity doesn’t knock, build a door. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To connect to a database or schema, simply double-click it in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I will greet this day with love in my heart. If it scares you, it might be a good thing to try. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Flexible settings enable you to set up a custom key for comparison and synchronization. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Flexible settings enable you to set up a custom key for comparison and synchronization. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. I destroy my enemies when I make them my friends. Anyone who has never made a mistake has never tried anything new. Remember that failure is an event, not a person. The On Startup feature allows you to control what tabs appear when you launch Navicat. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All journeys have secret destinations of which the traveler is unaware. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The past has no power over the present moment. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I will greet this day with love in my heart. If the plan doesn’t work, change the plan, but never the goal. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Optimism is the one quality more associated with success and happiness than any other.', NULL, 'It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Flexible settings enable you to set up a custom key for comparison and synchronization. The Synchronize to Database function will give you a full picture of all database differences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I destroy my enemies when I make them my friends. A comfort zone is a beautiful place, but nothing ever grows there. The Synchronize to Database function will give you a full picture of all database differences. I destroy my enemies when I make them my friends. Creativity is intelligence having fun. I destroy my enemies when I make them my friends. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Remember that failure is an event, not a person. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Sometimes you win, sometimes you learn. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The On Startup feature allows you to control what tabs appear when you launch Navicat. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If opportunity doesn’t knock, build a door. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. Remember that failure is an event, not a person. You must be the change you wish to see in the world. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('163', '/home/Administrator/Pictures/img_244810.jpg', 'Ou13G', NULL, NULL, 'aRRjB4fyUP', '3-27-10 Higashitanabe, Higashisumiyoshi Ward', NULL, '2024-11-02 10:59:18', '2007-07-08 05:14:22', 40.2055, 'I will greet this day with love in my heart. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All journeys have secret destinations of which the traveler is unaware. A man is not old until regrets take the place of dreams. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. The first step is as good as half over. Champions keep playing until they get it right. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Sometimes you win, sometimes you learn. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Champions keep playing until they get it right. The first step is as good as half over. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Flexible settings enable you to set up a custom key for comparison and synchronization. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Flexible settings enable you to set up a custom key for comparison and synchronization. It wasn’t raining when Noah built the ark. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Remember that failure is an event, not a person. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If you wait, all that happens is you get older. Genius is an infinite capacity for taking pains. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A man’s best friends are his ten fingers. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Synchronize to Database function will give you a full picture of all database differences. Anyone who has ever made anything of importance was disciplined. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. There is no way to happiness. Happiness is the way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The first step is as good as half over. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If it scares you, it might be a good thing to try. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To connect to a database or schema, simply double-click it in the pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The On Startup feature allows you to control what tabs appear when you launch Navicat. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. How we spend our days is, of course, how we spend our lives. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Anyone who has ever made anything of importance was disciplined. It wasn’t raining when Noah built the ark. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In the middle of winter I at last discovered that there was in me an invincible summer. The first step is as good as half over. You must be the change you wish to see in the world. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. How we spend our days is, of course, how we spend our lives. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man is not old until regrets take the place of dreams. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('164', '/home/Administrator/Pictures/img_944767.jpg', 'zHdYx', NULL, NULL, 'h6yyESbRcr', '7 1-1 Honjocho, Yamatokoriyama', NULL, '2024-09-25 11:57:22', '2006-05-07 02:45:11', 335.9595, 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A man’s best friends are his ten fingers. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. The first step is as good as half over. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Genius is an infinite capacity for taking pains. It wasn’t raining when Noah built the ark. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. How we spend our days is, of course, how we spend our lives. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Creativity is intelligence having fun. It wasn’t raining when Noah built the ark. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Sometimes you win, sometimes you learn. In the middle of winter I at last discovered that there was in me an invincible summer. You must be the change you wish to see in the world. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Creativity is intelligence having fun. A man’s best friends are his ten fingers. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All journeys have secret destinations of which the traveler is unaware. In the middle of winter I at last discovered that there was in me an invincible summer. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I destroy my enemies when I make them my friends. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', 'Anyone who has ever made anything of importance was disciplined. Champions keep playing until they get it right. Optimism is the one quality more associated with success and happiness than any other. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has ever made anything of importance was disciplined. Sometimes you win, sometimes you learn. Anyone who has ever made anything of importance was disciplined. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Anyone who has ever made anything of importance was disciplined. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. There is no way to happiness. Happiness is the way. If the plan doesn’t work, change the plan, but never the goal. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Success consists of going from failure to failure without loss of enthusiasm. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Difficult circumstances serve as a textbook of life for people. In the middle of winter I at last discovered that there was in me an invincible summer. You cannot save people, you can just love them. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Genius is an infinite capacity for taking pains. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I destroy my enemies when I make them my friends. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Flexible settings enable you to set up a custom key for comparison and synchronization. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The past has no power over the present moment. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You cannot save people, you can just love them. Navicat 15 has added support for the system-wide dark mode. Remember that failure is an event, not a person. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You cannot save people, you can just love them. Remember that failure is an event, not a person. There is no way to happiness. Happiness is the way. Sometimes you win, sometimes you learn. Creativity is intelligence having fun. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You will succeed because most people are lazy. It wasn’t raining when Noah built the ark. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Optimism is the one quality more associated with success and happiness than any other. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over ', NULL, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. There is no way to happiness. Happiness is the way. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If opportunity doesn’t knock, build a door. The Synchronize to Database function will give you a full picture of all database differences. How we spend our days is, of course, how we spend our lives. A query is used to extract data from the database in a readable format according to the user\'s request. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the plan doesn’t work, change the plan, but never the goal. Difficult circumstances serve as a textbook of life for people. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Difficult circumstances serve as a textbook of life for people. I will greet this day with love in my heart. If it scares you, it might be a good thing to try. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If opportunity doesn’t knock, build a door. In the middle of winter I at last discovered that there was in me an invincible summer. A comfort zone is a beautiful place, but nothing ever grows there. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Sometimes you win, sometimes you learn. A comfort zone is a beautiful place, but nothing ever grows there. Anyone who has never made a mistake has never tried anything new. Navicat 15 has added support for the system-wide dark mode. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Typically, it is employed as an encrypted version of Telnet. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You will succeed because most people are lazy. In the middle of winter I at last discovered that there was in me an invincible summer. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the plan doesn’t work, change the plan, but never the goal. Navicat 15 has added support for the system-wide dark mode. To connect to a database or schema, simply double-click it in the pane. You cannot save people, you can just love them. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. To connect to a database or schema, simply double-click it in the pane. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Anyone who has ever made anything of importance was disciplined. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To connect to a database or schema, simply double-click it in the pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('165', 'C:\\Users\\Administrator\\Pictures\\img_385427.jpg', '4k9DT', NULL, NULL, '3IA7LaQiUm', '725 State Street', NULL, '2021-10-28 05:41:02', '2006-01-08 19:37:37', 575.1864, 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has ever made anything of importance was disciplined. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Synchronize to Database function will give you a full picture of all database differences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat 15 has added support for the system-wide dark mode. The first step is as good as half over. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If the plan doesn’t work, change the plan, but never the goal. If opportunity doesn’t knock, build a door. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A comfort zone is a beautiful place, but nothing ever grows there. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.', 'Typically, it is employed as an encrypted version of Telnet. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Flexible settings enable you to set up a custom key for comparison and synchronization. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The On Startup feature allows you to control what tabs appear when you launch Navicat. If opportunity doesn’t knock, build a door. Remember that failure is an event, not a person. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat 15 has added support for the system-wide dark mode. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You must be the change you wish to see in the world. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Creativity is intelligence having fun. The past has no power over the present moment. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The On Startup feature allows you to control what tabs appear when you launch Navicat. Remember that failure is an event, not a person. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The first step is as good as half over. The first step is as good as half over. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The past has no power over the present moment. Optimism is the one quality more associated with success and happiness than any other. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Genius is an infinite capacity for taking pains. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A man’s best friends are his ten fingers. Navicat 15 has added support for the system-wide dark mode. If the plan doesn’t work, change the plan, but never the goal. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has never made a mistake has never tried anything new. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Optimism is the one quality more associated with success and happiness than any other. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man is not old until regrets take the place of dreams. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', NULL, 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. Typically, it is employed as an encrypted version of Telnet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. All journeys have secret destinations of which the traveler is unaware. Anyone who has ever made anything of importance was disciplined. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The past has no power over the present moment. Anyone who has ever made anything of importance was disciplined. Sometimes you win, sometimes you learn. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I will greet this day with love in my heart. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. What you get by achieving your goals is not as important as what you become by achieving your goals. All journeys have secret destinations of which the traveler is unaware. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If opportunity doesn’t knock, build a door. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Champions keep playing until they get it right. You must be the change you wish to see in the world. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If it scares you, it might be a good thing to try. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Optimism is the one quality more associated with success and happiness than any other. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat 15 has added support for the system-wide dark mode. Anyone who has ever made anything of importance was disciplined. It wasn’t raining when Noah built the ark. If opportunity doesn’t knock, build a door. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Flexible settings enable you to set up a custom key for comparison and synchronization. Typically, it is employed as an encrypted version of Telnet. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A comfort zone is a beautiful place, but nothing ever grows there. You cannot save people, you can just love them. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A man’s best friends are his ten fingers. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If opportunity doesn’t knock, build a door. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If the plan doesn’t work, change the plan, but never the goal. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Genius is an infinite capacity for taking pains. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To connect to a database or schema, simply double-click it in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('166', '/home/Administrator/Pictures/img_736944.png', 'EOIyj', NULL, NULL, 'eVQXMBli7w', '220 East Wangfujing Street, Dongcheng District ', NULL, '2020-04-16 13:29:31', '2005-06-17 21:29:50', 626.7574, 'Anyone who has ever made anything of importance was disciplined. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You cannot save people, you can just love them. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the plan doesn’t work, change the plan, but never the goal. You will succeed because most people are lazy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Sometimes you win, sometimes you learn. The first step is as good as half over. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The first step is as good as half over. Remember that failure is an event, not a person. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A comfort zone is a beautiful place, but nothing ever grows there. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. Difficult circumstances serve as a textbook of life for people. There is no way to happiness. Happiness is the way. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A man’s best friends are his ten fingers. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If you wait, all that happens is you get older. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If you wait, all that happens is you get older. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The first step is as good as half over. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You must be the change you wish to see in the world. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the middle of winter I at last discovered that there was in me an invincible summer. All journeys have secret destinations of which the traveler is unaware. Remember that failure is an event, not a person. The Synchronize to Database function will give you a full picture of all database differences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Anyone who has ever made anything of importance was disciplined.', 'The first step is as good as half over. How we spend our days is, of course, how we spend our lives. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To connect to a database or schema, simply double-click it in the pane. A comfort zone is a beautiful place, but nothing ever grows there. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The first step is as good as half over. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Flexible settings enable you to set up a custom key for comparison and synchronization. If you wait, all that happens is you get older. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. Navicat 15 has added support for the system-wide dark mode. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', NULL, 'To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A query is used to extract data from the database in a readable format according to the user\'s request. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If it scares you, it might be a good thing to try. You will succeed because most people are lazy. Success consists of going from failure to failure without loss of enthusiasm. You cannot save people, you can just love them. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. All journeys have secret destinations of which the traveler is unaware. In the middle of winter I at last discovered that there was in me an invincible summer. The first step is as good as half over. Anyone who has never made a mistake has never tried anything new. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. All journeys have secret destinations of which the traveler is unaware. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man is not old until regrets take the place of dreams. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('167', 'C:\\Users\\Administrator\\Pictures\\img_789423.jpg', 'BGcYs', NULL, NULL, 'frkYERDeNx', '791 Aigburth Rd, Aigburth', NULL, '2024-03-21 00:38:06', '2003-07-16 08:52:51', 308.6635, 'The first step is as good as half over. If the plan doesn’t work, change the plan, but never the goal. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.', 'What you get by achieving your goals is not as important as what you become by achieving your goals. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab.', NULL, 'Optimism is the one quality more associated with success and happiness than any other. Difficult circumstances serve as a textbook of life for people. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If it scares you, it might be a good thing to try. Remember that failure is an event, not a person. The reason why a great man is great is that he resolves to be a great man. It wasn’t raining when Noah built the ark. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It wasn’t raining when Noah built the ark. Optimism is the one quality more associated with success and happiness than any other. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Success consists of going from failure to failure without loss of enthusiasm. Difficult circumstances serve as a textbook of life for people. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You will succeed because most people are lazy. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. There is no way to happiness. Happiness is the way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The first step is as good as half over. Flexible settings enable you to set up a custom key for comparison and synchronization. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Anyone who has never made a mistake has never tried anything new. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('168', '/home/Administrator/Pictures/img_248092.jpg', 'ZsixR', NULL, NULL, 'sEnGEnElDO', '3-15-11 Ginza, Chuo-ku', NULL, '2024-08-12 10:05:09', '2020-03-28 00:45:40', 512.3843, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the plan doesn’t work, change the plan, but never the goal. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', 'The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A query is used to extract data from the database in a readable format according to the user\'s request. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You must be the change you wish to see in the world. Creativity is intelligence having fun. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The past has no power over the present moment.', NULL, 'If the plan doesn’t work, change the plan, but never the goal. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. How we spend our days is, of course, how we spend our lives. Genius is an infinite capacity for taking pains. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Genius is an infinite capacity for taking pains. Remember that failure is an event, not a person. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You cannot save people, you can just love them. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If it scares you, it might be a good thing to try. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Success consists of going from failure to failure without loss of enthusiasm. Creativity is intelligence having fun. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You must be the change you wish to see in the world. To connect to a database or schema, simply double-click it in the pane. A man is not old until regrets take the place of dreams. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. There is no way to happiness. Happiness is the way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Flexible settings enable you to set up a custom key for comparison and synchronization. I destroy my enemies when I make them my friends. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The first step is as good as half over. A comfort zone is a beautiful place, but nothing ever grows there. Champions keep playing until they get it right. All journeys have secret destinations of which the traveler is unaware. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Anyone who has ever made anything of importance was disciplined. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If it scares you, it might be a good thing to try. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('169', 'C:\\Users\\Administrator\\Pictures\\img_506283.png', 'hw1lq', NULL, NULL, 'v4riIJoAAW', '670 68 Qinghe Middle St, Haidian District', NULL, '2020-08-20 05:59:32', '2014-02-02 18:29:21', 751.3991, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You will succeed because most people are lazy. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All journeys have secret destinations of which the traveler is unaware. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You cannot save people, you can just love them. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. Optimism is the one quality more associated with success and happiness than any other. In the middle of winter I at last discovered that there was in me an invincible summer. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You must be the change you wish to see in the world. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If opportunity doesn’t knock, build a door. What you get by achieving your goals is not as important as what you become by achieving your goals. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The first step is as good as half over. Champions keep playing until they get it right. Flexible settings enable you to set up a custom key for comparison and synchronization. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has never made a mistake has never tried anything new. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Remember that failure is an event, not a person. I will greet this day with love in my heart. Genius is an infinite capacity for taking pains. The On Startup feature allows you to control what tabs appear when you launch Navicat. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Anyone who has ever made anything of importance was disciplined. Typically, it is employed as an encrypted version of Telnet.', 'If you wait, all that happens is you get older. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The past has no power over the present moment. Typically, it is employed as an encrypted version of Telnet. The On Startup feature allows you to control what tabs appear when you launch Navicat. Champions keep playing until they get it right. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Anyone who has ever made anything of importance was disciplined. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Champions keep playing until they get it right. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A query is used to extract data from the database in a readable format according to the user\'s request. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Creativity is intelligence having fun. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If it scares you, it might be a good thing to try. Champions keep playing until they get it right. Success consists of going from failure to failure without loss of enthusiasm. Difficult circumstances serve as a textbook of life for people. You cannot save people, you can just love them. If it scares you, it might be a good thing to try. Optimism is the one quality more associated with success and happiness than any other. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You must be the change you wish to see in the world. If opportunity doesn’t knock, build a door. How we spend our days is, of course, how we spend our lives. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Difficult circumstances serve as a textbook of life for people. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I will greet this day with love in my heart. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.', NULL, 'It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A comfort zone is a beautiful place, but nothing ever grows there. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. What you get by achieving your goals is not as important as what you become by achieving your goals. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In the middle of winter I at last discovered that there was in me an invincible summer. The reason why a great man is great is that he resolves to be a great man. Navicat 15 has added support for the system-wide dark mode. The reason why a great man is great is that he resolves to be a great man. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. I may not have gone where I intended to go, but I think I have ended up where I needed to be. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The reason why a great man is great is that he resolves to be a great man. You will succeed because most people are lazy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You will succeed because most people are lazy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All journeys have secret destinations of which the traveler is unaware. Champions keep playing until they get it right. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You cannot save people, you can just love them. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('17', '/Users/Administrator/Pictures/img_880901.jpg', 'XCvS8', NULL, NULL, 'l2KxUaNWHY', '1-1-6 Deshiro, Nishinari Ward', NULL, '2023-05-31 15:27:03', '2023-05-23 14:54:13', 972.0231, 'The reason why a great man is great is that he resolves to be a great man. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has never made a mistake has never tried anything new. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. How we spend our days is, of course, how we spend our lives. Navicat 15 has added support for the system-wide dark mode. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat 15 has added support for the system-wide dark mode. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The On Startup feature allows you to control what tabs appear when you launch Navicat. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To connect to a database or schema, simply double-click it in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A query is used to extract data from the database in a readable format according to the user\'s request. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A query is used to extract data from the database in a readable format according to the user\'s request. Success consists of going from failure to failure without loss of enthusiasm. A comfort zone is a beautiful place, but nothing ever grows there. If the plan doesn’t work, change the plan, but never the goal. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All journeys have secret destinations of which the traveler is unaware. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. There is no way to happiness. Happiness is the way. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You will succeed because most people are lazy. How we spend our days is, of course, how we spend our lives. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I will greet this day with love in my heart. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All journeys have secret destinations of which the traveler is unaware. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Creativity is intelligence having fun. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Remember that failure is an event, not a person. Flexible settings enable you to set up a custom key for comparison and synchronization. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat 15 has added support for the system-wide dark mode. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Success consists of going from failure to failure without loss of enthusiasm. Sometimes you win, sometimes you learn. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Genius is an infinite capacity for taking pains. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Typically, it is employed as an encrypted version of Telnet. You must be the change you wish to see in the world. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the middle of winter I at last discovered that there was in me an invincible summer. I will greet this day with love in my heart. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To connect to a database or schema, simply double-click it in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', 'Sometimes you win, sometimes you learn. You cannot save people, you can just love them. You will succeed because most people are lazy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A query is used to extract data from the database in a readable format according to the user\'s request. How we spend our days is, of course, how we spend our lives. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You cannot save people, you can just love them. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If it scares you, it might be a good thing to try. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Remember that failure is an event, not a person. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A comfort zone is a beautiful place, but nothing ever grows there. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. There is no way to happiness. Happiness is the way. If opportunity doesn’t knock, build a door. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. Typically, it is employed as an encrypted version of Telnet. Remember that failure is an event, not a person. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man is not old until regrets take the place of dreams. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Synchronize to Database function will give you a full picture of all database differences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You cannot save people, you can just love them. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. Anyone who has ever made anything of importance was disciplined. Typically, it is employed as an encrypted version of Telnet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A man is not old until regrets take the place of dreams. Anyone who has never made a mistake has never tried anything new. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The first step is as good as half over. A man’s best friends are his ten fingers. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. All journeys have secret destinations of which the traveler is unaware. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If you wait, all that happens is you get older. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If the plan doesn’t work, change the plan, but never the goal. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If it scares you, it might be a good thing to try. If you wait, all that happens is you get older. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The reason why a great man is great is that he resolves to be a great man. You must be the change you wish to see in the world. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If the plan doesn’t work, change the plan, but never the goal. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Success consists of going from failure to failure without loss of enthusiasm. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You will succeed because most people are lazy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man is not old until regrets take the place of dreams. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man’s best friends are his ten fingers. Creativity is intelligence having fun. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. A comfort zone is a beautiful place, but nothing ever grows there. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To connect to a database or schema, simply double-click it in the pane. The past has no power over the present moment. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other.', NULL, 'After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. There is no way to happiness. Happiness is the way. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I destroy my enemies when I make them my friends. The first step is as good as half over. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. What you get by achieving your goals is not as important as what you become by achieving your goals. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It wasn’t raining when Noah built the ark. The first step is as good as half over. It wasn’t raining when Noah built the ark. I destroy my enemies when I make them my friends. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You will succeed because most people are lazy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Anyone who has ever made anything of importance was disciplined. The Synchronize to Database function will give you a full picture of all database differences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You will succeed because most people are lazy. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Optimism is the one quality more associated with success and happiness than any other. A comfort zone is a beautiful place, but nothing ever grows there. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Success consists of going from failure to failure without loss of enthusiasm. Creativity is intelligence having fun. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The past has no power over the present moment. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To connect to a database or schema, simply double-click it in the pane. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('170', 'C:\\Users\\Administrator\\Pictures\\img_979445.jpg', 'vxrBs', NULL, NULL, 'CwpbRQRd7S', '1-1-17 Deshiro, Nishinari Ward', NULL, '2022-09-09 06:46:57', '2016-06-03 14:58:58', 329.5405, 'Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If you wait, all that happens is you get older. A man is not old until regrets take the place of dreams. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Flexible settings enable you to set up a custom key for comparison and synchronization. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man is not old until regrets take the place of dreams. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Anyone who has never made a mistake has never tried anything new. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', 'HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You will succeed because most people are lazy. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. A comfort zone is a beautiful place, but nothing ever grows there. Navicat 15 has added support for the system-wide dark mode. Anyone who has never made a mistake has never tried anything new. It wasn’t raining when Noah built the ark. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Actually it is just in an idea when feel oneself can achieve and cannot achieve. How we spend our days is, of course, how we spend our lives. Anyone who has ever made anything of importance was disciplined. Actually it is just in an idea when feel oneself can achieve and cannot achieve. How we spend our days is, of course, how we spend our lives. If the plan doesn’t work, change the plan, but never the goal. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Genius is an infinite capacity for taking pains. If you wait, all that happens is you get older. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window.', NULL, 'It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You will succeed because most people are lazy.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('171', '/home/Administrator/Pictures/img_306908.jpg', 'iOE0V', NULL, NULL, 'PYVetuOOHh', '8 North Michigan Ave', NULL, '2024-07-17 17:58:30', '2009-08-07 03:02:53', 697.6718, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has ever made anything of importance was disciplined. Remember that failure is an event, not a person. The On Startup feature allows you to control what tabs appear when you launch Navicat. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man’s best friends are his ten fingers. There is no way to happiness. Happiness is the way. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You must be the change you wish to see in the world. You cannot save people, you can just love them. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Synchronize to Database function will give you a full picture of all database differences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. There is no way to happiness. Happiness is the way. How we spend our days is, of course, how we spend our lives. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Synchronize to Database function will give you a full picture of all database differences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You must be the change you wish to see in the world. Remember that failure is an event, not a person. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try. It wasn’t raining when Noah built the ark. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Synchronize to Database function will give you a full picture of all database differences. What you get by achieving your goals is not as important as what you become by achieving your goals. Typically, it is employed as an encrypted version of Telnet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The On Startup feature allows you to control what tabs appear when you launch Navicat. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If it scares you, it might be a good thing to try. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Creativity is intelligence having fun. Typically, it is employed as an encrypted version of Telnet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Difficult circumstances serve as a textbook of life for people. A man’s best friends are his ten fingers. Remember that failure is an event, not a person. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If opportunity doesn’t knock, build a door. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Difficult circumstances serve as a textbook of life for people. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If the plan doesn’t work, change the plan, but never the goal. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A man’s best friends are his ten fingers. Remember that failure is an event, not a person. Navicat 15 has added support for the system-wide dark mode. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. What you get by achieving your goals is not as important as what you become by achieving your goals. Remember that failure is an event, not a person. The past has no power over the present moment. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Typically, it is employed as an encrypted version of Telnet. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.', 'Difficult circumstances serve as a textbook of life for people. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has never made a mistake has never tried anything new. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If it scares you, it might be a good thing to try. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In the middle of winter I at last discovered that there was in me an invincible summer. Difficult circumstances serve as a textbook of life for people. Champions keep playing until they get it right. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It wasn’t raining when Noah built the ark. Success consists of going from failure to failure without loss of enthusiasm. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You cannot save people, you can just love them. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has never made a mistake has never tried anything new. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Remember that failure is an event, not a person. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You will succeed because most people are lazy. The reason why a great man is great is that he resolves to be a great man. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Difficult circumstances serve as a textbook of life for people.', NULL, 'Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the middle of winter I at last discovered that there was in me an invincible summer. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A comfort zone is a beautiful place, but nothing ever grows there. There is no way to happiness. Happiness is the way. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Synchronize to Database function will give you a full picture of all database differences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The reason why a great man is great is that he resolves to be a great man. I may not have gone where I intended to go, but I think I have ended up where I needed to be. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Flexible settings enable you to set up a custom key for comparison and synchronization. If you wait, all that happens is you get older. Anyone who has never made a mistake has never tried anything new. How we spend our days is, of course, how we spend our lives. In the middle of winter I at last discovered that there was in me an invincible summer.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('172', '/home/Administrator/Pictures/img_737073.jpg', 'ZdhLx', NULL, NULL, 'H7fcOABPwA', '3-27-4 Higashitanabe, Higashisumiyoshi Ward', NULL, '2023-11-04 11:07:12', '2009-08-17 07:55:20', 369.8063, 'Remember that failure is an event, not a person. Navicat 15 has added support for the system-wide dark mode. To connect to a database or schema, simply double-click it in the pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has ever made anything of importance was disciplined. Difficult circumstances serve as a textbook of life for people. Flexible settings enable you to set up a custom key for comparison and synchronization. A man is not old until regrets take the place of dreams. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. All journeys have secret destinations of which the traveler is unaware. Flexible settings enable you to set up a custom key for comparison and synchronization. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To connect to a database or schema, simply double-click it in the pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You must be the change you wish to see in the world. Anyone who has never made a mistake has never tried anything new. Genius is an infinite capacity for taking pains. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man’s best friends are his ten fingers. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Difficult circumstances serve as a textbook of life for people. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I destroy my enemies when I make them my friends. You will succeed because most people are lazy. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Sometimes you win, sometimes you learn. A query is used to extract data from the database in a readable format according to the user\'s request. A comfort zone is a beautiful place, but nothing ever grows there. Remember that failure is an event, not a person. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', 'To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A comfort zone is a beautiful place, but nothing ever grows there. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A query is used to extract data from the database in a readable format according to the user\'s request. The first step is as good as half over. If you wait, all that happens is you get older. All journeys have secret destinations of which the traveler is unaware. You will succeed because most people are lazy. If it scares you, it might be a good thing to try. I destroy my enemies when I make them my friends. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Remember that failure is an event, not a person. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. There is no way to happiness. Happiness is the way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Creativity is intelligence having fun. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has ever made anything of importance was disciplined. A man’s best friends are his ten fingers. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I destroy my enemies when I make them my friends. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The On Startup feature allows you to control what tabs appear when you launch Navicat. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Genius is an infinite capacity for taking pains. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The first step is as good as half over. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the plan doesn’t work, change the plan, but never the goal. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Difficult circumstances serve as a textbook of life for people. The reason why a great man is great is that he resolves to be a great man. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You must be the change you wish to see in the world. If opportunity doesn’t knock, build a door. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Optimism is the one quality more associated with success and happiness than any other. Navicat 15 has added support for the system-wide dark mode. I will greet this day with love in my heart.', NULL, 'What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Sometimes you win, sometimes you learn. Champions keep playing until they get it right. It wasn’t raining when Noah built the ark. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You cannot save people, you can just love them. Remember that failure is an event, not a person. The reason why a great man is great is that he resolves to be a great man. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To connect to a database or schema, simply double-click it in the pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Synchronize to Database function will give you a full picture of all database differences. It wasn’t raining when Noah built the ark. Anyone who has never made a mistake has never tried anything new. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The reason why a great man is great is that he resolves to be a great man. I will greet this day with love in my heart. You must be the change you wish to see in the world. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. A man’s best friends are his ten fingers. What you get by achieving your goals is not as important as what you become by achieving your goals. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The first step is as good as half over. I destroy my enemies when I make them my friends. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If you wait, all that happens is you get older. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The past has no power over the present moment. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A comfort zone is a beautiful place, but nothing ever grows there. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To connect to a database or schema, simply double-click it in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The On Startup feature allows you to control what tabs appear when you launch Navicat. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You cannot save people, you can just love them. A man’s best friends are his ten fingers. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You must be the change you wish to see in the world. You cannot save people, you can just love them. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. What you get by achieving your goals is not as important as what you become by achieving your goals. How we spend our days is, of course, how we spend our lives. How we spend our days is, of course, how we spend our lives. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. Difficult circumstances serve as a textbook of life for people. A man is not old until regrets take the place of dreams. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Flexible settings enable you to set up a custom key for comparison and synchronization. Anyone who has never made a mistake has never tried anything new. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Genius is an infinite capacity for taking pains. Optimism is the one quality more associated with success and happiness than any other. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. There is no way to happiness. Happiness is the way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To connect to a database or schema, simply double-click it in the pane. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Sometimes you win, sometimes you learn. What you get by achieving your goals is not as important as what you become by achieving your goals. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Sometimes you win, sometimes you learn. All journeys have secret destinations of which the traveler is unaware. Optimism is the one quality more associated with success and happiness than any other. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('173', '/home/Administrator/Pictures/img_943835.png', 'Cb5yI', NULL, NULL, 'w3k7FmZDnF', '830 Cannon Street', NULL, '2024-04-10 11:56:22', '2006-12-29 22:28:38', 209.9335, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. A query is used to extract data from the database in a readable format according to the user\'s request. A comfort zone is a beautiful place, but nothing ever grows there. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Synchronize to Database function will give you a full picture of all database differences. Navicat 15 has added support for the system-wide dark mode. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Typically, it is employed as an encrypted version of Telnet. You cannot save people, you can just love them. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I will greet this day with love in my heart. I will greet this day with love in my heart. The reason why a great man is great is that he resolves to be a great man. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To connect to a database or schema, simply double-click it in the pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All journeys have secret destinations of which the traveler is unaware. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All journeys have secret destinations of which the traveler is unaware. A man’s best friends are his ten fingers. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. How we spend our days is, of course, how we spend our lives. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Typically, it is employed as an encrypted version of Telnet. You must be the change you wish to see in the world. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You cannot save people, you can just love them. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The On Startup feature allows you to control what tabs appear when you launch Navicat. Creativity is intelligence having fun. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If opportunity doesn’t knock, build a door. Navicat 15 has added support for the system-wide dark mode. The past has no power over the present moment. A query is used to extract data from the database in a readable format according to the user\'s request. You will succeed because most people are lazy. To connect to a database or schema, simply double-click it in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man’s best friends are his ten fingers. Navicat 15 has added support for the system-wide dark mode. Anyone who has never made a mistake has never tried anything new. If you wait, all that happens is you get older. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.', 'Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Success consists of going from failure to failure without loss of enthusiasm. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. What you get by achieving your goals is not as important as what you become by achieving your goals. Genius is an infinite capacity for taking pains. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Difficult circumstances serve as a textbook of life for people. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In the middle of winter I at last discovered that there was in me an invincible summer. A comfort zone is a beautiful place, but nothing ever grows there. The On Startup feature allows you to control what tabs appear when you launch Navicat. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I will greet this day with love in my heart. What you get by achieving your goals is not as important as what you become by achieving your goals. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Genius is an infinite capacity for taking pains. A man’s best friends are his ten fingers. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.', NULL, 'I will greet this day with love in my heart. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A query is used to extract data from the database in a readable format according to the user\'s request. Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('174', '/home/Administrator/Pictures/img_364687.jpg', 'S1RzM', NULL, NULL, '5AWX5VrSq3', '885 Narborough Rd', NULL, '2021-09-18 01:55:04', '2020-04-14 08:58:22', 2.0212, 'I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat 15 has added support for the system-wide dark mode. Genius is an infinite capacity for taking pains. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Creativity is intelligence having fun. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Genius is an infinite capacity for taking pains. Champions keep playing until they get it right. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In the middle of winter I at last discovered that there was in me an invincible summer. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You will succeed because most people are lazy. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A man’s best friends are his ten fingers. A man is not old until regrets take the place of dreams. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If opportunity doesn’t knock, build a door. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man’s best friends are his ten fingers. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A comfort zone is a beautiful place, but nothing ever grows there. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat 15 has added support for the system-wide dark mode. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A comfort zone is a beautiful place, but nothing ever grows there. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If you wait, all that happens is you get older. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.', 'It wasn’t raining when Noah built the ark. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.', NULL, 'Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('175', '/home/Administrator/Pictures/img_626880.jpg', 'KwF7j', NULL, NULL, '27iLJYBPyr', '925 Canal Street', NULL, '2021-10-15 10:40:42', '2017-08-23 11:29:37', 708.2825, 'After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The reason why a great man is great is that he resolves to be a great man. Champions keep playing until they get it right. You must be the change you wish to see in the world. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The On Startup feature allows you to control what tabs appear when you launch Navicat. The first step is as good as half over. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man is not old until regrets take the place of dreams. Difficult circumstances serve as a textbook of life for people. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. There is no way to happiness. Happiness is the way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All journeys have secret destinations of which the traveler is unaware. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Flexible settings enable you to set up a custom key for comparison and synchronization. It wasn’t raining when Noah built the ark. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has never made a mistake has never tried anything new. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I will greet this day with love in my heart. A comfort zone is a beautiful place, but nothing ever grows there. A man is not old until regrets take the place of dreams. Sometimes you win, sometimes you learn. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If it scares you, it might be a good thing to try. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I will greet this day with love in my heart. You cannot save people, you can just love them. You must be the change you wish to see in the world. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Flexible settings enable you to set up a custom key for comparison and synchronization. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It wasn’t raining when Noah built the ark. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The past has no power over the present moment. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If you wait, all that happens is you get older. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I may not have gone where I intended to go, but I think I have ended up where I needed to be. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Synchronize to Database function will give you a full picture of all database differences. Success consists of going from failure to failure without loss of enthusiasm. The Synchronize to Database function will give you a full picture of all database differences.', NULL, 'The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Synchronize to Database function will give you a full picture of all database differences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. I will greet this day with love in my heart. If the plan doesn’t work, change the plan, but never the goal. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man is not old until regrets take the place of dreams. What you get by achieving your goals is not as important as what you become by achieving your goals. Flexible settings enable you to set up a custom key for comparison and synchronization. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If opportunity doesn’t knock, build a door. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the plan doesn’t work, change the plan, but never the goal. I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Genius is an infinite capacity for taking pains. All journeys have secret destinations of which the traveler is unaware. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Genius is an infinite capacity for taking pains. Flexible settings enable you to set up a custom key for comparison and synchronization. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If opportunity doesn’t knock, build a door. The On Startup feature allows you to control what tabs appear when you launch Navicat. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the plan doesn’t work, change the plan, but never the goal. Anyone who has never made a mistake has never tried anything new. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To connect to a database or schema, simply double-click it in the pane. The reason why a great man is great is that he resolves to be a great man. If the plan doesn’t work, change the plan, but never the goal. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I will greet this day with love in my heart. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Creativity is intelligence having fun. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor requires a repository to store alerts and metrics for historical analysis.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('1757854781051010000', '/api/wcsdev/api/pub/task/cancelStockTask', 'DELETE', 'taskId=1111', 200, 'application/json', '127.0.0.1', '', '2025-09-14 20:59:41', '2025-09-14 20:59:41', -47.0000, '', '{\"code\":200,\"message\":\"任务不存在\"}', '', ''); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('1757854817913010000', '/api/wcsdev/api/pub/task/cancelStockTask', 'DELETE', 'taskId=1111', 200, 'application/json', '127.0.0.1', '', '2025-09-14 21:00:18', '2025-09-14 21:00:18', -51.0000, '', '{\"code\":200,\"message\":\"任务不存在\"}', '', ''); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('1757854841220010000', '/api/wcsdev/api/pub/task/cancelStockTask', 'DELETE', 'taskId=1111', 200, 'application/json', '127.0.0.1', '', '2025-09-14 21:00:41', '2025-09-14 21:00:41', -4.0000, '', '{\"code\":200,\"message\":\"任务不存在\"}', '', ''); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('1757854934521010000', '/api/wcsdev/api/pub/task/cancelStockTask', 'DELETE', 'taskId=1111', 200, 'application/json', '127.0.0.1', '', '2025-09-14 21:02:14', '2025-09-14 21:02:15', 47.0000, '', '{\"code\":200,\"message\":\"任务不存在\"}', '', ''); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('1758511255980010000', '/api/wcsdev/api/pub/task/cancelStockTask', 'DELETE', 'taskId=1111', 200, 'application/json', '127.0.0.1', '', '2025-09-22 11:20:56', '2025-09-22 11:20:56', 53.0000, '', '{\"code\":200,\"message\":\"任务不存在\"}', '', ''); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('176', '/Users/Administrator/Pictures/img_759898.png', 'nbpxI', NULL, NULL, 'E2AmTAgr9H', '13-3-3 Toyohira 3 Jo, Toyohira Ward', NULL, '2020-02-09 21:05:27', '2011-09-04 18:37:03', 359.6624, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat 15 has added support for the system-wide dark mode. Anyone who has ever made anything of importance was disciplined. In the middle of winter I at last discovered that there was in me an invincible summer. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You will succeed because most people are lazy. In the middle of winter I at last discovered that there was in me an invincible summer. If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If it scares you, it might be a good thing to try. If it scares you, it might be a good thing to try. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The first step is as good as half over. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The On Startup feature allows you to control what tabs appear when you launch Navicat. What you get by achieving your goals is not as important as what you become by achieving your goals. If it scares you, it might be a good thing to try. All journeys have secret destinations of which the traveler is unaware. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man’s best friends are his ten fingers. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat 15 has added support for the system-wide dark mode. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All journeys have secret destinations of which the traveler is unaware. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Difficult circumstances serve as a textbook of life for people. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Synchronize to Database function will give you a full picture of all database differences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Difficult circumstances serve as a textbook of life for people. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Synchronize to Database function will give you a full picture of all database differences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I destroy my enemies when I make them my friends. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A query is used to extract data from the database in a readable format according to the user\'s request. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You cannot save people, you can just love them. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Remember that failure is an event, not a person. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It wasn’t raining when Noah built the ark. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You will succeed because most people are lazy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Anyone who has never made a mistake has never tried anything new. Creativity is intelligence having fun. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', 'To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Difficult circumstances serve as a textbook of life for people. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It wasn’t raining when Noah built the ark. The reason why a great man is great is that he resolves to be a great man. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. All journeys have secret destinations of which the traveler is unaware. A comfort zone is a beautiful place, but nothing ever grows there. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Sometimes you win, sometimes you learn. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You cannot save people, you can just love them. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Creativity is intelligence having fun. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If opportunity doesn’t knock, build a door. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Success consists of going from failure to failure without loss of enthusiasm. A man is not old until regrets take the place of dreams. Navicat 15 has added support for the system-wide dark mode. The first step is as good as half over. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. There is no way to happiness. Happiness is the way. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To connect to a database or schema, simply double-click it in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I will greet this day with love in my heart. Optimism is the one quality more associated with success and happiness than any other. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The past has no power over the present moment. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Sometimes you win, sometimes you learn. If you wait, all that happens is you get older. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Success consists of going from failure to failure without loss of enthusiasm. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. There is no way to happiness. Happiness is the way. You must be the change you wish to see in the world. The Synchronize to Database function will give you a full picture of all database differences.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('177', '/home/Administrator/Pictures/img_409064.png', 'lTAQQ', NULL, NULL, 'fMQe9gBm13', '183 West Houston Street', NULL, '2023-02-21 03:06:41', '2000-12-14 13:24:23', 711.1890, 'Navicat 15 has added support for the system-wide dark mode. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Success consists of going from failure to failure without loss of enthusiasm. You must be the change you wish to see in the world. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Genius is an infinite capacity for taking pains. Genius is an infinite capacity for taking pains. I may not have gone where I intended to go, but I think I have ended up where I needed to be.', 'Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Synchronize to Database function will give you a full picture of all database differences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Sometimes you win, sometimes you learn. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A query is used to extract data from the database in a readable format according to the user\'s request. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Genius is an infinite capacity for taking pains. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.', NULL, 'There is no way to happiness. Happiness is the way. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If opportunity doesn’t knock, build a door. The Synchronize to Database function will give you a full picture of all database differences. How we spend our days is, of course, how we spend our lives. Genius is an infinite capacity for taking pains. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You will succeed because most people are lazy. If opportunity doesn’t knock, build a door. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Anyone who has never made a mistake has never tried anything new. Creativity is intelligence having fun. A query is used to extract data from the database in a readable format according to the user\'s request. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Anyone who has never made a mistake has never tried anything new. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The On Startup feature allows you to control what tabs appear when you launch Navicat. If you wait, all that happens is you get older. Anyone who has ever made anything of importance was disciplined. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. How we spend our days is, of course, how we spend our lives. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You cannot save people, you can just love them. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has ever made anything of importance was disciplined. There is no way to happiness. Happiness is the way. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If it scares you, it might be a good thing to try. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat 15 has added support for the system-wide dark mode. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A query is used to extract data from the database in a readable format according to the user\'s request. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('178', '/Users/Administrator/Pictures/img_819471.jpg', 'LL7sQ', NULL, NULL, 'JyZROBpXan', '213 Fifth Avenue', NULL, '2021-12-19 23:13:37', '2024-04-30 06:01:39', 0.2120, 'I will greet this day with love in my heart. Sometimes you win, sometimes you learn. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To connect to a database or schema, simply double-click it in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All journeys have secret destinations of which the traveler is unaware. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the plan doesn’t work, change the plan, but never the goal. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To connect to a database or schema, simply double-click it in the pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has never made a mistake has never tried anything new. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You will succeed because most people are lazy. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You will succeed because most people are lazy. Genius is an infinite capacity for taking pains. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Optimism is the one quality more associated with success and happiness than any other. If the plan doesn’t work, change the plan, but never the goal. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat 15 has added support for the system-wide dark mode. Genius is an infinite capacity for taking pains. The Synchronize to Database function will give you a full picture of all database differences. You cannot save people, you can just love them. Anyone who has never made a mistake has never tried anything new. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man is not old until regrets take the place of dreams. Creativity is intelligence having fun.', 'If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To connect to a database or schema, simply double-click it in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. Success consists of going from failure to failure without loss of enthusiasm. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Success consists of going from failure to failure without loss of enthusiasm.', NULL, 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A query is used to extract data from the database in a readable format according to the user\'s request. Anyone who has never made a mistake has never tried anything new. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. What you get by achieving your goals is not as important as what you become by achieving your goals. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To connect to a database or schema, simply double-click it in the pane. If the plan doesn’t work, change the plan, but never the goal. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All journeys have secret destinations of which the traveler is unaware. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Sometimes you win, sometimes you learn. To connect to a database or schema, simply double-click it in the pane. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Champions keep playing until they get it right. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If you wait, all that happens is you get older. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Typically, it is employed as an encrypted version of Telnet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I will greet this day with love in my heart. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A query is used to extract data from the database in a readable format according to the user\'s request. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A comfort zone is a beautiful place, but nothing ever grows there. A man is not old until regrets take the place of dreams. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If opportunity doesn’t knock, build a door. Anyone who has ever made anything of importance was disciplined. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Difficult circumstances serve as a textbook of life for people. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The reason why a great man is great is that he resolves to be a great man. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It wasn’t raining when Noah built the ark. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The past has no power over the present moment. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Champions keep playing until they get it right. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You cannot save people, you can just love them. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You must be the change you wish to see in the world. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. What you get by achieving your goals is not as important as what you become by achieving your goals. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat 15 has added support for the system-wide dark mode. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If opportunity doesn’t knock, build a door. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('179', '/home/Administrator/Pictures/img_626574.jpg', 'BGUk2', NULL, NULL, '9uNsfrBFJ9', '594 Rush Street', NULL, '2021-11-17 16:14:52', '2020-12-08 08:11:12', 751.3208, 'If it scares you, it might be a good thing to try. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Sometimes you win, sometimes you learn. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Sometimes you win, sometimes you learn. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To connect to a database or schema, simply double-click it in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If you wait, all that happens is you get older. There is no way to happiness. Happiness is the way. The first step is as good as half over. The reason why a great man is great is that he resolves to be a great man. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You must be the change you wish to see in the world. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To connect to a database or schema, simply double-click it in the pane. The past has no power over the present moment. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All journeys have secret destinations of which the traveler is unaware. A comfort zone is a beautiful place, but nothing ever grows there. The first step is as good as half over. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.', 'If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In the middle of winter I at last discovered that there was in me an invincible summer. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. The first step is as good as half over. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Flexible settings enable you to set up a custom key for comparison and synchronization. The Synchronize to Database function will give you a full picture of all database differences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Genius is an infinite capacity for taking pains. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. There is no way to happiness. Happiness is the way. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man’s best friends are his ten fingers. Success consists of going from failure to failure without loss of enthusiasm. Navicat 15 has added support for the system-wide dark mode. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The On Startup feature allows you to control what tabs appear when you launch Navicat. Flexible settings enable you to set up a custom key for comparison and synchronization. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat 15 has added support for the system-wide dark mode. You must be the change you wish to see in the world. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A comfort zone is a beautiful place, but nothing ever grows there. You must be the change you wish to see in the world. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If opportunity doesn’t knock, build a door. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If you wait, all that happens is you get older. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has never made a mistake has never tried anything new. Remember that failure is an event, not a person. The past has no power over the present moment. If you wait, all that happens is you get older. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Typically, it is employed as an encrypted version of Telnet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Sometimes you win, sometimes you learn. If you wait, all that happens is you get older. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If it scares you, it might be a good thing to try. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.', NULL, 'It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I will greet this day with love in my heart. How we spend our days is, of course, how we spend our lives. Genius is an infinite capacity for taking pains. If you wait, all that happens is you get older. You must be the change you wish to see in the world. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The first step is as good as half over. Anyone who has ever made anything of importance was disciplined. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The first step is as good as half over. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Sometimes you win, sometimes you learn. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To connect to a database or schema, simply double-click it in the pane. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. Champions keep playing until they get it right. A query is used to extract data from the database in a readable format according to the user\'s request. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has never made a mistake has never tried anything new. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The On Startup feature allows you to control what tabs appear when you launch Navicat. If it scares you, it might be a good thing to try. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat 15 has added support for the system-wide dark mode. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Flexible settings enable you to set up a custom key for comparison and synchronization. A query is used to extract data from the database in a readable format according to the user\'s request. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Creativity is intelligence having fun. I destroy my enemies when I make them my friends. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Anyone who has never made a mistake has never tried anything new. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Success consists of going from failure to failure without loss of enthusiasm. Remember that failure is an event, not a person. A man’s best friends are his ten fingers. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. How we spend our days is, of course, how we spend our lives. What you get by achieving your goals is not as important as what you become by achieving your goals. I will greet this day with love in my heart.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('18', '/Users/Administrator/Pictures/img_407023.png', 'SSBYE', NULL, NULL, '7iyGPPNudY', '303 State Street', NULL, '2023-08-19 17:17:24', '2024-05-31 11:45:49', 223.1194, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man’s best friends are his ten fingers. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. What you get by achieving your goals is not as important as what you become by achieving your goals. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Flexible settings enable you to set up a custom key for comparison and synchronization. Difficult circumstances serve as a textbook of life for people. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You will succeed because most people are lazy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. All journeys have secret destinations of which the traveler is unaware. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If opportunity doesn’t knock, build a door. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If it scares you, it might be a good thing to try. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. There is no way to happiness. Happiness is the way. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The first step is as good as half over. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. What you get by achieving your goals is not as important as what you become by achieving your goals. Typically, it is employed as an encrypted version of Telnet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. There is no way to happiness. Happiness is the way. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.', 'It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Remember that failure is an event, not a person. Difficult circumstances serve as a textbook of life for people. How we spend our days is, of course, how we spend our lives. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If you wait, all that happens is you get older. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Synchronize to Database function will give you a full picture of all database differences. Champions keep playing until they get it right. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All journeys have secret destinations of which the traveler is unaware. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If opportunity doesn’t knock, build a door. I will greet this day with love in my heart. A comfort zone is a beautiful place, but nothing ever grows there. Remember that failure is an event, not a person. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I will greet this day with love in my heart. The past has no power over the present moment. If it scares you, it might be a good thing to try. You must be the change you wish to see in the world. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has ever made anything of importance was disciplined. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Remember that failure is an event, not a person. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over. Creativity is intelligence having fun. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A comfort zone is a beautiful place, but nothing ever grows there. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the plan doesn’t work, change the plan, but never the goal. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. How we spend our days is, of course, how we spend our lives. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. I will greet this day with love in my heart. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Flexible settings enable you to set up a custom key for comparison and synchronization. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. There is no way to happiness. Happiness is the way. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Genius is an infinite capacity for taking pains. Champions keep playing until they get it right. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A query is used to extract data from the database in a readable format according to the user\'s request. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I will greet this day with love in my heart. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. All journeys have secret destinations of which the traveler is unaware. Flexible settings enable you to set up a custom key for comparison and synchronization. I destroy my enemies when I make them my friends. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.', NULL, 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If opportunity doesn’t knock, build a door. If the plan doesn’t work, change the plan, but never the goal. If you wait, all that happens is you get older. Anyone who has never made a mistake has never tried anything new. Success consists of going from failure to failure without loss of enthusiasm. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the plan doesn’t work, change the plan, but never the goal. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The reason why a great man is great is that he resolves to be a great man. Creativity is intelligence having fun. I will greet this day with love in my heart. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All journeys have secret destinations of which the traveler is unaware. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. Anyone who has ever made anything of importance was disciplined. A query is used to extract data from the database in a readable format according to the user\'s request. Flexible settings enable you to set up a custom key for comparison and synchronization. A man is not old until regrets take the place of dreams. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Difficult circumstances serve as a textbook of life for people. All journeys have secret destinations of which the traveler is unaware. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Anyone who has never made a mistake has never tried anything new. Anyone who has never made a mistake has never tried anything new. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The On Startup feature allows you to control what tabs appear when you launch Navicat. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the plan doesn’t work, change the plan, but never the goal. The Synchronize to Database function will give you a full picture of all database differences. If opportunity doesn’t knock, build a door. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A comfort zone is a beautiful place, but nothing ever grows there. Success consists of going from failure to failure without loss of enthusiasm. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Remember that failure is an event, not a person. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You cannot save people, you can just love them. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Genius is an infinite capacity for taking pains. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The first step is as good as half over. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Remember that failure is an event, not a person. Anyone who has never made a mistake has never tried anything new.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('180', '/home/Administrator/Pictures/img_755960.jpg', 'TmD0k', NULL, NULL, '4wRm9aoZqL', '2-1-10 Tenjinnomori, Nishinari Ward', NULL, '2020-09-16 01:50:38', '2016-05-03 20:33:02', 863.7535, 'The Synchronize to Database function will give you a full picture of all database differences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A man’s best friends are his ten fingers. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All journeys have secret destinations of which the traveler is unaware. The first step is as good as half over. The first step is as good as half over. It wasn’t raining when Noah built the ark. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. There is no way to happiness. Happiness is the way. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Synchronize to Database function will give you a full picture of all database differences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In the middle of winter I at last discovered that there was in me an invincible summer. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Champions keep playing until they get it right. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To connect to a database or schema, simply double-click it in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. There is no way to happiness. Happiness is the way. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The first step is as good as half over. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To connect to a database or schema, simply double-click it in the pane. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Genius is an infinite capacity for taking pains. A man’s best friends are his ten fingers. You must be the change you wish to see in the world. A man’s best friends are his ten fingers. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Synchronize to Database function will give you a full picture of all database differences. Success consists of going from failure to failure without loss of enthusiasm. The On Startup feature allows you to control what tabs appear when you launch Navicat. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Champions keep playing until they get it right. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has never made a mistake has never tried anything new. Champions keep playing until they get it right. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You cannot save people, you can just love them. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You must be the change you wish to see in the world. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A comfort zone is a beautiful place, but nothing ever grows there. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Sometimes you win, sometimes you learn. Navicat 15 has added support for the system-wide dark mode. How we spend our days is, of course, how we spend our lives. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the plan doesn’t work, change the plan, but never the goal. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You will succeed because most people are lazy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A query is used to extract data from the database in a readable format according to the user\'s request. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.', NULL, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. If it scares you, it might be a good thing to try. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Typically, it is employed as an encrypted version of Telnet. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If you wait, all that happens is you get older. Creativity is intelligence having fun. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Success consists of going from failure to failure without loss of enthusiasm. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man’s best friends are his ten fingers. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('181', '/home/Administrator/Pictures/img_171201.png', 'l39uX', NULL, NULL, 'UBB5EwxGY2', '762 Binchuan Rd, Minhang District', NULL, '2020-01-10 01:52:51', '2021-04-05 12:26:26', 963.8681, 'The Synchronize to Database function will give you a full picture of all database differences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It wasn’t raining when Noah built the ark. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', 'To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Optimism is the one quality more associated with success and happiness than any other. You will succeed because most people are lazy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I will greet this day with love in my heart. Remember that failure is an event, not a person. There is no way to happiness. Happiness is the way. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I destroy my enemies when I make them my friends. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has ever made anything of importance was disciplined. You cannot save people, you can just love them. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You will succeed because most people are lazy. A man is not old until regrets take the place of dreams. To connect to a database or schema, simply double-click it in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If you wait, all that happens is you get older. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If the plan doesn’t work, change the plan, but never the goal. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Anyone who has never made a mistake has never tried anything new. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. What you get by achieving your goals is not as important as what you become by achieving your goals. What you get by achieving your goals is not as important as what you become by achieving your goals. You cannot save people, you can just love them. A comfort zone is a beautiful place, but nothing ever grows there. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Typically, it is employed as an encrypted version of Telnet. The past has no power over the present moment. The On Startup feature allows you to control what tabs appear when you launch Navicat. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man’s best friends are his ten fingers. How we spend our days is, of course, how we spend our lives. Remember that failure is an event, not a person. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has never made a mistake has never tried anything new. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.', NULL, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I destroy my enemies when I make them my friends. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Remember that failure is an event, not a person. Champions keep playing until they get it right. Anyone who has ever made anything of importance was disciplined. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Typically, it is employed as an encrypted version of Telnet. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Anyone who has never made a mistake has never tried anything new. There is no way to happiness. Happiness is the way. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It wasn’t raining when Noah built the ark. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If you wait, all that happens is you get older. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All journeys have secret destinations of which the traveler is unaware. A man’s best friends are his ten fingers. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has never made a mistake has never tried anything new. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Typically, it is employed as an encrypted version of Telnet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To connect to a database or schema, simply double-click it in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Remember that failure is an event, not a person. A man’s best friends are his ten fingers. There is no way to happiness. Happiness is the way. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Champions keep playing until they get it right. Champions keep playing until they get it right. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You cannot save people, you can just love them. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('182', '/home/Administrator/Pictures/img_398340.png', 'QAw7P', NULL, NULL, 'anrDBrrK6n', '710 Tianhe Road, Tianhe District', NULL, '2022-11-21 20:15:31', '2014-01-14 02:09:49', 216.8369, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Synchronize to Database function will give you a full picture of all database differences. If it scares you, it might be a good thing to try. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man is not old until regrets take the place of dreams. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If you wait, all that happens is you get older. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Remember that failure is an event, not a person. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Difficult circumstances serve as a textbook of life for people. The Synchronize to Database function will give you a full picture of all database differences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. I destroy my enemies when I make them my friends. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat 15 has added support for the system-wide dark mode. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has ever made anything of importance was disciplined. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The first step is as good as half over. If you wait, all that happens is you get older. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.', 'How we spend our days is, of course, how we spend our lives. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Genius is an infinite capacity for taking pains. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Creativity is intelligence having fun. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. What you get by achieving your goals is not as important as what you become by achieving your goals. A man is not old until regrets take the place of dreams. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Remember that failure is an event, not a person. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A man’s best friends are his ten fingers. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Genius is an infinite capacity for taking pains. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. There is no way to happiness. Happiness is the way. I will greet this day with love in my heart. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A man is not old until regrets take the place of dreams. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has ever made anything of importance was disciplined. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('183', '/Users/Administrator/Pictures/img_615525.png', 'kEQtU', NULL, NULL, 'glqYIm4ugU', '502 Lefeng 6th Rd', NULL, '2020-12-13 15:30:32', '2020-05-03 05:13:59', 474.5717, 'Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In the middle of winter I at last discovered that there was in me an invincible summer. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A query is used to extract data from the database in a readable format according to the user\'s request. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Optimism is the one quality more associated with success and happiness than any other. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I destroy my enemies when I make them my friends. Navicat 15 has added support for the system-wide dark mode. If the plan doesn’t work, change the plan, but never the goal. If opportunity doesn’t knock, build a door. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more.', 'SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A man’s best friends are his ten fingers. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Optimism is the one quality more associated with success and happiness than any other. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The first step is as good as half over. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A man’s best friends are his ten fingers. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man is not old until regrets take the place of dreams. If opportunity doesn’t knock, build a door. What you get by achieving your goals is not as important as what you become by achieving your goals. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. There is no way to happiness. Happiness is the way. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. How we spend our days is, of course, how we spend our lives. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat 15 has added support for the system-wide dark mode. The reason why a great man is great is that he resolves to be a great man. All journeys have secret destinations of which the traveler is unaware. All journeys have secret destinations of which the traveler is unaware. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Optimism is the one quality more associated with success and happiness than any other. To connect to a database or schema, simply double-click it in the pane. I destroy my enemies when I make them my friends. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. How we spend our days is, of course, how we spend our lives. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Sometimes you win, sometimes you learn. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The first step is as good as half over. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. A query is used to extract data from the database in a readable format according to the user\'s request. Flexible settings enable you to set up a custom key for comparison and synchronization. Typically, it is employed as an encrypted version of Telnet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. Difficult circumstances serve as a textbook of life for people.', NULL, 'After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Typically, it is employed as an encrypted version of Telnet. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('184', 'C:\\Users\\Administrator\\Pictures\\img_155438.png', 'mPuMD', NULL, NULL, 'niG89VGe0a', '449 Bank Street', NULL, '2024-04-24 14:29:05', '2018-01-30 04:11:37', 180.2018, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. How we spend our days is, of course, how we spend our lives. If you wait, all that happens is you get older. Champions keep playing until they get it right. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Sometimes you win, sometimes you learn. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A query is used to extract data from the database in a readable format according to the user\'s request. Flexible settings enable you to set up a custom key for comparison and synchronization. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A man’s best friends are his ten fingers. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The first step is as good as half over. The reason why a great man is great is that he resolves to be a great man. Champions keep playing until they get it right. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Creativity is intelligence having fun. If you wait, all that happens is you get older. The reason why a great man is great is that he resolves to be a great man. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. You will succeed because most people are lazy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the middle of winter I at last discovered that there was in me an invincible summer. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A query is used to extract data from the database in a readable format according to the user\'s request. Anyone who has never made a mistake has never tried anything new. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Success consists of going from failure to failure without loss of enthusiasm. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In the middle of winter I at last discovered that there was in me an invincible summer. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A comfort zone is a beautiful place, but nothing ever grows there. In the middle of winter I at last discovered that there was in me an invincible summer. There is no way to happiness. Happiness is the way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat 15 has added support for the system-wide dark mode. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. There is no way to happiness. Happiness is the way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.', 'You must be the change you wish to see in the world. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has never made a mistake has never tried anything new. Champions keep playing until they get it right. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You cannot save people, you can just love them. Remember that failure is an event, not a person. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. The Synchronize to Database function will give you a full picture of all database differences. The reason why a great man is great is that he resolves to be a great man. You must be the change you wish to see in the world. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. A man is not old until regrets take the place of dreams. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. There is no way to happiness. Happiness is the way. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The first step is as good as half over. Anyone who has never made a mistake has never tried anything new. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Typically, it is employed as an encrypted version of Telnet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If opportunity doesn’t knock, build a door. Champions keep playing until they get it right. I will greet this day with love in my heart. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Anyone who has ever made anything of importance was disciplined. Anyone who has ever made anything of importance was disciplined. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A man’s best friends are his ten fingers. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Anyone who has never made a mistake has never tried anything new. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All journeys have secret destinations of which the traveler is unaware. If the plan doesn’t work, change the plan, but never the goal. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Genius is an infinite capacity for taking pains. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat 15 has added support for the system-wide dark mode. Sometimes you win, sometimes you learn. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Synchronize to Database function will give you a full picture of all database differences. A query is used to extract data from the database in a readable format according to the user\'s request. If it scares you, it might be a good thing to try. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', NULL, 'In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has ever made anything of importance was disciplined. I will greet this day with love in my heart. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Optimism is the one quality more associated with success and happiness than any other. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. How we spend our days is, of course, how we spend our lives. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Success consists of going from failure to failure without loss of enthusiasm. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Champions keep playing until they get it right. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. I destroy my enemies when I make them my friends. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has never made a mistake has never tried anything new. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Creativity is intelligence having fun. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Genius is an infinite capacity for taking pains. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Creativity is intelligence having fun. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('185', '/home/Administrator/Pictures/img_227494.png', 'JYWqk', NULL, NULL, 'PuzSopy6pO', '815 49/50 Strand, Charing Cross', NULL, '2021-09-25 10:25:12', '2008-08-17 18:03:32', 688.7898, 'Typically, it is employed as an encrypted version of Telnet. Anyone who has ever made anything of importance was disciplined. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Anyone who has ever made anything of importance was disciplined. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Typically, it is employed as an encrypted version of Telnet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If you wait, all that happens is you get older. In the middle of winter I at last discovered that there was in me an invincible summer. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I destroy my enemies when I make them my friends. If the plan doesn’t work, change the plan, but never the goal. To connect to a database or schema, simply double-click it in the pane. Genius is an infinite capacity for taking pains. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the middle of winter I at last discovered that there was in me an invincible summer. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Anyone who has ever made anything of importance was disciplined. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You will succeed because most people are lazy. You will succeed because most people are lazy. Champions keep playing until they get it right. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Synchronize to Database function will give you a full picture of all database differences. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Creativity is intelligence having fun. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The first step is as good as half over. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Synchronize to Database function will give you a full picture of all database differences. Navicat 15 has added support for the system-wide dark mode. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The On Startup feature allows you to control what tabs appear when you launch Navicat. The past has no power over the present moment. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Optimism is the one quality more associated with success and happiness than any other. The first step is as good as half over. The Synchronize to Database function will give you a full picture of all database differences. Genius is an infinite capacity for taking pains. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I will greet this day with love in my heart. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A man’s best friends are his ten fingers. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Creativity is intelligence having fun. Difficult circumstances serve as a textbook of life for people. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I destroy my enemies when I make them my friends.', 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Creativity is intelligence having fun. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. There is no way to happiness. Happiness is the way. In the middle of winter I at last discovered that there was in me an invincible summer. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It wasn’t raining when Noah built the ark. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. There is no way to happiness. Happiness is the way. The Synchronize to Database function will give you a full picture of all database differences. Typically, it is employed as an encrypted version of Telnet. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.', NULL, 'To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A man is not old until regrets take the place of dreams. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man is not old until regrets take the place of dreams. Navicat 15 has added support for the system-wide dark mode. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Champions keep playing until they get it right. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You must be the change you wish to see in the world. The On Startup feature allows you to control what tabs appear when you launch Navicat. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A query is used to extract data from the database in a readable format according to the user\'s request. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A man’s best friends are his ten fingers. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. There is no way to happiness. Happiness is the way. Difficult circumstances serve as a textbook of life for people. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A comfort zone is a beautiful place, but nothing ever grows there. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If it scares you, it might be a good thing to try. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I may not have gone where I intended to go, but I think I have ended up where I needed to be. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. There is no way to happiness. Happiness is the way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Flexible settings enable you to set up a custom key for comparison and synchronization. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If you wait, all that happens is you get older. If you wait, all that happens is you get older. Difficult circumstances serve as a textbook of life for people. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Synchronize to Database function will give you a full picture of all database differences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You will succeed because most people are lazy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I destroy my enemies when I make them my friends. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('186', '/Users/Administrator/Pictures/img_623526.png', 'CWZ5O', NULL, NULL, 'TUqpu5BcBl', '26 Narborough Rd', NULL, '2020-09-19 12:58:38', '2021-06-30 03:42:31', 709.1434, 'I destroy my enemies when I make them my friends. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Typically, it is employed as an encrypted version of Telnet. Success consists of going from failure to failure without loss of enthusiasm. It wasn’t raining when Noah built the ark. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the plan doesn’t work, change the plan, but never the goal. Actually it is just in an idea when feel oneself can achieve and cannot achieve. There is no way to happiness. Happiness is the way. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the middle of winter I at last discovered that there was in me an invincible summer. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. All journeys have secret destinations of which the traveler is unaware. A man’s best friends are his ten fingers. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Difficult circumstances serve as a textbook of life for people. If you wait, all that happens is you get older. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Genius is an infinite capacity for taking pains. Anyone who has ever made anything of importance was disciplined. You must be the change you wish to see in the world. If you wait, all that happens is you get older. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Champions keep playing until they get it right. Sometimes you win, sometimes you learn. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The first step is as good as half over. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A query is used to extract data from the database in a readable format according to the user\'s request. The first step is as good as half over. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. There is no way to happiness. Happiness is the way. All journeys have secret destinations of which the traveler is unaware. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You must be the change you wish to see in the world. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Creativity is intelligence having fun. Sometimes you win, sometimes you learn. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'A comfort zone is a beautiful place, but nothing ever grows there. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has never made a mistake has never tried anything new. Champions keep playing until they get it right. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', NULL, 'Difficult circumstances serve as a textbook of life for people. The Synchronize to Database function will give you a full picture of all database differences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The past has no power over the present moment. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I will greet this day with love in my heart. Flexible settings enable you to set up a custom key for comparison and synchronization. Remember that failure is an event, not a person. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You cannot save people, you can just love them. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has never made a mistake has never tried anything new. The past has no power over the present moment. The reason why a great man is great is that he resolves to be a great man. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('187', 'C:\\Users\\Administrator\\Pictures\\img_999740.jpg', '0Dtve', NULL, NULL, 'dSpazQwAa5', '341 Broadway', NULL, '2021-05-01 14:13:01', '2024-01-20 18:17:27', 47.9243, 'There is no way to happiness. Happiness is the way. A man is not old until regrets take the place of dreams. Navicat 15 has added support for the system-wide dark mode. Champions keep playing until they get it right. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If you wait, all that happens is you get older. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Success consists of going from failure to failure without loss of enthusiasm. All journeys have secret destinations of which the traveler is unaware. If the plan doesn’t work, change the plan, but never the goal. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You must be the change you wish to see in the world. It wasn’t raining when Noah built the ark. If opportunity doesn’t knock, build a door. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A comfort zone is a beautiful place, but nothing ever grows there. Anyone who has never made a mistake has never tried anything new. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The past has no power over the present moment. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If opportunity doesn’t knock, build a door. A comfort zone is a beautiful place, but nothing ever grows there. Navicat 15 has added support for the system-wide dark mode. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. I destroy my enemies when I make them my friends. Creativity is intelligence having fun. Anyone who has ever made anything of importance was disciplined. Typically, it is employed as an encrypted version of Telnet. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. It wasn’t raining when Noah built the ark. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You cannot save people, you can just love them. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A comfort zone is a beautiful place, but nothing ever grows there. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Genius is an infinite capacity for taking pains. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The first step is as good as half over. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You must be the change you wish to see in the world. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A comfort zone is a beautiful place, but nothing ever grows there. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A man is not old until regrets take the place of dreams. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.', NULL, 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the plan doesn’t work, change the plan, but never the goal. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If it scares you, it might be a good thing to try. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. Genius is an infinite capacity for taking pains. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Anyone who has never made a mistake has never tried anything new. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The past has no power over the present moment. If you wait, all that happens is you get older. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A man’s best friends are his ten fingers. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The reason why a great man is great is that he resolves to be a great man. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. There is no way to happiness. Happiness is the way. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A man is not old until regrets take the place of dreams. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You must be the change you wish to see in the world. Anyone who has never made a mistake has never tried anything new. The first step is as good as half over. The first step is as good as half over. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In the middle of winter I at last discovered that there was in me an invincible summer. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A query is used to extract data from the database in a readable format according to the user\'s request. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Flexible settings enable you to set up a custom key for comparison and synchronization. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the plan doesn’t work, change the plan, but never the goal. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Synchronize to Database function will give you a full picture of all database differences. You must be the change you wish to see in the world. All journeys have secret destinations of which the traveler is unaware.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('188', '/Users/Administrator/Pictures/img_258066.jpg', 'dPFSc', NULL, NULL, 'LWHhkaQIVN', '2-1-18 Tenjinnomori, Nishinari Ward', NULL, '2020-05-04 22:33:20', '2010-02-08 22:20:39', 680.0773, 'Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The past has no power over the present moment. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It wasn’t raining when Noah built the ark. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. What you get by achieving your goals is not as important as what you become by achieving your goals. A query is used to extract data from the database in a readable format according to the user\'s request. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. You will succeed because most people are lazy. I destroy my enemies when I make them my friends. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. How we spend our days is, of course, how we spend our lives. Difficult circumstances serve as a textbook of life for people. A man is not old until regrets take the place of dreams. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Sometimes you win, sometimes you learn. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat 15 has added support for the system-wide dark mode. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The reason why a great man is great is that he resolves to be a great man. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Sometimes you win, sometimes you learn. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A query is used to extract data from the database in a readable format according to the user\'s request.', 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Remember that failure is an event, not a person. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Synchronize to Database function will give you a full picture of all database differences. If the plan doesn’t work, change the plan, but never the goal. Difficult circumstances serve as a textbook of life for people. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Typically, it is employed as an encrypted version of Telnet. I destroy my enemies when I make them my friends. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man’s best friends are his ten fingers. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I will greet this day with love in my heart. To connect to a database or schema, simply double-click it in the pane. All journeys have secret destinations of which the traveler is unaware. Creativity is intelligence having fun. The Synchronize to Database function will give you a full picture of all database differences. I may not have gone where I intended to go, but I think I have ended up where I needed to be. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Optimism is the one quality more associated with success and happiness than any other. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If it scares you, it might be a good thing to try. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If the plan doesn’t work, change the plan, but never the goal. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The reason why a great man is great is that he resolves to be a great man. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. Genius is an infinite capacity for taking pains. Anyone who has never made a mistake has never tried anything new. Difficult circumstances serve as a textbook of life for people. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If opportunity doesn’t knock, build a door. If it scares you, it might be a good thing to try. A comfort zone is a beautiful place, but nothing ever grows there. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I will greet this day with love in my heart. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Synchronize to Database function will give you a full picture of all database differences.', NULL, 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('189', 'C:\\Users\\Administrator\\Pictures\\img_395748.png', 'F0F7t', NULL, NULL, 'rXh28Tx18f', '243 Edward Ave, Braunstone Town', NULL, '2021-09-20 13:48:40', '2006-02-22 10:16:38', 31.6020, 'I destroy my enemies when I make them my friends. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You will succeed because most people are lazy. A query is used to extract data from the database in a readable format according to the user\'s request. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Optimism is the one quality more associated with success and happiness than any other. The On Startup feature allows you to control what tabs appear when you launch Navicat. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You cannot save people, you can just love them. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat 15 has added support for the system-wide dark mode. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I destroy my enemies when I make them my friends. Anyone who has never made a mistake has never tried anything new. Remember that failure is an event, not a person. It wasn’t raining when Noah built the ark. Sometimes you win, sometimes you learn. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat 15 has added support for the system-wide dark mode. Creativity is intelligence having fun. The reason why a great man is great is that he resolves to be a great man. You will succeed because most people are lazy. You will succeed because most people are lazy. The On Startup feature allows you to control what tabs appear when you launch Navicat. Sometimes you win, sometimes you learn. The On Startup feature allows you to control what tabs appear when you launch Navicat. Typically, it is employed as an encrypted version of Telnet. Anyone who has ever made anything of importance was disciplined. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Synchronize to Database function will give you a full picture of all database differences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If opportunity doesn’t knock, build a door. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The reason why a great man is great is that he resolves to be a great man. In the middle of winter I at last discovered that there was in me an invincible summer. Typically, it is employed as an encrypted version of Telnet. Creativity is intelligence having fun. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Difficult circumstances serve as a textbook of life for people. The reason why a great man is great is that he resolves to be a great man. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. There is no way to happiness. Happiness is the way. Creativity is intelligence having fun. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I will greet this day with love in my heart. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. What you get by achieving your goals is not as important as what you become by achieving your goals. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has never made a mistake has never tried anything new. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I will greet this day with love in my heart. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Synchronize to Database function will give you a full picture of all database differences. The reason why a great man is great is that he resolves to be a great man. If opportunity doesn’t knock, build a door.', 'I destroy my enemies when I make them my friends. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat 15 has added support for the system-wide dark mode. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Difficult circumstances serve as a textbook of life for people. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has never made a mistake has never tried anything new. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A man’s best friends are his ten fingers. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If it scares you, it might be a good thing to try. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The first step is as good as half over. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has never made a mistake has never tried anything new. The past has no power over the present moment. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If it scares you, it might be a good thing to try. You cannot save people, you can just love them. If opportunity doesn’t knock, build a door. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.', NULL, 'It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. All journeys have secret destinations of which the traveler is unaware. In the middle of winter I at last discovered that there was in me an invincible summer. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Remember that failure is an event, not a person. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I will greet this day with love in my heart. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Creativity is intelligence having fun. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If it scares you, it might be a good thing to try. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Typically, it is employed as an encrypted version of Telnet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has never made a mistake has never tried anything new. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. Optimism is the one quality more associated with success and happiness than any other. If opportunity doesn’t knock, build a door. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('19', '/Users/Administrator/Pictures/img_776284.jpg', 'JD1WD', NULL, NULL, 'uF1CdySNSM', '301 West Market Street', NULL, '2021-07-02 11:44:45', '2012-07-30 11:41:31', 436.4049, 'Success consists of going from failure to failure without loss of enthusiasm. There is no way to happiness. Happiness is the way. What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Flexible settings enable you to set up a custom key for comparison and synchronization. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Champions keep playing until they get it right. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All journeys have secret destinations of which the traveler is unaware. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. How we spend our days is, of course, how we spend our lives. The On Startup feature allows you to control what tabs appear when you launch Navicat. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man’s best friends are his ten fingers. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If it scares you, it might be a good thing to try. Genius is an infinite capacity for taking pains. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Difficult circumstances serve as a textbook of life for people. The Synchronize to Database function will give you a full picture of all database differences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Difficult circumstances serve as a textbook of life for people. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', 'SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Success consists of going from failure to failure without loss of enthusiasm. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The past has no power over the present moment. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Anyone who has never made a mistake has never tried anything new. Difficult circumstances serve as a textbook of life for people. If opportunity doesn’t knock, build a door. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In the middle of winter I at last discovered that there was in me an invincible summer. A query is used to extract data from the database in a readable format according to the user\'s request. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All journeys have secret destinations of which the traveler is unaware. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. All journeys have secret destinations of which the traveler is unaware. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Sometimes you win, sometimes you learn. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Optimism is the one quality more associated with success and happiness than any other. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It wasn’t raining when Noah built the ark. I will greet this day with love in my heart. All journeys have secret destinations of which the traveler is unaware. The reason why a great man is great is that he resolves to be a great man. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Champions keep playing until they get it right. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Optimism is the one quality more associated with success and happiness than any other. Creativity is intelligence having fun. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If opportunity doesn’t knock, build a door. A comfort zone is a beautiful place, but nothing ever grows there. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.', NULL, 'I will greet this day with love in my heart. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You must be the change you wish to see in the world. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If you wait, all that happens is you get older. Navicat 15 has added support for the system-wide dark mode. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I may not have gone where I intended to go, but I think I have ended up where I needed to be. How we spend our days is, of course, how we spend our lives. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All journeys have secret destinations of which the traveler is unaware. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. Remember that failure is an event, not a person. Success consists of going from failure to failure without loss of enthusiasm. To connect to a database or schema, simply double-click it in the pane. Difficult circumstances serve as a textbook of life for people. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I will greet this day with love in my heart. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If opportunity doesn’t knock, build a door. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The On Startup feature allows you to control what tabs appear when you launch Navicat. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has never made a mistake has never tried anything new. Typically, it is employed as an encrypted version of Telnet. If you wait, all that happens is you get older. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In the middle of winter I at last discovered that there was in me an invincible summer. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If you wait, all that happens is you get older. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Optimism is the one quality more associated with success and happiness than any other. If it scares you, it might be a good thing to try. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A query is used to extract data from the database in a readable format according to the user\'s request. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A query is used to extract data from the database in a readable format according to the user\'s request. A man’s best friends are his ten fingers. Navicat 15 has added support for the system-wide dark mode. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Synchronize to Database function will give you a full picture of all database differences. Genius is an infinite capacity for taking pains. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the plan doesn’t work, change the plan, but never the goal. Success consists of going from failure to failure without loss of enthusiasm. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Sometimes you win, sometimes you learn. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Creativity is intelligence having fun. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('190', 'C:\\Users\\Administrator\\Pictures\\img_170990.png', '0IGqK', NULL, NULL, '3SUvRb48rM', '567 Papworth Rd, Trumpington', NULL, '2024-04-11 19:17:15', '2001-09-25 07:14:27', 899.1847, 'Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. All journeys have secret destinations of which the traveler is unaware. If opportunity doesn’t knock, build a door. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Creativity is intelligence having fun. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A query is used to extract data from the database in a readable format according to the user\'s request. I will greet this day with love in my heart. Genius is an infinite capacity for taking pains. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. There is no way to happiness. Happiness is the way. If you wait, all that happens is you get older. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It wasn’t raining when Noah built the ark. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.', 'Success consists of going from failure to failure without loss of enthusiasm. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The past has no power over the present moment. The Synchronize to Database function will give you a full picture of all database differences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat 15 has added support for the system-wide dark mode. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Sometimes you win, sometimes you learn. Genius is an infinite capacity for taking pains. All journeys have secret destinations of which the traveler is unaware. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer.', NULL, 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All journeys have secret destinations of which the traveler is unaware. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Creativity is intelligence having fun. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Anyone who has never made a mistake has never tried anything new. If opportunity doesn’t knock, build a door. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Creativity is intelligence having fun. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat 15 has added support for the system-wide dark mode. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You cannot save people, you can just love them. Genius is an infinite capacity for taking pains. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I destroy my enemies when I make them my friends. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The past has no power over the present moment. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The past has no power over the present moment. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The On Startup feature allows you to control what tabs appear when you launch Navicat. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Remember that failure is an event, not a person. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Creativity is intelligence having fun. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Difficult circumstances serve as a textbook of life for people. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. All journeys have secret destinations of which the traveler is unaware. All journeys have secret destinations of which the traveler is unaware. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has ever made anything of importance was disciplined. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To connect to a database or schema, simply double-click it in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I will greet this day with love in my heart. Creativity is intelligence having fun. You must be the change you wish to see in the world. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A man is not old until regrets take the place of dreams. Optimism is the one quality more associated with success and happiness than any other. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('191', '/Users/Administrator/Pictures/img_575173.jpg', 'e7V4F', NULL, NULL, 'hbfDaPNhnk', '221 FuXingMenNei Street, XiCheng District', NULL, '2020-07-24 07:09:03', '2003-03-28 03:24:30', 481.2342, 'The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. What you get by achieving your goals is not as important as what you become by achieving your goals. To connect to a database or schema, simply double-click it in the pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You must be the change you wish to see in the world. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Creativity is intelligence having fun. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Sometimes you win, sometimes you learn. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man’s best friends are his ten fingers. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I will greet this day with love in my heart. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. There is no way to happiness. Happiness is the way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has never made a mistake has never tried anything new. If opportunity doesn’t knock, build a door. In the middle of winter I at last discovered that there was in me an invincible summer. Remember that failure is an event, not a person. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It wasn’t raining when Noah built the ark. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has never made a mistake has never tried anything new. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. I destroy my enemies when I make them my friends. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the middle of winter I at last discovered that there was in me an invincible summer. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To connect to a database or schema, simply double-click it in the pane. You cannot save people, you can just love them. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man is not old until regrets take the place of dreams. The On Startup feature allows you to control what tabs appear when you launch Navicat. I will greet this day with love in my heart. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. How we spend our days is, of course, how we spend our lives. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Creativity is intelligence having fun. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Flexible settings enable you to set up a custom key for comparison and synchronization. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I will greet this day with love in my heart. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.', 'SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If opportunity doesn’t knock, build a door. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Success consists of going from failure to failure without loss of enthusiasm. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The past has no power over the present moment. Success consists of going from failure to failure without loss of enthusiasm. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has never made a mistake has never tried anything new. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All journeys have secret destinations of which the traveler is unaware. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Success consists of going from failure to failure without loss of enthusiasm. If it scares you, it might be a good thing to try. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If you wait, all that happens is you get older. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Typically, it is employed as an encrypted version of Telnet. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Flexible settings enable you to set up a custom key for comparison and synchronization. Creativity is intelligence having fun. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A man’s best friends are his ten fingers. How we spend our days is, of course, how we spend our lives. Sometimes you win, sometimes you learn. The past has no power over the present moment. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man’s best friends are his ten fingers. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Difficult circumstances serve as a textbook of life for people. You must be the change you wish to see in the world. A man is not old until regrets take the place of dreams. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over.', NULL, 'Sometimes you win, sometimes you learn. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has ever made anything of importance was disciplined. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You will succeed because most people are lazy. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Creativity is intelligence having fun. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The On Startup feature allows you to control what tabs appear when you launch Navicat. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In the middle of winter I at last discovered that there was in me an invincible summer. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You must be the change you wish to see in the world. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has ever made anything of importance was disciplined. You will succeed because most people are lazy. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The reason why a great man is great is that he resolves to be a great man. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. What you get by achieving your goals is not as important as what you become by achieving your goals.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('192', '/home/Administrator/Pictures/img_047136.jpg', '0qzJ9', NULL, NULL, 'dM0NWWBHDL', '5-4-1 Kikusui 3 Jo, Shiroishi Ward,', NULL, '2023-09-22 19:21:15', '2020-06-09 10:31:18', 719.6537, 'HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Champions keep playing until they get it right. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. Flexible settings enable you to set up a custom key for comparison and synchronization. Typically, it is employed as an encrypted version of Telnet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A man is not old until regrets take the place of dreams. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. How we spend our days is, of course, how we spend our lives. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A man’s best friends are his ten fingers. The past has no power over the present moment. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The reason why a great man is great is that he resolves to be a great man. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If you wait, all that happens is you get older. What you get by achieving your goals is not as important as what you become by achieving your goals. Champions keep playing until they get it right. You must be the change you wish to see in the world. Sometimes you win, sometimes you learn. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. There is no way to happiness. Happiness is the way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man is not old until regrets take the place of dreams. To connect to a database or schema, simply double-click it in the pane. The past has no power over the present moment. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.', 'Sometimes you win, sometimes you learn. If you wait, all that happens is you get older. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To connect to a database or schema, simply double-click it in the pane. You will succeed because most people are lazy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. There is no way to happiness. Happiness is the way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Champions keep playing until they get it right. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If it scares you, it might be a good thing to try. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You will succeed because most people are lazy. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Genius is an infinite capacity for taking pains. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Optimism is the one quality more associated with success and happiness than any other. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You must be the change you wish to see in the world. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You must be the change you wish to see in the world. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The past has no power over the present moment. Optimism is the one quality more associated with success and happiness than any other. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Genius is an infinite capacity for taking pains. There is no way to happiness. Happiness is the way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The first step is as good as half over. Genius is an infinite capacity for taking pains. Anyone who has never made a mistake has never tried anything new. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The reason why a great man is great is that he resolves to be a great man. A query is used to extract data from the database in a readable format according to the user\'s request. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man’s best friends are his ten fingers. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The reason why a great man is great is that he resolves to be a great man. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It wasn’t raining when Noah built the ark. Flexible settings enable you to set up a custom key for comparison and synchronization. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A comfort zone is a beautiful place, but nothing ever grows there. Success consists of going from failure to failure without loss of enthusiasm. The On Startup feature allows you to control what tabs appear when you launch Navicat. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Synchronize to Database function will give you a full picture of all database differences. Optimism is the one quality more associated with success and happiness than any other. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet.', NULL, 'The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. Flexible settings enable you to set up a custom key for comparison and synchronization. There is no way to happiness. Happiness is the way. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Champions keep playing until they get it right. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the plan doesn’t work, change the plan, but never the goal. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has never made a mistake has never tried anything new. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. The reason why a great man is great is that he resolves to be a great man. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Flexible settings enable you to set up a custom key for comparison and synchronization. Sometimes you win, sometimes you learn. Anyone who has ever made anything of importance was disciplined. Typically, it is employed as an encrypted version of Telnet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To connect to a database or schema, simply double-click it in the pane. A comfort zone is a beautiful place, but nothing ever grows there. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has ever made anything of importance was disciplined. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. To connect to a database or schema, simply double-click it in the pane. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat 15 has added support for the system-wide dark mode. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. You must be the change you wish to see in the world. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A comfort zone is a beautiful place, but nothing ever grows there. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The past has no power over the present moment. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You cannot save people, you can just love them. Typically, it is employed as an encrypted version of Telnet. What you get by achieving your goals is not as important as what you become by achieving your goals. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. Remember that failure is an event, not a person. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('193', '/home/Administrator/Pictures/img_473362.png', '58AL7', NULL, NULL, 'wMD8FcbJs6', '311 Maddox Street', NULL, '2022-12-07 18:59:10', '2017-07-09 12:03:55', 50.9067, 'It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. There is no way to happiness. Happiness is the way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To connect to a database or schema, simply double-click it in the pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Success consists of going from failure to failure without loss of enthusiasm. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. What you get by achieving your goals is not as important as what you become by achieving your goals. The Synchronize to Database function will give you a full picture of all database differences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Genius is an infinite capacity for taking pains. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. All journeys have secret destinations of which the traveler is unaware. How we spend our days is, of course, how we spend our lives. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A man is not old until regrets take the place of dreams. The On Startup feature allows you to control what tabs appear when you launch Navicat. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The On Startup feature allows you to control what tabs appear when you launch Navicat. To connect to a database or schema, simply double-click it in the pane. A comfort zone is a beautiful place, but nothing ever grows there. You must be the change you wish to see in the world. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To connect to a database or schema, simply double-click it in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Synchronize to Database function will give you a full picture of all database differences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. The On Startup feature allows you to control what tabs appear when you launch Navicat. You must be the change you wish to see in the world. You will succeed because most people are lazy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Creativity is intelligence having fun.', 'Navicat 15 has added support for the system-wide dark mode. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You cannot save people, you can just love them. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You will succeed because most people are lazy. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. There is no way to happiness. Happiness is the way. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Difficult circumstances serve as a textbook of life for people. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Success consists of going from failure to failure without loss of enthusiasm. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A man’s best friends are his ten fingers. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man’s best friends are his ten fingers. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I will greet this day with love in my heart. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. There is no way to happiness. Happiness is the way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor requires a repository to store alerts and metrics for historical analysis.', NULL, 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You will succeed because most people are lazy. Anyone who has ever made anything of importance was disciplined. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The reason why a great man is great is that he resolves to be a great man. You cannot save people, you can just love them. You must be the change you wish to see in the world. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Remember that failure is an event, not a person. Success consists of going from failure to failure without loss of enthusiasm. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You cannot save people, you can just love them. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. You will succeed because most people are lazy. Remember that failure is an event, not a person. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All journeys have secret destinations of which the traveler is unaware. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Remember that failure is an event, not a person. Optimism is the one quality more associated with success and happiness than any other. To connect to a database or schema, simply double-click it in the pane. The past has no power over the present moment. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has ever made anything of importance was disciplined. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You will succeed because most people are lazy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Success consists of going from failure to failure without loss of enthusiasm.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('194', 'C:\\Users\\Administrator\\Pictures\\img_012204.png', 'XVJ7d', NULL, NULL, '3VgWxqB9OU', '774 Park End St', NULL, '2020-12-07 15:43:27', '2007-09-05 18:46:08', 686.3530, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If you wait, all that happens is you get older. You must be the change you wish to see in the world. I will greet this day with love in my heart. Typically, it is employed as an encrypted version of Telnet. It wasn’t raining when Noah built the ark. Remember that failure is an event, not a person. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If it scares you, it might be a good thing to try. All journeys have secret destinations of which the traveler is unaware. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. How we spend our days is, of course, how we spend our lives. Optimism is the one quality more associated with success and happiness than any other. If the plan doesn’t work, change the plan, but never the goal. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Synchronize to Database function will give you a full picture of all database differences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I destroy my enemies when I make them my friends. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Success consists of going from failure to failure without loss of enthusiasm. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The first step is as good as half over. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', 'What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has never made a mistake has never tried anything new. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. There is no way to happiness. Happiness is the way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Synchronize to Database function will give you a full picture of all database differences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. Sometimes you win, sometimes you learn. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. I destroy my enemies when I make them my friends. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Optimism is the one quality more associated with success and happiness than any other. If it scares you, it might be a good thing to try. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. How we spend our days is, of course, how we spend our lives. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To connect to a database or schema, simply double-click it in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Difficult circumstances serve as a textbook of life for people. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window.', NULL, 'The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. How we spend our days is, of course, how we spend our lives. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I will greet this day with love in my heart. Navicat 15 has added support for the system-wide dark mode. If it scares you, it might be a good thing to try. If the plan doesn’t work, change the plan, but never the goal. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('195', '/home/Administrator/Pictures/img_494290.png', 'oMdv5', NULL, NULL, 'yRTnVYxif4', '40 Jianxiang Rd, Pudong', NULL, '2024-01-03 13:03:26', '2021-12-03 16:53:49', 943.2973, 'It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If it scares you, it might be a good thing to try. It wasn’t raining when Noah built the ark. What you get by achieving your goals is not as important as what you become by achieving your goals. If it scares you, it might be a good thing to try. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. All journeys have secret destinations of which the traveler is unaware. You cannot save people, you can just love them. Anyone who has ever made anything of importance was disciplined.', 'After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Difficult circumstances serve as a textbook of life for people. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Optimism is the one quality more associated with success and happiness than any other. If the plan doesn’t work, change the plan, but never the goal. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. It wasn’t raining when Noah built the ark. Success consists of going from failure to failure without loss of enthusiasm. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A comfort zone is a beautiful place, but nothing ever grows there. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Difficult circumstances serve as a textbook of life for people. Champions keep playing until they get it right. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The past has no power over the present moment. Navicat 15 has added support for the system-wide dark mode. A query is used to extract data from the database in a readable format according to the user\'s request. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. Difficult circumstances serve as a textbook of life for people. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I destroy my enemies when I make them my friends. Sometimes you win, sometimes you learn. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Remember that failure is an event, not a person. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The On Startup feature allows you to control what tabs appear when you launch Navicat. To connect to a database or schema, simply double-click it in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Creativity is intelligence having fun. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To connect to a database or schema, simply double-click it in the pane. If it scares you, it might be a good thing to try. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.', NULL, 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If opportunity doesn’t knock, build a door. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. What you get by achieving your goals is not as important as what you become by achieving your goals. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Champions keep playing until they get it right. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. What you get by achieving your goals is not as important as what you become by achieving your goals. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. All journeys have secret destinations of which the traveler is unaware. You will succeed because most people are lazy. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Anyone who has ever made anything of importance was disciplined. Sometimes you win, sometimes you learn. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I destroy my enemies when I make them my friends. Sometimes you win, sometimes you learn. Typically, it is employed as an encrypted version of Telnet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Genius is an infinite capacity for taking pains. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Success consists of going from failure to failure without loss of enthusiasm. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If opportunity doesn’t knock, build a door. Anyone who has never made a mistake has never tried anything new. Champions keep playing until they get it right. You will succeed because most people are lazy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It wasn’t raining when Noah built the ark. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. How we spend our days is, of course, how we spend our lives. To connect to a database or schema, simply double-click it in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You will succeed because most people are lazy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Genius is an infinite capacity for taking pains. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You must be the change you wish to see in the world. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Flexible settings enable you to set up a custom key for comparison and synchronization. A query is used to extract data from the database in a readable format according to the user\'s request. The Synchronize to Database function will give you a full picture of all database differences. A man is not old until regrets take the place of dreams. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Optimism is the one quality more associated with success and happiness than any other. Remember that failure is an event, not a person. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I may not have gone where I intended to go, but I think I have ended up where I needed to be. What you get by achieving your goals is not as important as what you become by achieving your goals. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You cannot save people, you can just love them. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('196', 'C:\\Users\\Administrator\\Pictures\\img_178937.png', 'XBsfd', NULL, NULL, 'b2JyuQZICY', '878 Bergen St', NULL, '2024-06-24 15:28:50', '2016-07-04 16:01:18', 660.7064, 'Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Remember that failure is an event, not a person. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. Remember that failure is an event, not a person. The past has no power over the present moment. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If opportunity doesn’t knock, build a door. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Optimism is the one quality more associated with success and happiness than any other. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. There is no way to happiness. Happiness is the way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The On Startup feature allows you to control what tabs appear when you launch Navicat. All journeys have secret destinations of which the traveler is unaware. Champions keep playing until they get it right. A man is not old until regrets take the place of dreams. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The past has no power over the present moment. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. All journeys have secret destinations of which the traveler is unaware. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Sometimes you win, sometimes you learn. A comfort zone is a beautiful place, but nothing ever grows there. Genius is an infinite capacity for taking pains. You cannot save people, you can just love them. There is no way to happiness. Happiness is the way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The past has no power over the present moment. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. What you get by achieving your goals is not as important as what you become by achieving your goals. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A comfort zone is a beautiful place, but nothing ever grows there. A comfort zone is a beautiful place, but nothing ever grows there. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat 15 has added support for the system-wide dark mode. Flexible settings enable you to set up a custom key for comparison and synchronization. The past has no power over the present moment. The first step is as good as half over. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Difficult circumstances serve as a textbook of life for people. I destroy my enemies when I make them my friends. There is no way to happiness. Happiness is the way. Remember that failure is an event, not a person. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The On Startup feature allows you to control what tabs appear when you launch Navicat. A query is used to extract data from the database in a readable format according to the user\'s request. Success consists of going from failure to failure without loss of enthusiasm. Navicat 15 has added support for the system-wide dark mode. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', 'A comfort zone is a beautiful place, but nothing ever grows there. The reason why a great man is great is that he resolves to be a great man. Creativity is intelligence having fun. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If opportunity doesn’t knock, build a door. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. A man’s best friends are his ten fingers. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The On Startup feature allows you to control what tabs appear when you launch Navicat. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I destroy my enemies when I make them my friends. Champions keep playing until they get it right. Navicat 15 has added support for the system-wide dark mode. Anyone who has never made a mistake has never tried anything new. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Typically, it is employed as an encrypted version of Telnet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I may not have gone where I intended to go, but I think I have ended up where I needed to be. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the plan doesn’t work, change the plan, but never the goal. A man is not old until regrets take the place of dreams. To connect to a database or schema, simply double-click it in the pane. Success consists of going from failure to failure without loss of enthusiasm.', NULL, 'Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To connect to a database or schema, simply double-click it in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. All journeys have secret destinations of which the traveler is unaware. The Synchronize to Database function will give you a full picture of all database differences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. Navicat 15 has added support for the system-wide dark mode. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Anyone who has never made a mistake has never tried anything new. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I destroy my enemies when I make them my friends. Navicat 15 has added support for the system-wide dark mode. In the middle of winter I at last discovered that there was in me an invincible summer. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Genius is an infinite capacity for taking pains.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('197', '/Users/Administrator/Pictures/img_901446.png', 'tyRB8', NULL, NULL, 'Oo3zMMKYYl', '1-5-18, Higashi-Shimbashi, Minato-ku', NULL, '2021-07-25 04:09:27', '2024-10-09 10:20:29', 641.7686, 'To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Optimism is the one quality more associated with success and happiness than any other. It wasn’t raining when Noah built the ark. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. Optimism is the one quality more associated with success and happiness than any other. How we spend our days is, of course, how we spend our lives. The On Startup feature allows you to control what tabs appear when you launch Navicat. Genius is an infinite capacity for taking pains. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', 'It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The On Startup feature allows you to control what tabs appear when you launch Navicat. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If it scares you, it might be a good thing to try. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The reason why a great man is great is that he resolves to be a great man. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. What you get by achieving your goals is not as important as what you become by achieving your goals. You cannot save people, you can just love them. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has never made a mistake has never tried anything new. To connect to a database or schema, simply double-click it in the pane. All journeys have secret destinations of which the traveler is unaware. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. How we spend our days is, of course, how we spend our lives. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I will greet this day with love in my heart. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I destroy my enemies when I make them my friends. Optimism is the one quality more associated with success and happiness than any other. If it scares you, it might be a good thing to try. All journeys have secret destinations of which the traveler is unaware. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Creativity is intelligence having fun. All journeys have secret destinations of which the traveler is unaware. The Synchronize to Database function will give you a full picture of all database differences. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The reason why a great man is great is that he resolves to be a great man. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You cannot save people, you can just love them. The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has never made a mistake has never tried anything new. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It wasn’t raining when Noah built the ark. A query is used to extract data from the database in a readable format according to the user\'s request. Genius is an infinite capacity for taking pains. Typically, it is employed as an encrypted version of Telnet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All journeys have secret destinations of which the traveler is unaware. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('198', '/Users/Administrator/Pictures/img_835779.png', '98LpC', NULL, NULL, 'IqvLlcfC84', '839 Maddox Street', NULL, '2022-11-26 07:20:03', '2019-12-17 03:05:38', 714.5393, 'Actually it is just in an idea when feel oneself can achieve and cannot achieve. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Success consists of going from failure to failure without loss of enthusiasm. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A query is used to extract data from the database in a readable format according to the user\'s request. I destroy my enemies when I make them my friends. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Synchronize to Database function will give you a full picture of all database differences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man is not old until regrets take the place of dreams. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Sometimes you win, sometimes you learn. You must be the change you wish to see in the world. Navicat 15 has added support for the system-wide dark mode. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Success consists of going from failure to failure without loss of enthusiasm. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Flexible settings enable you to set up a custom key for comparison and synchronization. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man is not old until regrets take the place of dreams. A man’s best friends are his ten fingers. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. How we spend our days is, of course, how we spend our lives. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Remember that failure is an event, not a person. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Anyone who has never made a mistake has never tried anything new. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man is not old until regrets take the place of dreams. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All journeys have secret destinations of which the traveler is unaware. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Typically, it is employed as an encrypted version of Telnet. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Success consists of going from failure to failure without loss of enthusiasm. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You must be the change you wish to see in the world. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The first step is as good as half over. Remember that failure is an event, not a person. A man is not old until regrets take the place of dreams. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A comfort zone is a beautiful place, but nothing ever grows there. What you get by achieving your goals is not as important as what you become by achieving your goals. If it scares you, it might be a good thing to try. A man is not old until regrets take the place of dreams. Champions keep playing until they get it right. A man’s best friends are his ten fingers. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', 'It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Champions keep playing until they get it right. If it scares you, it might be a good thing to try. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You cannot save people, you can just love them. To connect to a database or schema, simply double-click it in the pane. Creativity is intelligence having fun. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man’s best friends are his ten fingers. Optimism is the one quality more associated with success and happiness than any other. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more.', NULL, 'To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To connect to a database or schema, simply double-click it in the pane. You will succeed because most people are lazy. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man is not old until regrets take the place of dreams. The reason why a great man is great is that he resolves to be a great man. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('199', '/Users/Administrator/Pictures/img_029219.png', 'WMVx8', NULL, NULL, '56T61kwX4j', '5-2-15 Kikusui 3 Jo, Shiroishi Ward', NULL, '2021-03-05 03:21:35', '2018-08-18 09:01:59', 670.7281, 'Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It wasn’t raining when Noah built the ark. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It wasn’t raining when Noah built the ark. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I will greet this day with love in my heart. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The first step is as good as half over. I destroy my enemies when I make them my friends. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The first step is as good as half over. The past has no power over the present moment. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The first step is as good as half over. Champions keep playing until they get it right. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Flexible settings enable you to set up a custom key for comparison and synchronization. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Champions keep playing until they get it right. I destroy my enemies when I make them my friends. You cannot save people, you can just love them. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I will greet this day with love in my heart. Anyone who has never made a mistake has never tried anything new. If opportunity doesn’t knock, build a door. How we spend our days is, of course, how we spend our lives. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Flexible settings enable you to set up a custom key for comparison and synchronization. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The first step is as good as half over. You must be the change you wish to see in the world. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I may not have gone where I intended to go, but I think I have ended up where I needed to be. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. There is no way to happiness. Happiness is the way. To connect to a database or schema, simply double-click it in the pane. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. How we spend our days is, of course, how we spend our lives. What you get by achieving your goals is not as important as what you become by achieving your goals. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. What you get by achieving your goals is not as important as what you become by achieving your goals. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.', 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. You must be the change you wish to see in the world. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. How we spend our days is, of course, how we spend our lives. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Sometimes you win, sometimes you learn. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To connect to a database or schema, simply double-click it in the pane. Genius is an infinite capacity for taking pains. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The On Startup feature allows you to control what tabs appear when you launch Navicat. There is no way to happiness. Happiness is the way. The reason why a great man is great is that he resolves to be a great man. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Remember that failure is an event, not a person. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Success consists of going from failure to failure without loss of enthusiasm. Actually it is just in an idea when feel oneself can achieve and cannot achieve. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You must be the change you wish to see in the world. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A query is used to extract data from the database in a readable format according to the user\'s request. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If it scares you, it might be a good thing to try. Sometimes you win, sometimes you learn. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You cannot save people, you can just love them. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If opportunity doesn’t knock, build a door. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It wasn’t raining when Noah built the ark. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To connect to a database or schema, simply double-click it in the pane. How we spend our days is, of course, how we spend our lives. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Remember that failure is an event, not a person. Remember that failure is an event, not a person. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A comfort zone is a beautiful place, but nothing ever grows there. Navicat 15 has added support for the system-wide dark mode. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Creativity is intelligence having fun. If it scares you, it might be a good thing to try. Sometimes you win, sometimes you learn. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Optimism is the one quality more associated with success and happiness than any other. Remember that failure is an event, not a person. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.', NULL, 'After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In the middle of winter I at last discovered that there was in me an invincible summer. Remember that failure is an event, not a person. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Genius is an infinite capacity for taking pains. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. What you get by achieving your goals is not as important as what you become by achieving your goals. Champions keep playing until they get it right. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Anyone who has ever made anything of importance was disciplined. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Success consists of going from failure to failure without loss of enthusiasm. It wasn’t raining when Noah built the ark. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A comfort zone is a beautiful place, but nothing ever grows there. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. If it scares you, it might be a good thing to try. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If opportunity doesn’t knock, build a door. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If opportunity doesn’t knock, build a door. Sometimes you win, sometimes you learn. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man’s best friends are his ten fingers. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('2', '/home/Administrator/Pictures/img_876094.png', 'XDRQx', NULL, NULL, 'jeL84GVNtE', '231 Flatbush Ave', NULL, '2022-07-08 02:51:55', '2019-09-03 13:37:44', 969.2290, 'Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Optimism is the one quality more associated with success and happiness than any other. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If you wait, all that happens is you get older. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The first step is as good as half over. The first step is as good as half over. Champions keep playing until they get it right. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If opportunity doesn’t knock, build a door. Flexible settings enable you to set up a custom key for comparison and synchronization. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A man is not old until regrets take the place of dreams. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I will greet this day with love in my heart. You must be the change you wish to see in the world. There is no way to happiness. Happiness is the way. How we spend our days is, of course, how we spend our lives. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A comfort zone is a beautiful place, but nothing ever grows there. Optimism is the one quality more associated with success and happiness than any other. You will succeed because most people are lazy.', 'With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat 15 has added support for the system-wide dark mode. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I will greet this day with love in my heart. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You must be the change you wish to see in the world. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Flexible settings enable you to set up a custom key for comparison and synchronization. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Flexible settings enable you to set up a custom key for comparison and synchronization. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All journeys have secret destinations of which the traveler is unaware. Success consists of going from failure to failure without loss of enthusiasm. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. All journeys have secret destinations of which the traveler is unaware. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. How we spend our days is, of course, how we spend our lives. Genius is an infinite capacity for taking pains. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', NULL, 'What you get by achieving your goals is not as important as what you become by achieving your goals. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man is not old until regrets take the place of dreams. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man is not old until regrets take the place of dreams. It wasn’t raining when Noah built the ark. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. How we spend our days is, of course, how we spend our lives. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A comfort zone is a beautiful place, but nothing ever grows there. Optimism is the one quality more associated with success and happiness than any other. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To connect to a database or schema, simply double-click it in the pane. If the plan doesn’t work, change the plan, but never the goal. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Remember that failure is an event, not a person. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Typically, it is employed as an encrypted version of Telnet. Success consists of going from failure to failure without loss of enthusiasm. I will greet this day with love in my heart. Optimism is the one quality more associated with success and happiness than any other. The past has no power over the present moment. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If it scares you, it might be a good thing to try. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Synchronize to Database function will give you a full picture of all database differences. I destroy my enemies when I make them my friends. If you wait, all that happens is you get older. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If it scares you, it might be a good thing to try. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To connect to a database or schema, simply double-click it in the pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Flexible settings enable you to set up a custom key for comparison and synchronization. All journeys have secret destinations of which the traveler is unaware. The Synchronize to Database function will give you a full picture of all database differences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Anyone who has never made a mistake has never tried anything new. The On Startup feature allows you to control what tabs appear when you launch Navicat. Creativity is intelligence having fun. All journeys have secret destinations of which the traveler is unaware. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Champions keep playing until they get it right. The Synchronize to Database function will give you a full picture of all database differences. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. What you get by achieving your goals is not as important as what you become by achieving your goals. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If you wait, all that happens is you get older. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Success consists of going from failure to failure without loss of enthusiasm. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. The Synchronize to Database function will give you a full picture of all database differences. The past has no power over the present moment. It wasn’t raining when Noah built the ark. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Champions keep playing until they get it right. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The first step is as good as half over. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('20', 'C:\\Users\\Administrator\\Pictures\\img_967730.png', 'rkdyd', NULL, NULL, '5ytCKA6csx', '291 Lower Temple Street', NULL, '2023-10-30 22:22:18', '2021-11-17 19:53:26', 256.5348, 'If you wait, all that happens is you get older. Remember that failure is an event, not a person. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', 'To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You must be the change you wish to see in the world. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. All journeys have secret destinations of which the traveler is unaware. Creativity is intelligence having fun. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Synchronize to Database function will give you a full picture of all database differences. You must be the change you wish to see in the world. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All journeys have secret destinations of which the traveler is unaware. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I destroy my enemies when I make them my friends. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. There is no way to happiness. Happiness is the way. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Sometimes you win, sometimes you learn. Flexible settings enable you to set up a custom key for comparison and synchronization. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Genius is an infinite capacity for taking pains. There is no way to happiness. Happiness is the way. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You will succeed because most people are lazy. Sometimes you win, sometimes you learn. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The reason why a great man is great is that he resolves to be a great man. A query is used to extract data from the database in a readable format according to the user\'s request. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. How we spend our days is, of course, how we spend our lives. All journeys have secret destinations of which the traveler is unaware. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I will greet this day with love in my heart. The past has no power over the present moment. How we spend our days is, of course, how we spend our lives. To connect to a database or schema, simply double-click it in the pane. Success consists of going from failure to failure without loss of enthusiasm. The On Startup feature allows you to control what tabs appear when you launch Navicat. The reason why a great man is great is that he resolves to be a great man. Champions keep playing until they get it right. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The first step is as good as half over. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.', NULL, 'The first step is as good as half over. There is no way to happiness. Happiness is the way. Success consists of going from failure to failure without loss of enthusiasm. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Sometimes you win, sometimes you learn. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I will greet this day with love in my heart. To connect to a database or schema, simply double-click it in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I will greet this day with love in my heart. Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If you wait, all that happens is you get older. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I destroy my enemies when I make them my friends. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Flexible settings enable you to set up a custom key for comparison and synchronization. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The past has no power over the present moment. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man is not old until regrets take the place of dreams. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Flexible settings enable you to set up a custom key for comparison and synchronization. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('200', 'C:\\Users\\Administrator\\Pictures\\img_087151.jpg', 'yRhhh', NULL, NULL, '0lKufplZ5l', '509 Jianxiang Rd, Pudong', NULL, '2022-03-27 18:37:04', '2021-09-08 13:17:13', 848.5923, 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The reason why a great man is great is that he resolves to be a great man. Typically, it is employed as an encrypted version of Telnet. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Remember that failure is an event, not a person. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Creativity is intelligence having fun. There is no way to happiness. Happiness is the way. It wasn’t raining when Noah built the ark. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Champions keep playing until they get it right. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Synchronize to Database function will give you a full picture of all database differences. If the plan doesn’t work, change the plan, but never the goal. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat 15 has added support for the system-wide dark mode. A man’s best friends are his ten fingers. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Sometimes you win, sometimes you learn. You will succeed because most people are lazy. All journeys have secret destinations of which the traveler is unaware. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Optimism is the one quality more associated with success and happiness than any other. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. The On Startup feature allows you to control what tabs appear when you launch Navicat. If you wait, all that happens is you get older. Genius is an infinite capacity for taking pains. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat 15 has added support for the system-wide dark mode. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A query is used to extract data from the database in a readable format according to the user\'s request. I destroy my enemies when I make them my friends. I destroy my enemies when I make them my friends. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It wasn’t raining when Noah built the ark. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has never made a mistake has never tried anything new. Creativity is intelligence having fun. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the plan doesn’t work, change the plan, but never the goal. Flexible settings enable you to set up a custom key for comparison and synchronization. How we spend our days is, of course, how we spend our lives. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Optimism is the one quality more associated with success and happiness than any other. Anyone who has never made a mistake has never tried anything new. If opportunity doesn’t knock, build a door. Difficult circumstances serve as a textbook of life for people. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It wasn’t raining when Noah built the ark.', 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A query is used to extract data from the database in a readable format according to the user\'s request. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I destroy my enemies when I make them my friends. A man’s best friends are his ten fingers. Creativity is intelligence having fun. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The past has no power over the present moment. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. There is no way to happiness. Happiness is the way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Flexible settings enable you to set up a custom key for comparison and synchronization. The Synchronize to Database function will give you a full picture of all database differences. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. I destroy my enemies when I make them my friends. If it scares you, it might be a good thing to try. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', NULL, 'Champions keep playing until they get it right. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You cannot save people, you can just love them. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat 15 has added support for the system-wide dark mode. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The On Startup feature allows you to control what tabs appear when you launch Navicat. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the middle of winter I at last discovered that there was in me an invincible summer. What you get by achieving your goals is not as important as what you become by achieving your goals. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. Difficult circumstances serve as a textbook of life for people. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To connect to a database or schema, simply double-click it in the pane. Anyone who has never made a mistake has never tried anything new. The Synchronize to Database function will give you a full picture of all database differences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Sometimes you win, sometimes you learn. Champions keep playing until they get it right. Sometimes you win, sometimes you learn. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Success consists of going from failure to failure without loss of enthusiasm. Sometimes you win, sometimes you learn. Anyone who has never made a mistake has never tried anything new.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('21', '/home/Administrator/Pictures/img_938493.png', 'sW7l3', NULL, NULL, 'zEuXXHTHVK', '512 Collier Road', NULL, '2023-01-16 21:57:24', '2014-08-30 03:57:06', 352.2536, 'If opportunity doesn’t knock, build a door. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I will greet this day with love in my heart. All journeys have secret destinations of which the traveler is unaware. If the plan doesn’t work, change the plan, but never the goal. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The On Startup feature allows you to control what tabs appear when you launch Navicat. You will succeed because most people are lazy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Success consists of going from failure to failure without loss of enthusiasm. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Sometimes you win, sometimes you learn. Anyone who has never made a mistake has never tried anything new. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You must be the change you wish to see in the world. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A man is not old until regrets take the place of dreams. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', 'There is no way to happiness. Happiness is the way. Champions keep playing until they get it right. I will greet this day with love in my heart. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has ever made anything of importance was disciplined. Difficult circumstances serve as a textbook of life for people. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You will succeed because most people are lazy. A man is not old until regrets take the place of dreams. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Flexible settings enable you to set up a custom key for comparison and synchronization. The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. Navicat 15 has added support for the system-wide dark mode. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You will succeed because most people are lazy. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat 15 has added support for the system-wide dark mode. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man is not old until regrets take the place of dreams. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Creativity is intelligence having fun. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Typically, it is employed as an encrypted version of Telnet. You cannot save people, you can just love them. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If it scares you, it might be a good thing to try. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You cannot save people, you can just love them. Navicat 15 has added support for the system-wide dark mode. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.', NULL, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You must be the change you wish to see in the world. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The first step is as good as half over. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If it scares you, it might be a good thing to try. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Typically, it is employed as an encrypted version of Telnet. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man is not old until regrets take the place of dreams. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Success consists of going from failure to failure without loss of enthusiasm. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It wasn’t raining when Noah built the ark. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat 15 has added support for the system-wide dark mode. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I may not have gone where I intended to go, but I think I have ended up where I needed to be. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Creativity is intelligence having fun. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The reason why a great man is great is that he resolves to be a great man. If opportunity doesn’t knock, build a door. A man’s best friends are his ten fingers. Sometimes you win, sometimes you learn. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To connect to a database or schema, simply double-click it in the pane. All journeys have secret destinations of which the traveler is unaware. A query is used to extract data from the database in a readable format according to the user\'s request. If you wait, all that happens is you get older. The first step is as good as half over. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Remember that failure is an event, not a person. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Difficult circumstances serve as a textbook of life for people. All journeys have secret destinations of which the traveler is unaware. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Success consists of going from failure to failure without loss of enthusiasm. All journeys have secret destinations of which the traveler is unaware. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Remember that failure is an event, not a person. You must be the change you wish to see in the world. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('22', '/Users/Administrator/Pictures/img_362891.png', 'pdKRi', NULL, NULL, 'veTYf6fymv', '202 Binchuan Rd, Minhang District', NULL, '2022-07-23 21:30:39', '2010-08-30 11:45:28', 112.6764, 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It wasn’t raining when Noah built the ark. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.', 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man is not old until regrets take the place of dreams. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Remember that failure is an event, not a person. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat 15 has added support for the system-wide dark mode. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Success consists of going from failure to failure without loss of enthusiasm. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Sometimes you win, sometimes you learn. Navicat 15 has added support for the system-wide dark mode. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Remember that failure is an event, not a person. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The reason why a great man is great is that he resolves to be a great man. You will succeed because most people are lazy. A man is not old until regrets take the place of dreams. I will greet this day with love in my heart. What you get by achieving your goals is not as important as what you become by achieving your goals. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Typically, it is employed as an encrypted version of Telnet. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Remember that failure is an event, not a person. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A man’s best friends are his ten fingers. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You will succeed because most people are lazy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Genius is an infinite capacity for taking pains. If opportunity doesn’t knock, build a door. To connect to a database or schema, simply double-click it in the pane. I will greet this day with love in my heart. I destroy my enemies when I make them my friends. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To connect to a database or schema, simply double-click it in the pane. You will succeed because most people are lazy. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The past has no power over the present moment. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Remember that failure is an event, not a person. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', NULL, 'It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the plan doesn’t work, change the plan, but never the goal. Actually it is just in an idea when feel oneself can achieve and cannot achieve. There is no way to happiness. Happiness is the way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To connect to a database or schema, simply double-click it in the pane. Champions keep playing until they get it right. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You will succeed because most people are lazy. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I will greet this day with love in my heart. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Optimism is the one quality more associated with success and happiness than any other. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If you wait, all that happens is you get older. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. How we spend our days is, of course, how we spend our lives. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Remember that failure is an event, not a person. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Difficult circumstances serve as a textbook of life for people. I will greet this day with love in my heart. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man is not old until regrets take the place of dreams. Sometimes you win, sometimes you learn. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Genius is an infinite capacity for taking pains. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. All journeys have secret destinations of which the traveler is unaware. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If it scares you, it might be a good thing to try. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('23', '/home/Administrator/Pictures/img_542003.png', 'WeeKo', NULL, NULL, 'YbDSiQnCja', '73 Cyril St, Braunstone Town', NULL, '2022-05-10 19:41:31', '2008-01-10 14:22:01', 442.9899, 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat 15 has added support for the system-wide dark mode. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. There is no way to happiness. Happiness is the way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The reason why a great man is great is that he resolves to be a great man. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Optimism is the one quality more associated with success and happiness than any other. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Synchronize to Database function will give you a full picture of all database differences. The On Startup feature allows you to control what tabs appear when you launch Navicat. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. There is no way to happiness. Happiness is the way. How we spend our days is, of course, how we spend our lives. There is no way to happiness. Happiness is the way. It wasn’t raining when Noah built the ark. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man’s best friends are his ten fingers. Flexible settings enable you to set up a custom key for comparison and synchronization. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The first step is as good as half over. You must be the change you wish to see in the world. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Sometimes you win, sometimes you learn. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I destroy my enemies when I make them my friends. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Success consists of going from failure to failure without loss of enthusiasm. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man is not old until regrets take the place of dreams. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You cannot save people, you can just love them. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.', 'If opportunity doesn’t knock, build a door. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat 15 has added support for the system-wide dark mode. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I will greet this day with love in my heart. I destroy my enemies when I make them my friends.', NULL, 'It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If you wait, all that happens is you get older. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If you wait, all that happens is you get older. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I destroy my enemies when I make them my friends. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. A comfort zone is a beautiful place, but nothing ever grows there. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Optimism is the one quality more associated with success and happiness than any other. It wasn’t raining when Noah built the ark. If it scares you, it might be a good thing to try. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Difficult circumstances serve as a textbook of life for people. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Anyone who has never made a mistake has never tried anything new. Champions keep playing until they get it right. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A query is used to extract data from the database in a readable format according to the user\'s request. The Synchronize to Database function will give you a full picture of all database differences. Success consists of going from failure to failure without loss of enthusiasm. What you get by achieving your goals is not as important as what you become by achieving your goals. If opportunity doesn’t knock, build a door. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('24', '/home/Administrator/Pictures/img_837692.png', 'offDv', NULL, NULL, '23bA3ohmv6', '983 Whitehouse Lane, Huntingdon Rd', NULL, '2023-08-24 14:41:46', '2005-02-24 19:37:14', 255.5603, 'What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has never made a mistake has never tried anything new. A man’s best friends are his ten fingers. If you wait, all that happens is you get older. You must be the change you wish to see in the world. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Flexible settings enable you to set up a custom key for comparison and synchronization. Sometimes you win, sometimes you learn. A query is used to extract data from the database in a readable format according to the user\'s request. If it scares you, it might be a good thing to try. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The first step is as good as half over. In the middle of winter I at last discovered that there was in me an invincible summer. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. A query is used to extract data from the database in a readable format according to the user\'s request. To connect to a database or schema, simply double-click it in the pane. The reason why a great man is great is that he resolves to be a great man. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You must be the change you wish to see in the world. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Flexible settings enable you to set up a custom key for comparison and synchronization. The first step is as good as half over. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A man is not old until regrets take the place of dreams. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If it scares you, it might be a good thing to try. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. The past has no power over the present moment. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It wasn’t raining when Noah built the ark. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All journeys have secret destinations of which the traveler is unaware. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You must be the change you wish to see in the world.', 'You will succeed because most people are lazy. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Typically, it is employed as an encrypted version of Telnet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You cannot save people, you can just love them. The reason why a great man is great is that he resolves to be a great man. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Champions keep playing until they get it right. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You cannot save people, you can just love them. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It wasn’t raining when Noah built the ark. It wasn’t raining when Noah built the ark. Sometimes you win, sometimes you learn. I will greet this day with love in my heart. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. There is no way to happiness. Happiness is the way. There is no way to happiness. Happiness is the way. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Flexible settings enable you to set up a custom key for comparison and synchronization. A query is used to extract data from the database in a readable format according to the user\'s request. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A comfort zone is a beautiful place, but nothing ever grows there. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Typically, it is employed as an encrypted version of Telnet. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Sometimes you win, sometimes you learn. The first step is as good as half over. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To connect to a database or schema, simply double-click it in the pane. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.', NULL, 'The past has no power over the present moment. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The past has no power over the present moment. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I destroy my enemies when I make them my friends. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('25', '/home/Administrator/Pictures/img_908875.jpg', 'T0dq1', NULL, NULL, 'pWwlaDZlPA', '750 Diplomacy Drive', NULL, '2022-08-30 12:19:44', '2008-12-08 00:54:41', 465.8832, 'Success consists of going from failure to failure without loss of enthusiasm. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To connect to a database or schema, simply double-click it in the pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Remember that failure is an event, not a person. Typically, it is employed as an encrypted version of Telnet. Sometimes you win, sometimes you learn. The On Startup feature allows you to control what tabs appear when you launch Navicat. Optimism is the one quality more associated with success and happiness than any other. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All journeys have secret destinations of which the traveler is unaware. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The On Startup feature allows you to control what tabs appear when you launch Navicat. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The On Startup feature allows you to control what tabs appear when you launch Navicat. I will greet this day with love in my heart. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Typically, it is employed as an encrypted version of Telnet. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Flexible settings enable you to set up a custom key for comparison and synchronization. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I will greet this day with love in my heart. Champions keep playing until they get it right. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A query is used to extract data from the database in a readable format according to the user\'s request. Typically, it is employed as an encrypted version of Telnet. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. How we spend our days is, of course, how we spend our lives. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The reason why a great man is great is that he resolves to be a great man. It wasn’t raining when Noah built the ark. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'If opportunity doesn’t knock, build a door. If you wait, all that happens is you get older. Creativity is intelligence having fun. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A query is used to extract data from the database in a readable format according to the user\'s request. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences.', NULL, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A comfort zone is a beautiful place, but nothing ever grows there. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If it scares you, it might be a good thing to try. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('26', '/home/Administrator/Pictures/img_210364.png', '5pdDX', NULL, NULL, 'necoIbD6nY', '301 Edward Ave, Braunstone Town', NULL, '2022-04-03 17:47:00', '2010-08-05 20:20:00', 793.6031, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man’s best friends are his ten fingers. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If it scares you, it might be a good thing to try. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. How we spend our days is, of course, how we spend our lives. If you wait, all that happens is you get older. If opportunity doesn’t knock, build a door. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It wasn’t raining when Noah built the ark. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All journeys have secret destinations of which the traveler is unaware. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A query is used to extract data from the database in a readable format according to the user\'s request. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The On Startup feature allows you to control what tabs appear when you launch Navicat. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I will greet this day with love in my heart. Creativity is intelligence having fun. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You cannot save people, you can just love them. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A man is not old until regrets take the place of dreams. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All journeys have secret destinations of which the traveler is unaware. Success consists of going from failure to failure without loss of enthusiasm. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the plan doesn’t work, change the plan, but never the goal. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You must be the change you wish to see in the world. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If you wait, all that happens is you get older. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Remember that failure is an event, not a person. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In the middle of winter I at last discovered that there was in me an invincible summer. Champions keep playing until they get it right. The reason why a great man is great is that he resolves to be a great man. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The On Startup feature allows you to control what tabs appear when you launch Navicat. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You will succeed because most people are lazy. Success consists of going from failure to failure without loss of enthusiasm. You will succeed because most people are lazy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', 'The past has no power over the present moment. Success consists of going from failure to failure without loss of enthusiasm. A comfort zone is a beautiful place, but nothing ever grows there. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I may not have gone where I intended to go, but I think I have ended up where I needed to be. What you get by achieving your goals is not as important as what you become by achieving your goals. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the middle of winter I at last discovered that there was in me an invincible summer. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Flexible settings enable you to set up a custom key for comparison and synchronization. It wasn’t raining when Noah built the ark. If the plan doesn’t work, change the plan, but never the goal. A comfort zone is a beautiful place, but nothing ever grows there. Optimism is the one quality more associated with success and happiness than any other. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Typically, it is employed as an encrypted version of Telnet. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The reason why a great man is great is that he resolves to be a great man. A man is not old until regrets take the place of dreams. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat 15 has added support for the system-wide dark mode. Flexible settings enable you to set up a custom key for comparison and synchronization. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.', NULL, 'The first step is as good as half over. The first step is as good as half over. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Genius is an infinite capacity for taking pains. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Sometimes you win, sometimes you learn. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A man’s best friends are his ten fingers. All journeys have secret destinations of which the traveler is unaware. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To connect to a database or schema, simply double-click it in the pane. If you wait, all that happens is you get older. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Champions keep playing until they get it right. Navicat 15 has added support for the system-wide dark mode. Creativity is intelligence having fun. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Difficult circumstances serve as a textbook of life for people. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Actually it is just in an idea when feel oneself can achieve and cannot achieve. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Creativity is intelligence having fun. If opportunity doesn’t knock, build a door. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. If opportunity doesn’t knock, build a door. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Remember that failure is an event, not a person. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Creativity is intelligence having fun. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('27', 'C:\\Users\\Administrator\\Pictures\\img_621248.png', 'qy6jH', NULL, NULL, 'xXyQqdi5sL', 'No. 677, Shuangqing Rd, Chenghua District', NULL, '2020-12-21 05:29:05', '2008-12-12 11:27:59', 814.8714, 'SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Typically, it is employed as an encrypted version of Telnet. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has never made a mistake has never tried anything new. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I will greet this day with love in my heart. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The first step is as good as half over. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. Champions keep playing until they get it right. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the middle of winter I at last discovered that there was in me an invincible summer. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You will succeed because most people are lazy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. If opportunity doesn’t knock, build a door. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Flexible settings enable you to set up a custom key for comparison and synchronization. The past has no power over the present moment. If you wait, all that happens is you get older. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Synchronize to Database function will give you a full picture of all database differences. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Difficult circumstances serve as a textbook of life for people. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A man’s best friends are his ten fingers. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The On Startup feature allows you to control what tabs appear when you launch Navicat.', 'A man is not old until regrets take the place of dreams. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The past has no power over the present moment. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A query is used to extract data from the database in a readable format according to the user\'s request. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A man is not old until regrets take the place of dreams. Typically, it is employed as an encrypted version of Telnet. The past has no power over the present moment. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Synchronize to Database function will give you a full picture of all database differences. The reason why a great man is great is that he resolves to be a great man. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Champions keep playing until they get it right. Remember that failure is an event, not a person. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If opportunity doesn’t knock, build a door. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A query is used to extract data from the database in a readable format according to the user\'s request. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Creativity is intelligence having fun. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has never made a mistake has never tried anything new. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You cannot save people, you can just love them. The first step is as good as half over. What you get by achieving your goals is not as important as what you become by achieving your goals. To connect to a database or schema, simply double-click it in the pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat 15 has added support for the system-wide dark mode. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. The first step is as good as half over. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If opportunity doesn’t knock, build a door. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Flexible settings enable you to set up a custom key for comparison and synchronization. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The reason why a great man is great is that he resolves to be a great man. Typically, it is employed as an encrypted version of Telnet. The first step is as good as half over. How we spend our days is, of course, how we spend our lives. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I destroy my enemies when I make them my friends. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. There is no way to happiness. Happiness is the way. Typically, it is employed as an encrypted version of Telnet.', NULL, 'After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To connect to a database or schema, simply double-click it in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat 15 has added support for the system-wide dark mode. Optimism is the one quality more associated with success and happiness than any other. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Flexible settings enable you to set up a custom key for comparison and synchronization. Champions keep playing until they get it right. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I destroy my enemies when I make them my friends. Navicat 15 has added support for the system-wide dark mode. You must be the change you wish to see in the world. Remember that failure is an event, not a person. Sometimes you win, sometimes you learn. All journeys have secret destinations of which the traveler is unaware. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat 15 has added support for the system-wide dark mode. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Difficult circumstances serve as a textbook of life for people. Champions keep playing until they get it right. A man’s best friends are his ten fingers. If it scares you, it might be a good thing to try. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If it scares you, it might be a good thing to try. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The On Startup feature allows you to control what tabs appear when you launch Navicat. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A man’s best friends are his ten fingers. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You will succeed because most people are lazy. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Remember that failure is an event, not a person. It wasn’t raining when Noah built the ark.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('28', '/Users/Administrator/Pictures/img_228525.png', 'PfDos', NULL, NULL, 'emW69ec6ag', '616 Edward Ave, Braunstone Town', NULL, '2023-01-02 10:33:58', '2023-10-02 03:11:04', 800.4336, 'Optimism is the one quality more associated with success and happiness than any other. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It wasn’t raining when Noah built the ark. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You will succeed because most people are lazy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Sometimes you win, sometimes you learn. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools.', 'What you get by achieving your goals is not as important as what you become by achieving your goals. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If it scares you, it might be a good thing to try. Champions keep playing until they get it right. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Synchronize to Database function will give you a full picture of all database differences. The Synchronize to Database function will give you a full picture of all database differences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I will greet this day with love in my heart. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The On Startup feature allows you to control what tabs appear when you launch Navicat.', NULL, 'How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Success consists of going from failure to failure without loss of enthusiasm. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To connect to a database or schema, simply double-click it in the pane. You will succeed because most people are lazy. If opportunity doesn’t knock, build a door. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Genius is an infinite capacity for taking pains. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('29', 'C:\\Users\\Administrator\\Pictures\\img_545900.png', 'tYR8A', NULL, NULL, 'F5XbqZx3uF', '751 Xue Yuan Yi Xiang, Longgang', NULL, '2022-03-30 01:31:50', '2003-03-06 04:59:58', 766.4391, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It wasn’t raining when Noah built the ark. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.', 'Sometimes you win, sometimes you learn. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man’s best friends are his ten fingers. How we spend our days is, of course, how we spend our lives. Anyone who has never made a mistake has never tried anything new. There is no way to happiness. Happiness is the way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If opportunity doesn’t knock, build a door. You must be the change you wish to see in the world. Difficult circumstances serve as a textbook of life for people. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man is not old until regrets take the place of dreams. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the middle of winter I at last discovered that there was in me an invincible summer. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. The On Startup feature allows you to control what tabs appear when you launch Navicat. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security.', NULL, 'The reason why a great man is great is that he resolves to be a great man. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Creativity is intelligence having fun. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the plan doesn’t work, change the plan, but never the goal. I destroy my enemies when I make them my friends. The On Startup feature allows you to control what tabs appear when you launch Navicat. If you wait, all that happens is you get older. It wasn’t raining when Noah built the ark. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. How we spend our days is, of course, how we spend our lives. Typically, it is employed as an encrypted version of Telnet. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat 15 has added support for the system-wide dark mode. A man’s best friends are his ten fingers. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. How we spend our days is, of course, how we spend our lives. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Genius is an infinite capacity for taking pains. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Champions keep playing until they get it right. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If it scares you, it might be a good thing to try. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat 15 has added support for the system-wide dark mode. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat 15 has added support for the system-wide dark mode. I destroy my enemies when I make them my friends. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The past has no power over the present moment. Creativity is intelligence having fun. Typically, it is employed as an encrypted version of Telnet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Difficult circumstances serve as a textbook of life for people. Remember that failure is an event, not a person. I will greet this day with love in my heart. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('3', 'C:\\Users\\Administrator\\Pictures\\img_832911.jpg', 'CXALZ', NULL, NULL, 'KHVmJbpzu8', '3-9-17 Gakuenminami', NULL, '2023-11-05 01:45:55', '2021-11-21 18:07:30', 270.3540, 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man’s best friends are his ten fingers. A man is not old until regrets take the place of dreams. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat 15 has added support for the system-wide dark mode. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', 'Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has never made a mistake has never tried anything new. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It wasn’t raining when Noah built the ark. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I will greet this day with love in my heart. Typically, it is employed as an encrypted version of Telnet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Anyone who has never made a mistake has never tried anything new. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat 15 has added support for the system-wide dark mode. How we spend our days is, of course, how we spend our lives. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. A query is used to extract data from the database in a readable format according to the user\'s request. Genius is an infinite capacity for taking pains. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If you wait, all that happens is you get older. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Synchronize to Database function will give you a full picture of all database differences. I destroy my enemies when I make them my friends. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. Genius is an infinite capacity for taking pains. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Optimism is the one quality more associated with success and happiness than any other. The past has no power over the present moment. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. I destroy my enemies when I make them my friends. The past has no power over the present moment.', NULL, 'Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. How we spend our days is, of course, how we spend our lives. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The past has no power over the present moment. A man is not old until regrets take the place of dreams. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Difficult circumstances serve as a textbook of life for people. Sometimes you win, sometimes you learn. All journeys have secret destinations of which the traveler is unaware. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Remember that failure is an event, not a person. The past has no power over the present moment. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A comfort zone is a beautiful place, but nothing ever grows there. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has never made a mistake has never tried anything new. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The reason why a great man is great is that he resolves to be a great man. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Synchronize to Database function will give you a full picture of all database differences. A man is not old until regrets take the place of dreams. The On Startup feature allows you to control what tabs appear when you launch Navicat. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Actually it is just in an idea when feel oneself can achieve and cannot achieve. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I will greet this day with love in my heart. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Optimism is the one quality more associated with success and happiness than any other. Genius is an infinite capacity for taking pains. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Flexible settings enable you to set up a custom key for comparison and synchronization. To connect to a database or schema, simply double-click it in the pane. The past has no power over the present moment. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It wasn’t raining when Noah built the ark. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('30', '/home/Administrator/Pictures/img_907535.png', 'PCMLI', NULL, NULL, '2SkmMDhISk', '53 2nd Zhongshan Road, Yuexiu District', NULL, '2021-08-11 19:10:59', '2016-05-01 01:23:31', 108.6446, 'The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Creativity is intelligence having fun. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat 15 has added support for the system-wide dark mode. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. To connect to a database or schema, simply double-click it in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Anyone who has ever made anything of importance was disciplined. In the middle of winter I at last discovered that there was in me an invincible summer. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. The first step is as good as half over. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Flexible settings enable you to set up a custom key for comparison and synchronization. Genius is an infinite capacity for taking pains.', 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A man is not old until regrets take the place of dreams. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. If you wait, all that happens is you get older. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Remember that failure is an event, not a person. If opportunity doesn’t knock, build a door. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Optimism is the one quality more associated with success and happiness than any other. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You cannot save people, you can just love them. Champions keep playing until they get it right. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If it scares you, it might be a good thing to try. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The first step is as good as half over. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Remember that failure is an event, not a person. Success consists of going from failure to failure without loss of enthusiasm. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It wasn’t raining when Noah built the ark. Sometimes you win, sometimes you learn. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. A man is not old until regrets take the place of dreams. Typically, it is employed as an encrypted version of Telnet. It wasn’t raining when Noah built the ark. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has ever made anything of importance was disciplined. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.', NULL, 'Remember that failure is an event, not a person. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The past has no power over the present moment. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A man is not old until regrets take the place of dreams. If opportunity doesn’t knock, build a door. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A man is not old until regrets take the place of dreams. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. What you get by achieving your goals is not as important as what you become by achieving your goals. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. All journeys have secret destinations of which the traveler is unaware. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All journeys have secret destinations of which the traveler is unaware. What you get by achieving your goals is not as important as what you become by achieving your goals. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. There is no way to happiness. Happiness is the way. I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A man is not old until regrets take the place of dreams. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In the middle of winter I at last discovered that there was in me an invincible summer. A man is not old until regrets take the place of dreams. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the middle of winter I at last discovered that there was in me an invincible summer. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Creativity is intelligence having fun. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The past has no power over the present moment. If you wait, all that happens is you get older.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('31', '/Users/Administrator/Pictures/img_016312.jpg', 'KaAH7', NULL, NULL, '5udliflz4c', '129 Wall Street', NULL, '2021-03-29 15:55:51', '2000-10-08 01:29:18', 660.5157, 'If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Remember that failure is an event, not a person. Champions keep playing until they get it right. A man is not old until regrets take the place of dreams. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. What you get by achieving your goals is not as important as what you become by achieving your goals. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. How we spend our days is, of course, how we spend our lives. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. There is no way to happiness. Happiness is the way. A man is not old until regrets take the place of dreams. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Sometimes you win, sometimes you learn. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The first step is as good as half over. I will greet this day with love in my heart. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Creativity is intelligence having fun. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You cannot save people, you can just love them. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has never made a mistake has never tried anything new. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The reason why a great man is great is that he resolves to be a great man. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has never made a mistake has never tried anything new. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. If opportunity doesn’t knock, build a door. How we spend our days is, of course, how we spend our lives. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Flexible settings enable you to set up a custom key for comparison and synchronization. The Synchronize to Database function will give you a full picture of all database differences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Typically, it is employed as an encrypted version of Telnet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Typically, it is employed as an encrypted version of Telnet. All journeys have secret destinations of which the traveler is unaware. Creativity is intelligence having fun. A man is not old until regrets take the place of dreams. Remember that failure is an event, not a person. Anyone who has ever made anything of importance was disciplined. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Success consists of going from failure to failure without loss of enthusiasm. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Typically, it is employed as an encrypted version of Telnet. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.', 'The Synchronize to Database function will give you a full picture of all database differences. Creativity is intelligence having fun. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man is not old until regrets take the place of dreams. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All journeys have secret destinations of which the traveler is unaware. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All journeys have secret destinations of which the traveler is unaware. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Flexible settings enable you to set up a custom key for comparison and synchronization. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Creativity is intelligence having fun. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Remember that failure is an event, not a person. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. A query is used to extract data from the database in a readable format according to the user\'s request. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In the middle of winter I at last discovered that there was in me an invincible summer. There is no way to happiness. Happiness is the way. How we spend our days is, of course, how we spend our lives. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Flexible settings enable you to set up a custom key for comparison and synchronization. Genius is an infinite capacity for taking pains. What you get by achieving your goals is not as important as what you become by achieving your goals. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If opportunity doesn’t knock, build a door. Difficult circumstances serve as a textbook of life for people. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. The On Startup feature allows you to control what tabs appear when you launch Navicat. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The first step is as good as half over. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The first step is as good as half over. You must be the change you wish to see in the world. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat 15 has added support for the system-wide dark mode. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Anyone who has never made a mistake has never tried anything new.', NULL, 'Anyone who has ever made anything of importance was disciplined. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat 15 has added support for the system-wide dark mode. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It wasn’t raining when Noah built the ark. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Typically, it is employed as an encrypted version of Telnet. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You cannot save people, you can just love them. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Creativity is intelligence having fun. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man’s best friends are his ten fingers. The On Startup feature allows you to control what tabs appear when you launch Navicat. Difficult circumstances serve as a textbook of life for people. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The past has no power over the present moment. The first step is as good as half over. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You cannot save people, you can just love them. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Genius is an infinite capacity for taking pains. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The first step is as good as half over. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A man’s best friends are his ten fingers. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat 15 has added support for the system-wide dark mode. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Anyone who has never made a mistake has never tried anything new. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The reason why a great man is great is that he resolves to be a great man. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A query is used to extract data from the database in a readable format according to the user\'s request.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('32', '/Users/Administrator/Pictures/img_450288.png', '4amp4', NULL, NULL, 'SnpcaNm8qG', '1-7-6 Saidaiji Akodacho', NULL, '2021-01-01 19:56:37', '2003-06-18 20:50:02', 707.2930, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I will greet this day with love in my heart. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The first step is as good as half over. Anyone who has never made a mistake has never tried anything new. The reason why a great man is great is that he resolves to be a great man. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The reason why a great man is great is that he resolves to be a great man. Optimism is the one quality more associated with success and happiness than any other. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A man’s best friends are his ten fingers. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All journeys have secret destinations of which the traveler is unaware. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Success consists of going from failure to failure without loss of enthusiasm. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Remember that failure is an event, not a person. There is no way to happiness. Happiness is the way. A comfort zone is a beautiful place, but nothing ever grows there. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the plan doesn’t work, change the plan, but never the goal. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The past has no power over the present moment. Anyone who has ever made anything of importance was disciplined. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A comfort zone is a beautiful place, but nothing ever grows there. Genius is an infinite capacity for taking pains. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Sometimes you win, sometimes you learn. Navicat 15 has added support for the system-wide dark mode. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Flexible settings enable you to set up a custom key for comparison and synchronization. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Synchronize to Database function will give you a full picture of all database differences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A query is used to extract data from the database in a readable format according to the user\'s request. What you get by achieving your goals is not as important as what you become by achieving your goals. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man is not old until regrets take the place of dreams. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If it scares you, it might be a good thing to try. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Creativity is intelligence having fun. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. There is no way to happiness. Happiness is the way. A comfort zone is a beautiful place, but nothing ever grows there. The reason why a great man is great is that he resolves to be a great man. You will succeed because most people are lazy. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Champions keep playing until they get it right. Typically, it is employed as an encrypted version of Telnet. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Typically, it is employed as an encrypted version of Telnet. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has ever made anything of importance was disciplined. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. How we spend our days is, of course, how we spend our lives. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A comfort zone is a beautiful place, but nothing ever grows there. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the plan doesn’t work, change the plan, but never the goal. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', NULL, 'If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The first step is as good as half over. It wasn’t raining when Noah built the ark. Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. Anyone who has ever made anything of importance was disciplined. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You cannot save people, you can just love them. Sometimes you win, sometimes you learn. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Synchronize to Database function will give you a full picture of all database differences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A comfort zone is a beautiful place, but nothing ever grows there. Typically, it is employed as an encrypted version of Telnet. You must be the change you wish to see in the world. A comfort zone is a beautiful place, but nothing ever grows there. You will succeed because most people are lazy. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If you wait, all that happens is you get older. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A query is used to extract data from the database in a readable format according to the user\'s request. If the plan doesn’t work, change the plan, but never the goal. A man is not old until regrets take the place of dreams. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man’s best friends are his ten fingers. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('33', 'C:\\Users\\Administrator\\Pictures\\img_673903.png', '0UjkV', NULL, NULL, 'P7gMBpLA9e', '790 2nd Zhongshan Road, Yuexiu District', NULL, '2022-05-29 19:39:25', '2019-01-11 02:11:44', 255.0770, 'Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To connect to a database or schema, simply double-click it in the pane. All journeys have secret destinations of which the traveler is unaware. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. How we spend our days is, of course, how we spend our lives. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All journeys have secret destinations of which the traveler is unaware. Flexible settings enable you to set up a custom key for comparison and synchronization. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To connect to a database or schema, simply double-click it in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Genius is an infinite capacity for taking pains. The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The reason why a great man is great is that he resolves to be a great man. Sometimes you win, sometimes you learn. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Genius is an infinite capacity for taking pains. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It wasn’t raining when Noah built the ark. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You will succeed because most people are lazy. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat 15 has added support for the system-wide dark mode. Optimism is the one quality more associated with success and happiness than any other. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Typically, it is employed as an encrypted version of Telnet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You will succeed because most people are lazy. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Creativity is intelligence having fun. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You will succeed because most people are lazy.', 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The first step is as good as half over. There is no way to happiness. Happiness is the way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat 15 has added support for the system-wide dark mode. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If it scares you, it might be a good thing to try. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. How we spend our days is, of course, how we spend our lives. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It wasn’t raining when Noah built the ark. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. All journeys have secret destinations of which the traveler is unaware. The past has no power over the present moment. The first step is as good as half over. I destroy my enemies when I make them my friends. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The first step is as good as half over. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The On Startup feature allows you to control what tabs appear when you launch Navicat. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', NULL, 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Genius is an infinite capacity for taking pains. I destroy my enemies when I make them my friends. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. There is no way to happiness. Happiness is the way. You will succeed because most people are lazy. Genius is an infinite capacity for taking pains. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. There is no way to happiness. Happiness is the way. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A query is used to extract data from the database in a readable format according to the user\'s request. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The reason why a great man is great is that he resolves to be a great man. To connect to a database or schema, simply double-click it in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('34', '/Users/Administrator/Pictures/img_735757.png', 'IK9Qw', NULL, NULL, 'Mjw10RvD6i', '200 Narborough Rd', NULL, '2022-05-28 12:40:19', '2023-08-30 02:33:16', 330.9051, 'Genius is an infinite capacity for taking pains. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If opportunity doesn’t knock, build a door. It wasn’t raining when Noah built the ark. If you wait, all that happens is you get older. A comfort zone is a beautiful place, but nothing ever grows there. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The reason why a great man is great is that he resolves to be a great man. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Flexible settings enable you to set up a custom key for comparison and synchronization. You must be the change you wish to see in the world. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If it scares you, it might be a good thing to try. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Synchronize to Database function will give you a full picture of all database differences. Anyone who has ever made anything of importance was disciplined. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Sometimes you win, sometimes you learn. If opportunity doesn’t knock, build a door. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If it scares you, it might be a good thing to try. A comfort zone is a beautiful place, but nothing ever grows there. Anyone who has ever made anything of importance was disciplined. What you get by achieving your goals is not as important as what you become by achieving your goals. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Optimism is the one quality more associated with success and happiness than any other. A query is used to extract data from the database in a readable format according to the user\'s request. Optimism is the one quality more associated with success and happiness than any other. If it scares you, it might be a good thing to try. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To connect to a database or schema, simply double-click it in the pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I destroy my enemies when I make them my friends. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The past has no power over the present moment. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To connect to a database or schema, simply double-click it in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Synchronize to Database function will give you a full picture of all database differences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. You cannot save people, you can just love them. Champions keep playing until they get it right. The reason why a great man is great is that he resolves to be a great man. Creativity is intelligence having fun. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You must be the change you wish to see in the world. Creativity is intelligence having fun. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I will greet this day with love in my heart. The Synchronize to Database function will give you a full picture of all database differences. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. How we spend our days is, of course, how we spend our lives. Navicat 15 has added support for the system-wide dark mode.', 'The first step is as good as half over. If the plan doesn’t work, change the plan, but never the goal. Anyone who has never made a mistake has never tried anything new. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Anyone who has ever made anything of importance was disciplined. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. In the middle of winter I at last discovered that there was in me an invincible summer. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the plan doesn’t work, change the plan, but never the goal. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I will greet this day with love in my heart. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Difficult circumstances serve as a textbook of life for people. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Champions keep playing until they get it right. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man’s best friends are his ten fingers. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. There is no way to happiness. Happiness is the way. I may not have gone where I intended to go, but I think I have ended up where I needed to be. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Creativity is intelligence having fun. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. Creativity is intelligence having fun. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A comfort zone is a beautiful place, but nothing ever grows there. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Flexible settings enable you to set up a custom key for comparison and synchronization. A comfort zone is a beautiful place, but nothing ever grows there. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The reason why a great man is great is that he resolves to be a great man. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If opportunity doesn’t knock, build a door. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You will succeed because most people are lazy. The reason why a great man is great is that he resolves to be a great man. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I destroy my enemies when I make them my friends. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Flexible settings enable you to set up a custom key for comparison and synchronization. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The reason why a great man is great is that he resolves to be a great man. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I will greet this day with love in my heart. A man’s best friends are his ten fingers. If it scares you, it might be a good thing to try. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Champions keep playing until they get it right. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If it scares you, it might be a good thing to try. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats.', NULL, 'If you wait, all that happens is you get older. If you wait, all that happens is you get older. The past has no power over the present moment. Navicat 15 has added support for the system-wide dark mode. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You cannot save people, you can just love them. Anyone who has ever made anything of importance was disciplined. I will greet this day with love in my heart. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Champions keep playing until they get it right. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Creativity is intelligence having fun. Typically, it is employed as an encrypted version of Telnet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You cannot save people, you can just love them. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. The past has no power over the present moment. Navicat 15 has added support for the system-wide dark mode. If it scares you, it might be a good thing to try. If the plan doesn’t work, change the plan, but never the goal. It wasn’t raining when Noah built the ark. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. What you get by achieving your goals is not as important as what you become by achieving your goals. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Champions keep playing until they get it right. Creativity is intelligence having fun. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Anyone who has ever made anything of importance was disciplined. A comfort zone is a beautiful place, but nothing ever grows there. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Champions keep playing until they get it right. It wasn’t raining when Noah built the ark. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You cannot save people, you can just love them. Navicat 15 has added support for the system-wide dark mode. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Synchronize to Database function will give you a full picture of all database differences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I destroy my enemies when I make them my friends. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Success consists of going from failure to failure without loss of enthusiasm. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If you wait, all that happens is you get older. I will greet this day with love in my heart. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The reason why a great man is great is that he resolves to be a great man. Sometimes you win, sometimes you learn. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If it scares you, it might be a good thing to try. A query is used to extract data from the database in a readable format according to the user\'s request. Typically, it is employed as an encrypted version of Telnet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It wasn’t raining when Noah built the ark. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A man is not old until regrets take the place of dreams. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('35', '/home/Administrator/Pictures/img_494684.png', '4q1Z0', NULL, NULL, 'K9N1knn3mU', '3-15-12 Ginza, Chuo-ku', NULL, '2021-02-05 07:58:05', '2017-04-23 04:26:17', 972.1475, 'In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If opportunity doesn’t knock, build a door. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Actually it is just in an idea when feel oneself can achieve and cannot achieve. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. What you get by achieving your goals is not as important as what you become by achieving your goals. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has never made a mistake has never tried anything new. The On Startup feature allows you to control what tabs appear when you launch Navicat. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Typically, it is employed as an encrypted version of Telnet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat 15 has added support for the system-wide dark mode. Creativity is intelligence having fun. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Anyone who has never made a mistake has never tried anything new. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.', 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You will succeed because most people are lazy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.', NULL, 'Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat 15 has added support for the system-wide dark mode. Remember that failure is an event, not a person. A query is used to extract data from the database in a readable format according to the user\'s request. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The On Startup feature allows you to control what tabs appear when you launch Navicat. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You cannot save people, you can just love them. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You cannot save people, you can just love them. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. Success consists of going from failure to failure without loss of enthusiasm. Difficult circumstances serve as a textbook of life for people. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A man is not old until regrets take the place of dreams. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Sometimes you win, sometimes you learn. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Creativity is intelligence having fun. A query is used to extract data from the database in a readable format according to the user\'s request. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All journeys have secret destinations of which the traveler is unaware. The reason why a great man is great is that he resolves to be a great man. Flexible settings enable you to set up a custom key for comparison and synchronization. The first step is as good as half over. It wasn’t raining when Noah built the ark. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In the middle of winter I at last discovered that there was in me an invincible summer. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It wasn’t raining when Noah built the ark. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. I destroy my enemies when I make them my friends. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Champions keep playing until they get it right. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In the middle of winter I at last discovered that there was in me an invincible summer. Genius is an infinite capacity for taking pains. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If you wait, all that happens is you get older. Flexible settings enable you to set up a custom key for comparison and synchronization. Difficult circumstances serve as a textbook of life for people.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('36', 'C:\\Users\\Administrator\\Pictures\\img_586617.jpg', 'AcTai', NULL, NULL, 'xLBZ6lmIVv', '683 39 William IV St, Charing Cross', NULL, '2022-12-26 13:29:40', '2001-11-09 14:34:56', 884.8498, 'Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I will greet this day with love in my heart. Typically, it is employed as an encrypted version of Telnet. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Champions keep playing until they get it right. I will greet this day with love in my heart. In the middle of winter I at last discovered that there was in me an invincible summer. To connect to a database or schema, simply double-click it in the pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You will succeed because most people are lazy. A man is not old until regrets take the place of dreams. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The past has no power over the present moment. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. What you get by achieving your goals is not as important as what you become by achieving your goals.', 'The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. You cannot save people, you can just love them. You must be the change you wish to see in the world. Difficult circumstances serve as a textbook of life for people. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat 15 has added support for the system-wide dark mode. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I will greet this day with love in my heart. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. How we spend our days is, of course, how we spend our lives. A query is used to extract data from the database in a readable format according to the user\'s request. The reason why a great man is great is that he resolves to be a great man. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.', NULL, 'The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('37', 'C:\\Users\\Administrator\\Pictures\\img_656790.jpg', 'xgH5x', NULL, NULL, 'pjIeDpHFPu', '3-9-18 Gakuenminami', NULL, '2022-06-05 22:27:22', '2013-02-12 18:25:45', 213.7234, 'Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Creativity is intelligence having fun. The On Startup feature allows you to control what tabs appear when you launch Navicat. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.', 'SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man’s best friends are his ten fingers. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Champions keep playing until they get it right. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You will succeed because most people are lazy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I destroy my enemies when I make them my friends. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Flexible settings enable you to set up a custom key for comparison and synchronization. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Optimism is the one quality more associated with success and happiness than any other. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You will succeed because most people are lazy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.', NULL, 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It wasn’t raining when Noah built the ark. I destroy my enemies when I make them my friends. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Difficult circumstances serve as a textbook of life for people. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has ever made anything of importance was disciplined. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. What you get by achieving your goals is not as important as what you become by achieving your goals. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Flexible settings enable you to set up a custom key for comparison and synchronization. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man’s best friends are his ten fingers. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Creativity is intelligence having fun. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I will greet this day with love in my heart. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You cannot save people, you can just love them. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('38', 'C:\\Users\\Administrator\\Pictures\\img_755986.jpg', 'RGaP5', NULL, NULL, 'FrNOkp8Eo0', '672 Sackville St', NULL, '2023-11-22 05:26:33', '2000-11-21 08:51:06', 14.2224, 'Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The reason why a great man is great is that he resolves to be a great man. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Remember that failure is an event, not a person. Anyone who has never made a mistake has never tried anything new. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try. If you wait, all that happens is you get older. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A man’s best friends are his ten fingers. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. There is no way to happiness. Happiness is the way. Creativity is intelligence having fun. A man is not old until regrets take the place of dreams. Typically, it is employed as an encrypted version of Telnet. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I will greet this day with love in my heart. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You must be the change you wish to see in the world. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. The reason why a great man is great is that he resolves to be a great man. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The first step is as good as half over. You must be the change you wish to see in the world. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All journeys have secret destinations of which the traveler is unaware. Flexible settings enable you to set up a custom key for comparison and synchronization. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All journeys have secret destinations of which the traveler is unaware. A man is not old until regrets take the place of dreams.', 'Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat 15 has added support for the system-wide dark mode. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Typically, it is employed as an encrypted version of Telnet. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You cannot save people, you can just love them. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. What you get by achieving your goals is not as important as what you become by achieving your goals. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Creativity is intelligence having fun. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man is not old until regrets take the place of dreams. Flexible settings enable you to set up a custom key for comparison and synchronization. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has never made a mistake has never tried anything new. You cannot save people, you can just love them. Creativity is intelligence having fun. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat 15 has added support for the system-wide dark mode. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat 15 has added support for the system-wide dark mode. Flexible settings enable you to set up a custom key for comparison and synchronization. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. You must be the change you wish to see in the world. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Sometimes you win, sometimes you learn. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. How we spend our days is, of course, how we spend our lives. A comfort zone is a beautiful place, but nothing ever grows there. You must be the change you wish to see in the world. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Genius is an infinite capacity for taking pains. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If the plan doesn’t work, change the plan, but never the goal. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Flexible settings enable you to set up a custom key for comparison and synchronization. Remember that failure is an event, not a person. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A query is used to extract data from the database in a readable format according to the user\'s request. What you get by achieving your goals is not as important as what you become by achieving your goals. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. All journeys have secret destinations of which the traveler is unaware. You cannot save people, you can just love them. I will greet this day with love in my heart. A comfort zone is a beautiful place, but nothing ever grows there. Genius is an infinite capacity for taking pains. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. What you get by achieving your goals is not as important as what you become by achieving your goals. You must be the change you wish to see in the world. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A query is used to extract data from the database in a readable format according to the user\'s request. I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You cannot save people, you can just love them. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If it scares you, it might be a good thing to try. If it scares you, it might be a good thing to try. There is no way to happiness. Happiness is the way. Creativity is intelligence having fun. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Flexible settings enable you to set up a custom key for comparison and synchronization. If you wait, all that happens is you get older. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To connect to a database or schema, simply double-click it in the pane. If you wait, all that happens is you get older. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You must be the change you wish to see in the world. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. All journeys have secret destinations of which the traveler is unaware. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If the plan doesn’t work, change the plan, but never the goal. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. There is no way to happiness. Happiness is the way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If it scares you, it might be a good thing to try. Flexible settings enable you to set up a custom key for comparison and synchronization. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It wasn’t raining when Noah built the ark. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. How we spend our days is, of course, how we spend our lives. How we spend our days is, of course, how we spend our lives. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The first step is as good as half over. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('39', '/Users/Administrator/Pictures/img_661490.png', 'ZaZvn', NULL, NULL, 'BxrD60lCMX', '899 Pollen Street', NULL, '2020-06-22 18:05:27', '2024-05-10 13:09:41', 745.3588, 'HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If you wait, all that happens is you get older. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has never made a mistake has never tried anything new. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Optimism is the one quality more associated with success and happiness than any other. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If opportunity doesn’t knock, build a door. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The reason why a great man is great is that he resolves to be a great man. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The first step is as good as half over. Typically, it is employed as an encrypted version of Telnet. A query is used to extract data from the database in a readable format according to the user\'s request. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You will succeed because most people are lazy. If you wait, all that happens is you get older. I destroy my enemies when I make them my friends. Flexible settings enable you to set up a custom key for comparison and synchronization. A man is not old until regrets take the place of dreams. To connect to a database or schema, simply double-click it in the pane. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has ever made anything of importance was disciplined. To connect to a database or schema, simply double-click it in the pane. Creativity is intelligence having fun. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.', 'The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The reason why a great man is great is that he resolves to be a great man. You cannot save people, you can just love them. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man is not old until regrets take the place of dreams. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Difficult circumstances serve as a textbook of life for people. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. Creativity is intelligence having fun. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A comfort zone is a beautiful place, but nothing ever grows there. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A man’s best friends are his ten fingers. Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. I will greet this day with love in my heart. The reason why a great man is great is that he resolves to be a great man. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It wasn’t raining when Noah built the ark. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You will succeed because most people are lazy. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man is not old until regrets take the place of dreams. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If opportunity doesn’t knock, build a door. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. How we spend our days is, of course, how we spend our lives. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. There is no way to happiness. Happiness is the way. If the plan doesn’t work, change the plan, but never the goal. How we spend our days is, of course, how we spend our lives. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If you wait, all that happens is you get older. Anyone who has ever made anything of importance was disciplined. Champions keep playing until they get it right. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has never made a mistake has never tried anything new. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A man is not old until regrets take the place of dreams. A man is not old until regrets take the place of dreams. Flexible settings enable you to set up a custom key for comparison and synchronization. Typically, it is employed as an encrypted version of Telnet. Typically, it is employed as an encrypted version of Telnet. Creativity is intelligence having fun. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. There is no way to happiness. Happiness is the way. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Genius is an infinite capacity for taking pains. Anyone who has never made a mistake has never tried anything new. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Genius is an infinite capacity for taking pains. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Synchronize to Database function will give you a full picture of all database differences. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The past has no power over the present moment. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If you wait, all that happens is you get older. Creativity is intelligence having fun. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. Difficult circumstances serve as a textbook of life for people. If opportunity doesn’t knock, build a door. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You will succeed because most people are lazy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('4', '/home/Administrator/Pictures/img_171993.jpg', 'DbxYU', NULL, NULL, '6ubtsCrnsz', '213 Lefeng 6th Rd', NULL, '2020-09-02 15:40:39', '2006-02-25 14:12:34', 230.7145, 'Creativity is intelligence having fun. I destroy my enemies when I make them my friends. Champions keep playing until they get it right. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man’s best friends are his ten fingers. A comfort zone is a beautiful place, but nothing ever grows there. Success consists of going from failure to failure without loss of enthusiasm. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Sometimes you win, sometimes you learn. If it scares you, it might be a good thing to try. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If opportunity doesn’t knock, build a door. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The past has no power over the present moment. You will succeed because most people are lazy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Remember that failure is an event, not a person. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The reason why a great man is great is that he resolves to be a great man. Navicat 15 has added support for the system-wide dark mode. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. There is no way to happiness. Happiness is the way. Champions keep playing until they get it right. To connect to a database or schema, simply double-click it in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. What you get by achieving your goals is not as important as what you become by achieving your goals. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You will succeed because most people are lazy. A query is used to extract data from the database in a readable format according to the user\'s request. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Remember that failure is an event, not a person. Remember that failure is an event, not a person. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The past has no power over the present moment. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.', 'To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat 15 has added support for the system-wide dark mode. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Synchronize to Database function will give you a full picture of all database differences. Genius is an infinite capacity for taking pains. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man is not old until regrets take the place of dreams. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. How we spend our days is, of course, how we spend our lives. You will succeed because most people are lazy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I destroy my enemies when I make them my friends. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Difficult circumstances serve as a textbook of life for people. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Remember that failure is an event, not a person. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Flexible settings enable you to set up a custom key for comparison and synchronization. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. Genius is an infinite capacity for taking pains. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. There is no way to happiness. Happiness is the way. Genius is an infinite capacity for taking pains. A man’s best friends are his ten fingers. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Sometimes you win, sometimes you learn. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Flexible settings enable you to set up a custom key for comparison and synchronization. Champions keep playing until they get it right. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. What you get by achieving your goals is not as important as what you become by achieving your goals. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. If the plan doesn’t work, change the plan, but never the goal. A man is not old until regrets take the place of dreams. If opportunity doesn’t knock, build a door. You cannot save people, you can just love them. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The reason why a great man is great is that he resolves to be a great man. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You must be the change you wish to see in the world. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The reason why a great man is great is that he resolves to be a great man. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The reason why a great man is great is that he resolves to be a great man. If you wait, all that happens is you get older. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. How we spend our days is, of course, how we spend our lives. Difficult circumstances serve as a textbook of life for people. Typically, it is employed as an encrypted version of Telnet. You cannot save people, you can just love them. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To connect to a database or schema, simply double-click it in the pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The On Startup feature allows you to control what tabs appear when you launch Navicat. You must be the change you wish to see in the world. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Creativity is intelligence having fun. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Genius is an infinite capacity for taking pains. How we spend our days is, of course, how we spend our lives.', NULL, 'Difficult circumstances serve as a textbook of life for people. The first step is as good as half over. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All journeys have secret destinations of which the traveler is unaware. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I will greet this day with love in my heart. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Creativity is intelligence having fun. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The first step is as good as half over. Creativity is intelligence having fun. A comfort zone is a beautiful place, but nothing ever grows there. You cannot save people, you can just love them. Champions keep playing until they get it right. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You cannot save people, you can just love them. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has never made a mistake has never tried anything new. Genius is an infinite capacity for taking pains. Optimism is the one quality more associated with success and happiness than any other. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I will greet this day with love in my heart. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man’s best friends are his ten fingers. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man is not old until regrets take the place of dreams. How we spend our days is, of course, how we spend our lives. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Remember that failure is an event, not a person. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('40', '/home/Administrator/Pictures/img_200755.jpg', '2zEIu', NULL, NULL, 'AodKEoeKEU', '4-9-13 Kamihigashi, Hirano Ward', NULL, '2021-02-03 08:40:51', '2015-08-25 05:14:04', 458.7479, 'Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. How we spend our days is, of course, how we spend our lives. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Success consists of going from failure to failure without loss of enthusiasm. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I will greet this day with love in my heart. If you wait, all that happens is you get older. Anyone who has never made a mistake has never tried anything new. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Flexible settings enable you to set up a custom key for comparison and synchronization. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. What you get by achieving your goals is not as important as what you become by achieving your goals. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.', 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. Anyone who has never made a mistake has never tried anything new. There is no way to happiness. Happiness is the way. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat 15 has added support for the system-wide dark mode. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Difficult circumstances serve as a textbook of life for people. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Genius is an infinite capacity for taking pains. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Creativity is intelligence having fun. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Champions keep playing until they get it right. If the plan doesn’t work, change the plan, but never the goal. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Flexible settings enable you to set up a custom key for comparison and synchronization. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You cannot save people, you can just love them. Genius is an infinite capacity for taking pains.', NULL, 'In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Sometimes you win, sometimes you learn. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. Anyone who has never made a mistake has never tried anything new. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat 15 has added support for the system-wide dark mode. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. How we spend our days is, of course, how we spend our lives. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Optimism is the one quality more associated with success and happiness than any other. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. The first step is as good as half over. You must be the change you wish to see in the world. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If you wait, all that happens is you get older. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Champions keep playing until they get it right. Navicat 15 has added support for the system-wide dark mode. A query is used to extract data from the database in a readable format according to the user\'s request. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Typically, it is employed as an encrypted version of Telnet. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('41', 'C:\\Users\\Administrator\\Pictures\\img_289300.jpg', 'h4vPs', NULL, NULL, 'LzezBzNYSO', '346 2nd Zhongshan Road, Yuexiu District', NULL, '2023-09-07 23:13:58', '2008-01-06 23:35:09', 288.8202, 'Sometimes you win, sometimes you learn. You cannot save people, you can just love them. Anyone who has never made a mistake has never tried anything new.', 'Actually it is just in an idea when feel oneself can achieve and cannot achieve. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Champions keep playing until they get it right. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It wasn’t raining when Noah built the ark. Flexible settings enable you to set up a custom key for comparison and synchronization. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man is not old until regrets take the place of dreams. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. There is no way to happiness. Happiness is the way. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A man’s best friends are his ten fingers. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It wasn’t raining when Noah built the ark. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. What you get by achieving your goals is not as important as what you become by achieving your goals. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. How we spend our days is, of course, how we spend our lives. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Typically, it is employed as an encrypted version of Telnet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You will succeed because most people are lazy. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. What you get by achieving your goals is not as important as what you become by achieving your goals. A man is not old until regrets take the place of dreams. Anyone who has ever made anything of importance was disciplined. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Synchronize to Database function will give you a full picture of all database differences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You will succeed because most people are lazy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. What you get by achieving your goals is not as important as what you become by achieving your goals. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. The Synchronize to Database function will give you a full picture of all database differences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Typically, it is employed as an encrypted version of Telnet. The first step is as good as half over. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The On Startup feature allows you to control what tabs appear when you launch Navicat. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. How we spend our days is, of course, how we spend our lives. If opportunity doesn’t knock, build a door. Success consists of going from failure to failure without loss of enthusiasm. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Success consists of going from failure to failure without loss of enthusiasm. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The past has no power over the present moment. Remember that failure is an event, not a person. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat 15 has added support for the system-wide dark mode. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. How we spend our days is, of course, how we spend our lives. If you wait, all that happens is you get older. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A query is used to extract data from the database in a readable format according to the user\'s request. Remember that failure is an event, not a person. If you wait, all that happens is you get older. Creativity is intelligence having fun. Sometimes you win, sometimes you learn. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('42', 'C:\\Users\\Administrator\\Pictures\\img_618921.png', 'BmpBH', NULL, NULL, '3IeElfJJ0w', '531 Park End St', NULL, '2020-08-08 10:36:48', '2003-11-06 13:12:39', 402.8191, 'The reason why a great man is great is that he resolves to be a great man. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Synchronize to Database function will give you a full picture of all database differences. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. How we spend our days is, of course, how we spend our lives. Navicat 15 has added support for the system-wide dark mode. Genius is an infinite capacity for taking pains. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Synchronize to Database function will give you a full picture of all database differences. Creativity is intelligence having fun. You cannot save people, you can just love them. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. There is no way to happiness. Happiness is the way. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You will succeed because most people are lazy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the plan doesn’t work, change the plan, but never the goal. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I will greet this day with love in my heart. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Champions keep playing until they get it right. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Champions keep playing until they get it right. If the plan doesn’t work, change the plan, but never the goal. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Optimism is the one quality more associated with success and happiness than any other. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The past has no power over the present moment. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Typically, it is employed as an encrypted version of Telnet. Anyone who has ever made anything of importance was disciplined. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man is not old until regrets take the place of dreams. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. There is no way to happiness. Happiness is the way. Sometimes you win, sometimes you learn. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You must be the change you wish to see in the world. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It wasn’t raining when Noah built the ark. To connect to a database or schema, simply double-click it in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. There is no way to happiness. Happiness is the way. I destroy my enemies when I make them my friends. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It wasn’t raining when Noah built the ark.', 'Anyone who has ever made anything of importance was disciplined. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To connect to a database or schema, simply double-click it in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Creativity is intelligence having fun. Typically, it is employed as an encrypted version of Telnet. Champions keep playing until they get it right. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Remember that failure is an event, not a person. I will greet this day with love in my heart. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You cannot save people, you can just love them. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.', NULL, 'Difficult circumstances serve as a textbook of life for people. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You must be the change you wish to see in the world. I destroy my enemies when I make them my friends. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Sometimes you win, sometimes you learn. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You will succeed because most people are lazy. Difficult circumstances serve as a textbook of life for people. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The past has no power over the present moment. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Success consists of going from failure to failure without loss of enthusiasm. Champions keep playing until they get it right. Genius is an infinite capacity for taking pains. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. Genius is an infinite capacity for taking pains. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You cannot save people, you can just love them. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. You must be the change you wish to see in the world. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Remember that failure is an event, not a person. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You cannot save people, you can just love them. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat 15 has added support for the system-wide dark mode. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Creativity is intelligence having fun. In the middle of winter I at last discovered that there was in me an invincible summer. In the middle of winter I at last discovered that there was in me an invincible summer. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I will greet this day with love in my heart. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Genius is an infinite capacity for taking pains. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You cannot save people, you can just love them. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the middle of winter I at last discovered that there was in me an invincible summer. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Synchronize to Database function will give you a full picture of all database differences. The On Startup feature allows you to control what tabs appear when you launch Navicat. Difficult circumstances serve as a textbook of life for people. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Creativity is intelligence having fun. Always keep your eyes open. Keep watching. Because whatever you see can inspire you.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('43', '/Users/Administrator/Pictures/img_409689.png', 'khSSc', NULL, NULL, 'JqCw0TxWnr', '190 Whitehouse Lane, Huntingdon Rd', NULL, '2022-08-29 18:23:59', '2023-07-28 14:40:43', 560.7856, 'If it scares you, it might be a good thing to try. What you get by achieving your goals is not as important as what you become by achieving your goals. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Optimism is the one quality more associated with success and happiness than any other. The reason why a great man is great is that he resolves to be a great man. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat 15 has added support for the system-wide dark mode. Difficult circumstances serve as a textbook of life for people. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Sometimes you win, sometimes you learn. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. If it scares you, it might be a good thing to try. You must be the change you wish to see in the world. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. Optimism is the one quality more associated with success and happiness than any other. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Synchronize to Database function will give you a full picture of all database differences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. There is no way to happiness. Happiness is the way. If you wait, all that happens is you get older. Difficult circumstances serve as a textbook of life for people. If opportunity doesn’t knock, build a door. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. All journeys have secret destinations of which the traveler is unaware. The reason why a great man is great is that he resolves to be a great man. All journeys have secret destinations of which the traveler is unaware. Remember that failure is an event, not a person. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Optimism is the one quality more associated with success and happiness than any other. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If opportunity doesn’t knock, build a door. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. To connect to a database or schema, simply double-click it in the pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Creativity is intelligence having fun. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', 'Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A man’s best friends are his ten fingers. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Anyone who has ever made anything of importance was disciplined. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Sometimes you win, sometimes you learn. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A query is used to extract data from the database in a readable format according to the user\'s request. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If opportunity doesn’t knock, build a door. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All journeys have secret destinations of which the traveler is unaware. Flexible settings enable you to set up a custom key for comparison and synchronization. Champions keep playing until they get it right. Navicat 15 has added support for the system-wide dark mode. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Success consists of going from failure to failure without loss of enthusiasm. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It wasn’t raining when Noah built the ark. All journeys have secret destinations of which the traveler is unaware. If the plan doesn’t work, change the plan, but never the goal. Anyone who has ever made anything of importance was disciplined. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You cannot save people, you can just love them. Remember that failure is an event, not a person. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I will greet this day with love in my heart. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security.', NULL, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Genius is an infinite capacity for taking pains. Champions keep playing until they get it right. Remember that failure is an event, not a person. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A query is used to extract data from the database in a readable format according to the user\'s request. I may not have gone where I intended to go, but I think I have ended up where I needed to be. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The reason why a great man is great is that he resolves to be a great man. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Flexible settings enable you to set up a custom key for comparison and synchronization. All journeys have secret destinations of which the traveler is unaware. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Genius is an infinite capacity for taking pains. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Anyone who has never made a mistake has never tried anything new. Remember that failure is an event, not a person. If you wait, all that happens is you get older. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Optimism is the one quality more associated with success and happiness than any other. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If it scares you, it might be a good thing to try. The first step is as good as half over. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If opportunity doesn’t knock, build a door. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the plan doesn’t work, change the plan, but never the goal. It wasn’t raining when Noah built the ark. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Optimism is the one quality more associated with success and happiness than any other. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. A man’s best friends are his ten fingers. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. What you get by achieving your goals is not as important as what you become by achieving your goals. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If opportunity doesn’t knock, build a door. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. How we spend our days is, of course, how we spend our lives. The past has no power over the present moment. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('44', '/Users/Administrator/Pictures/img_757063.png', 'oQDrt', NULL, NULL, 'xnyAnS3qVG', '150 Elms Rd, Botley', NULL, '2022-03-22 04:37:47', '2001-09-16 08:45:21', 230.9793, 'If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A comfort zone is a beautiful place, but nothing ever grows there. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To connect to a database or schema, simply double-click it in the pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The On Startup feature allows you to control what tabs appear when you launch Navicat. You will succeed because most people are lazy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If it scares you, it might be a good thing to try. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The past has no power over the present moment. A comfort zone is a beautiful place, but nothing ever grows there. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Remember that failure is an event, not a person. You must be the change you wish to see in the world. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To connect to a database or schema, simply double-click it in the pane. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You will succeed because most people are lazy. Success consists of going from failure to failure without loss of enthusiasm. Success consists of going from failure to failure without loss of enthusiasm. A query is used to extract data from the database in a readable format according to the user\'s request. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I destroy my enemies when I make them my friends. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The first step is as good as half over. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Sometimes you win, sometimes you learn. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The past has no power over the present moment. All journeys have secret destinations of which the traveler is unaware. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.', 'Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All journeys have secret destinations of which the traveler is unaware. Genius is an infinite capacity for taking pains. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If it scares you, it might be a good thing to try. I will greet this day with love in my heart. Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the middle of winter I at last discovered that there was in me an invincible summer. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. All journeys have secret destinations of which the traveler is unaware. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Remember that failure is an event, not a person.', NULL, 'There is no way to happiness. Happiness is the way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. I destroy my enemies when I make them my friends. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Remember that failure is an event, not a person. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man’s best friends are his ten fingers. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The reason why a great man is great is that he resolves to be a great man. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If you wait, all that happens is you get older. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If you wait, all that happens is you get older. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Difficult circumstances serve as a textbook of life for people. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Anyone who has ever made anything of importance was disciplined. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. There is no way to happiness. Happiness is the way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You must be the change you wish to see in the world. A comfort zone is a beautiful place, but nothing ever grows there. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Typically, it is employed as an encrypted version of Telnet. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Genius is an infinite capacity for taking pains. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Success consists of going from failure to failure without loss of enthusiasm. I destroy my enemies when I make them my friends. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Creativity is intelligence having fun. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All journeys have secret destinations of which the traveler is unaware. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. Success consists of going from failure to failure without loss of enthusiasm. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The first step is as good as half over. You cannot save people, you can just love them. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The On Startup feature allows you to control what tabs appear when you launch Navicat. A query is used to extract data from the database in a readable format according to the user\'s request.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('45', '/home/Administrator/Pictures/img_286574.jpg', '1IFjQ', NULL, NULL, '0HvRnjaAWr', '1-7-4 Omido, Higashiosaka', NULL, '2023-05-18 11:43:29', '2011-11-26 05:00:21', 398.9517, 'A man’s best friends are his ten fingers. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Remember that failure is an event, not a person. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has ever made anything of importance was disciplined. All journeys have secret destinations of which the traveler is unaware. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. All journeys have secret destinations of which the traveler is unaware. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Synchronize to Database function will give you a full picture of all database differences. If the plan doesn’t work, change the plan, but never the goal. You cannot save people, you can just love them. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You will succeed because most people are lazy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Difficult circumstances serve as a textbook of life for people. What you get by achieving your goals is not as important as what you become by achieving your goals. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has ever made anything of importance was disciplined. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man’s best friends are his ten fingers. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I destroy my enemies when I make them my friends. Typically, it is employed as an encrypted version of Telnet. There is no way to happiness. Happiness is the way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I destroy my enemies when I make them my friends. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You cannot save people, you can just love them. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. There is no way to happiness. Happiness is the way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Genius is an infinite capacity for taking pains. I will greet this day with love in my heart. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. What you get by achieving your goals is not as important as what you become by achieving your goals. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If opportunity doesn’t knock, build a door. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has ever made anything of importance was disciplined. I destroy my enemies when I make them my friends. It wasn’t raining when Noah built the ark. A man is not old until regrets take the place of dreams. Anyone who has never made a mistake has never tried anything new. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. What you get by achieving your goals is not as important as what you become by achieving your goals. Champions keep playing until they get it right. What you get by achieving your goals is not as important as what you become by achieving your goals. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A man’s best friends are his ten fingers. Success consists of going from failure to failure without loss of enthusiasm. Genius is an infinite capacity for taking pains. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I destroy my enemies when I make them my friends. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To connect to a database or schema, simply double-click it in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external ', 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.', NULL, 'Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man is not old until regrets take the place of dreams. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Difficult circumstances serve as a textbook of life for people. Flexible settings enable you to set up a custom key for comparison and synchronization. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A comfort zone is a beautiful place, but nothing ever grows there. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If you wait, all that happens is you get older. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It wasn’t raining when Noah built the ark. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You cannot save people, you can just love them. The reason why a great man is great is that he resolves to be a great man. If the plan doesn’t work, change the plan, but never the goal. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You must be the change you wish to see in the world. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Creativity is intelligence having fun. There is no way to happiness. Happiness is the way. Remember that failure is an event, not a person. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It wasn’t raining when Noah built the ark. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The past has no power over the present moment. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It wasn’t raining when Noah built the ark. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Flexible settings enable you to set up a custom key for comparison and synchronization. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. If you wait, all that happens is you get older. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You cannot save people, you can just love them. You must be the change you wish to see in the world. Anyone who has ever made anything of importance was disciplined. Anyone who has never made a mistake has never tried anything new. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('46', 'C:\\Users\\Administrator\\Pictures\\img_474557.png', 'wzbal', NULL, NULL, 'OV0R2F5OED', '992 Riverview Road', NULL, '2024-10-19 07:57:31', '2019-10-22 07:23:37', 751.2812, 'Sometimes you win, sometimes you learn. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Anyone who has ever made anything of importance was disciplined. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A query is used to extract data from the database in a readable format according to the user\'s request. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.', 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Success consists of going from failure to failure without loss of enthusiasm. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. You cannot save people, you can just love them. If it scares you, it might be a good thing to try. You cannot save people, you can just love them. Genius is an infinite capacity for taking pains. Champions keep playing until they get it right. You cannot save people, you can just love them. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.', NULL, 'Optimism is the one quality more associated with success and happiness than any other. I will greet this day with love in my heart. If you wait, all that happens is you get older. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Genius is an infinite capacity for taking pains. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It wasn’t raining when Noah built the ark. The first step is as good as half over. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If the plan doesn’t work, change the plan, but never the goal. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Champions keep playing until they get it right. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The first step is as good as half over. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Typically, it is employed as an encrypted version of Telnet. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. You must be the change you wish to see in the world. Genius is an infinite capacity for taking pains. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I destroy my enemies when I make them my friends. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man is not old until regrets take the place of dreams. There is no way to happiness. Happiness is the way. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It wasn’t raining when Noah built the ark. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Creativity is intelligence having fun. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('47', 'C:\\Users\\Administrator\\Pictures\\img_697186.png', 'Dnfar', NULL, NULL, 'JmRAmzwbbp', '782 Yueliu Rd, Fangshan District', NULL, '2022-01-31 18:37:23', '2005-05-10 01:11:17', 297.4370, 'You will succeed because most people are lazy. I destroy my enemies when I make them my friends. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. There is no way to happiness. Happiness is the way. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Flexible settings enable you to set up a custom key for comparison and synchronization. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You must be the change you wish to see in the world. Anyone who has never made a mistake has never tried anything new. A man’s best friends are his ten fingers. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If you wait, all that happens is you get older. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. What you get by achieving your goals is not as important as what you become by achieving your goals. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. Typically, it is employed as an encrypted version of Telnet. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat 15 has added support for the system-wide dark mode. Difficult circumstances serve as a textbook of life for people. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If opportunity doesn’t knock, build a door. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections.', 'It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. All journeys have secret destinations of which the traveler is unaware. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The past has no power over the present moment. A query is used to extract data from the database in a readable format according to the user\'s request. What you get by achieving your goals is not as important as what you become by achieving your goals. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I may not have gone where I intended to go, but I think I have ended up where I needed to be. There is no way to happiness. Happiness is the way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. How we spend our days is, of course, how we spend our lives. Navicat 15 has added support for the system-wide dark mode. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. How we spend our days is, of course, how we spend our lives. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Remember that failure is an event, not a person. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If you wait, all that happens is you get older. Optimism is the one quality more associated with success and happiness than any other. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Champions keep playing until they get it right. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You will succeed because most people are lazy. I will greet this day with love in my heart. If you wait, all that happens is you get older. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Synchronize to Database function will give you a full picture of all database differences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. I will greet this day with love in my heart. A man’s best friends are his ten fingers. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Creativity is intelligence having fun. A man is not old until regrets take the place of dreams. A man’s best friends are his ten fingers. Flexible settings enable you to set up a custom key for comparison and synchronization. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. Anyone who has ever made anything of importance was disciplined. How we spend our days is, of course, how we spend our lives. It wasn’t raining when Noah built the ark. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Remember that failure is an event, not a person. There is no way to happiness. Happiness is the way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You must be the change you wish to see in the world. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You will succeed because most people are lazy. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If opportunity doesn’t knock, build a door. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has never made a mistake has never tried anything new.', NULL, 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If opportunity doesn’t knock, build a door. Genius is an infinite capacity for taking pains. The first step is as good as half over. A man’s best friends are his ten fingers. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Champions keep playing until they get it right. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Flexible settings enable you to set up a custom key for comparison and synchronization. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If opportunity doesn’t knock, build a door. A man’s best friends are his ten fingers. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. What you get by achieving your goals is not as important as what you become by achieving your goals. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Optimism is the one quality more associated with success and happiness than any other. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It wasn’t raining when Noah built the ark. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Creativity is intelligence having fun. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The reason why a great man is great is that he resolves to be a great man. Optimism is the one quality more associated with success and happiness than any other. I destroy my enemies when I make them my friends. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A query is used to extract data from the database in a readable format according to the user\'s request. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Anyone who has ever made anything of importance was disciplined. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. I will greet this day with love in my heart. Navicat 15 has added support for the system-wide dark mode. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I may not have gone where I intended to go, but I think I have ended up where I needed to be. All journeys have secret destinations of which the traveler is unaware. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man is not old until regrets take the place of dreams. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Creativity is intelligence having fun. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Synchronize to Database function will give you a full picture of all database differences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('48', 'C:\\Users\\Administrator\\Pictures\\img_702557.png', '4tOga', NULL, NULL, 'QWpqY4wnjw', '79 Jianxiang Rd, Pudong', NULL, '2020-08-26 10:45:12', '2003-07-09 01:01:30', 365.7623, 'Navicat 15 has added support for the system-wide dark mode. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Synchronize to Database function will give you a full picture of all database differences. A man’s best friends are his ten fingers. The first step is as good as half over. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat 15 has added support for the system-wide dark mode. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The past has no power over the present moment. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man’s best friends are his ten fingers. What you get by achieving your goals is not as important as what you become by achieving your goals. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You must be the change you wish to see in the world. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the middle of winter I at last discovered that there was in me an invincible summer. You cannot save people, you can just love them. Champions keep playing until they get it right. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The first step is as good as half over. If the plan doesn’t work, change the plan, but never the goal. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To connect to a database or schema, simply double-click it in the pane. Navicat 15 has added support for the system-wide dark mode. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If opportunity doesn’t knock, build a door. Genius is an infinite capacity for taking pains. Navicat 15 has added support for the system-wide dark mode. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Flexible settings enable you to set up a custom key for comparison and synchronization. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All journeys have secret destinations of which the traveler is unaware. The first step is as good as half over. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Difficult circumstances serve as a textbook of life for people. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All journeys have secret destinations of which the traveler is unaware. If the plan doesn’t work, change the plan, but never the goal.', 'It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. What you get by achieving your goals is not as important as what you become by achieving your goals. A man is not old until regrets take the place of dreams. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. Genius is an infinite capacity for taking pains. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Creativity is intelligence having fun. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I will greet this day with love in my heart. To connect to a database or schema, simply double-click it in the pane. I destroy my enemies when I make them my friends. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. I destroy my enemies when I make them my friends. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You will succeed because most people are lazy. Difficult circumstances serve as a textbook of life for people. Remember that failure is an event, not a person. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. The reason why a great man is great is that he resolves to be a great man. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If it scares you, it might be a good thing to try. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Success consists of going from failure to failure without loss of enthusiasm. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You will succeed because most people are lazy. Remember that failure is an event, not a person. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Optimism is the one quality more associated with success and happiness than any other. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The past has no power over the present moment. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat 15 has added support for the system-wide dark mode. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The first step is as good as half over. Remember that failure is an event, not a person. It wasn’t raining when Noah built the ark. How we spend our days is, of course, how we spend our lives. If it scares you, it might be a good thing to try. I will greet this day with love in my heart. You will succeed because most people are lazy. A man’s best friends are his ten fingers. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The first step is as good as half over. I will greet this day with love in my heart. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.', NULL, 'It wasn’t raining when Noah built the ark. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You cannot save people, you can just love them. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A man is not old until regrets take the place of dreams. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To connect to a database or schema, simply double-click it in the pane. You cannot save people, you can just love them. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Typically, it is employed as an encrypted version of Telnet. A man’s best friends are his ten fingers. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Anyone who has never made a mistake has never tried anything new. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the plan doesn’t work, change the plan, but never the goal. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Genius is an infinite capacity for taking pains. The Synchronize to Database function will give you a full picture of all database differences. I destroy my enemies when I make them my friends. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If you wait, all that happens is you get older. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Flexible settings enable you to set up a custom key for comparison and synchronization. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat 15 has added support for the system-wide dark mode. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If opportunity doesn’t knock, build a door. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You cannot save people, you can just love them. The first step is as good as half over. What you get by achieving your goals is not as important as what you become by achieving your goals. The On Startup feature allows you to control what tabs appear when you launch Navicat. You cannot save people, you can just love them. Anyone who has never made a mistake has never tried anything new. All journeys have secret destinations of which the traveler is unaware. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man’s best friends are his ten fingers. A man’s best friends are his ten fingers. If you wait, all that happens is you get older. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('49', 'C:\\Users\\Administrator\\Pictures\\img_481180.jpg', 'CCSHR', NULL, NULL, 'X1tt7S6Iyu', '267 Fern Street', NULL, '2021-05-05 16:13:53', '2005-08-16 13:03:00', 55.3427, 'The On Startup feature allows you to control what tabs appear when you launch Navicat. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Creativity is intelligence having fun. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Champions keep playing until they get it right. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. What you get by achieving your goals is not as important as what you become by achieving your goals. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat 15 has added support for the system-wide dark mode. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Creativity is intelligence having fun. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It wasn’t raining when Noah built the ark. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. I destroy my enemies when I make them my friends. If it scares you, it might be a good thing to try. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It wasn’t raining when Noah built the ark. If it scares you, it might be a good thing to try. Navicat 15 has added support for the system-wide dark mode. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I may not have gone where I intended to go, but I think I have ended up where I needed to be.', 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A man is not old until regrets take the place of dreams. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Synchronize to Database function will give you a full picture of all database differences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You will succeed because most people are lazy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It wasn’t raining when Noah built the ark. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. How we spend our days is, of course, how we spend our lives. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The reason why a great man is great is that he resolves to be a great man. If you wait, all that happens is you get older. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. Genius is an infinite capacity for taking pains. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Creativity is intelligence having fun. To connect to a database or schema, simply double-click it in the pane. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You will succeed because most people are lazy. Optimism is the one quality more associated with success and happiness than any other. In the middle of winter I at last discovered that there was in me an invincible summer. How we spend our days is, of course, how we spend our lives. Optimism is the one quality more associated with success and happiness than any other. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Champions keep playing until they get it right. I destroy my enemies when I make them my friends. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another.', NULL, 'Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I destroy my enemies when I make them my friends. A man’s best friends are his ten fingers. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Creativity is intelligence having fun. I destroy my enemies when I make them my friends. Difficult circumstances serve as a textbook of life for people. To connect to a database or schema, simply double-click it in the pane. It wasn’t raining when Noah built the ark. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The On Startup feature allows you to control what tabs appear when you launch Navicat. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A query is used to extract data from the database in a readable format according to the user\'s request. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. What you get by achieving your goals is not as important as what you become by achieving your goals. You must be the change you wish to see in the world. Remember that failure is an event, not a person. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Difficult circumstances serve as a textbook of life for people. You cannot save people, you can just love them. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I destroy my enemies when I make them my friends. If you wait, all that happens is you get older. If opportunity doesn’t knock, build a door. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. Anyone who has ever made anything of importance was disciplined. A man is not old until regrets take the place of dreams. Optimism is the one quality more associated with success and happiness than any other. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I destroy my enemies when I make them my friends. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has never made a mistake has never tried anything new. A query is used to extract data from the database in a readable format according to the user\'s request. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The On Startup feature allows you to control what tabs appear when you launch Navicat. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat 15 has added support for the system-wide dark mode. The Synchronize to Database function will give you a full picture of all database differences. A man is not old until regrets take the place of dreams. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Synchronize to Database function will give you a full picture of all database differences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. How we spend our days is, of course, how we spend our lives. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If you wait, all that happens is you get older. How we spend our days is, of course, how we spend our lives. You cannot save people, you can just love them. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('5', '/Users/Administrator/Pictures/img_506506.png', 'XwcIe', NULL, NULL, 'yislpRti6Z', '709 Jiangnan West Road, Haizhu District', NULL, '2024-08-27 18:45:46', '2019-07-05 04:57:54', 533.1237, 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. If it scares you, it might be a good thing to try. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. You will succeed because most people are lazy. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If the plan doesn’t work, change the plan, but never the goal. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Typically, it is employed as an encrypted version of Telnet. It wasn’t raining when Noah built the ark. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. There is no way to happiness. Happiness is the way. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man’s best friends are his ten fingers. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All journeys have secret destinations of which the traveler is unaware. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It wasn’t raining when Noah built the ark. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It wasn’t raining when Noah built the ark. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A query is used to extract data from the database in a readable format according to the user\'s request. In the middle of winter I at last discovered that there was in me an invincible summer.', 'To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man’s best friends are his ten fingers. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If opportunity doesn’t knock, build a door. The Synchronize to Database function will give you a full picture of all database differences. All journeys have secret destinations of which the traveler is unaware. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A man is not old until regrets take the place of dreams. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the middle of winter I at last discovered that there was in me an invincible summer. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Anyone who has never made a mistake has never tried anything new. Genius is an infinite capacity for taking pains. A man is not old until regrets take the place of dreams. Anyone who has ever made anything of importance was disciplined. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I will greet this day with love in my heart. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Anyone who has never made a mistake has never tried anything new. Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. There is no way to happiness. Happiness is the way. There is no way to happiness. Happiness is the way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. A man is not old until regrets take the place of dreams. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Remember that failure is an event, not a person. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Optimism is the one quality more associated with success and happiness than any other. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', NULL, 'Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has never made a mistake has never tried anything new. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. How we spend our days is, of course, how we spend our lives. A comfort zone is a beautiful place, but nothing ever grows there. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has ever made anything of importance was disciplined. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If you wait, all that happens is you get older. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man is not old until regrets take the place of dreams. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('50', '/Users/Administrator/Pictures/img_898049.jpg', 'tZNob', NULL, NULL, 'lsIJFDFOYW', '13-3-16 Toyohira 3 Jo, Toyohira Ward', NULL, '2021-03-16 22:41:57', '2021-05-17 11:29:52', 99.7309, 'SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To connect to a database or schema, simply double-click it in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the plan doesn’t work, change the plan, but never the goal. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. The past has no power over the present moment. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The past has no power over the present moment. If the plan doesn’t work, change the plan, but never the goal. Anyone who has never made a mistake has never tried anything new. Actually it is just in an idea when feel oneself can achieve and cannot achieve. What you get by achieving your goals is not as important as what you become by achieving your goals. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. What you get by achieving your goals is not as important as what you become by achieving your goals. You must be the change you wish to see in the world. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If opportunity doesn’t knock, build a door. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has ever made anything of importance was disciplined. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Anyone who has never made a mistake has never tried anything new. You will succeed because most people are lazy. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', 'Optimism is the one quality more associated with success and happiness than any other. Champions keep playing until they get it right. A query is used to extract data from the database in a readable format according to the user\'s request. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Success consists of going from failure to failure without loss of enthusiasm. All journeys have secret destinations of which the traveler is unaware. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Creativity is intelligence having fun. You will succeed because most people are lazy. All journeys have secret destinations of which the traveler is unaware. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. Genius is an infinite capacity for taking pains. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. Creativity is intelligence having fun. You will succeed because most people are lazy. Remember that failure is an event, not a person. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Sometimes you win, sometimes you learn. The reason why a great man is great is that he resolves to be a great man. There is no way to happiness. Happiness is the way. There is no way to happiness. Happiness is the way. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To connect to a database or schema, simply double-click it in the pane. Champions keep playing until they get it right. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You cannot save people, you can just love them. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In the middle of winter I at last discovered that there was in me an invincible summer.', NULL, 'Champions keep playing until they get it right. Anyone who has never made a mistake has never tried anything new. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It wasn’t raining when Noah built the ark. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I destroy my enemies when I make them my friends. If opportunity doesn’t knock, build a door. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Success consists of going from failure to failure without loss of enthusiasm. You cannot save people, you can just love them. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has never made a mistake has never tried anything new. Anyone who has ever made anything of importance was disciplined. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('51', '/Users/Administrator/Pictures/img_755214.jpg', 'Q7PVY', NULL, NULL, 'gFv6dakDL4', '298 Cyril St, Braunstone Town', NULL, '2023-06-27 06:55:41', '2004-11-19 09:53:08', 850.6088, 'The On Startup feature allows you to control what tabs appear when you launch Navicat. Sometimes you win, sometimes you learn. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.', 'Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'If you wait, all that happens is you get older. To connect to a database or schema, simply double-click it in the pane. Creativity is intelligence having fun. If the plan doesn’t work, change the plan, but never the goal. Success consists of going from failure to failure without loss of enthusiasm. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Difficult circumstances serve as a textbook of life for people. It wasn’t raining when Noah built the ark. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You must be the change you wish to see in the world. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To connect to a database or schema, simply double-click it in the pane. Anyone who has never made a mistake has never tried anything new. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Flexible settings enable you to set up a custom key for comparison and synchronization. Genius is an infinite capacity for taking pains. All journeys have secret destinations of which the traveler is unaware. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I destroy my enemies when I make them my friends. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. I will greet this day with love in my heart. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You must be the change you wish to see in the world. Anyone who has never made a mistake has never tried anything new. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Flexible settings enable you to set up a custom key for comparison and synchronization. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To connect to a database or schema, simply double-click it in the pane. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The first step is as good as half over. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In the middle of winter I at last discovered that there was in me an invincible summer. Optimism is the one quality more associated with success and happiness than any other. In the middle of winter I at last discovered that there was in me an invincible summer. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If opportunity doesn’t knock, build a door. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Remember that failure is an event, not a person. In the middle of winter I at last discovered that there was in me an invincible summer. How we spend our days is, of course, how we spend our lives. Anyone who has ever made anything of importance was disciplined. All journeys have secret destinations of which the traveler is unaware. If it scares you, it might be a good thing to try. You will succeed because most people are lazy. Remember that failure is an event, not a person. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the plan doesn’t work, change the plan, but never the goal. Navicat 15 has added support for the system-wide dark mode. Creativity is intelligence having fun. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If the plan doesn’t work, change the plan, but never the goal. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Typically, it is employed as an encrypted version of Telnet. I will greet this day with love in my heart. Typically, it is employed as an encrypted version of Telnet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Creativity is intelligence having fun. To connect to a database or schema, simply double-click it in the pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. There is no way to happiness. Happiness is the way. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('52', '/Users/Administrator/Pictures/img_280614.png', 'gpE9I', NULL, NULL, 'vvnhHzG88D', '276 49/50 Strand, Charing Cross', NULL, '2023-06-10 04:42:36', '2023-05-14 15:30:00', 674.7006, 'Success consists of going from failure to failure without loss of enthusiasm. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You will succeed because most people are lazy. You will succeed because most people are lazy. It wasn’t raining when Noah built the ark. I destroy my enemies when I make them my friends. A man is not old until regrets take the place of dreams. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If opportunity doesn’t knock, build a door. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Remember that failure is an event, not a person. You will succeed because most people are lazy. Sometimes you win, sometimes you learn. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. All journeys have secret destinations of which the traveler is unaware. You cannot save people, you can just love them. Anyone who has ever made anything of importance was disciplined. If opportunity doesn’t knock, build a door. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. How we spend our days is, of course, how we spend our lives. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal. Anyone who has ever made anything of importance was disciplined. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It wasn’t raining when Noah built the ark. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Success consists of going from failure to failure without loss of enthusiasm. A man’s best friends are his ten fingers. The On Startup feature allows you to control what tabs appear when you launch Navicat. The past has no power over the present moment. Optimism is the one quality more associated with success and happiness than any other. Sometimes you win, sometimes you learn. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It wasn’t raining when Noah built the ark. Success consists of going from failure to failure without loss of enthusiasm. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You will succeed because most people are lazy. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has never made a mistake has never tried anything new. If the plan doesn’t work, change the plan, but never the goal. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.', 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If you wait, all that happens is you get older. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I will greet this day with love in my heart. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Genius is an infinite capacity for taking pains. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If opportunity doesn’t knock, build a door. Genius is an infinite capacity for taking pains. What you get by achieving your goals is not as important as what you become by achieving your goals. You must be the change you wish to see in the world. Success consists of going from failure to failure without loss of enthusiasm. Creativity is intelligence having fun. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. Typically, it is employed as an encrypted version of Telnet. A man’s best friends are his ten fingers. I destroy my enemies when I make them my friends. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Champions keep playing until they get it right. The first step is as good as half over. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The first step is as good as half over. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. What you get by achieving your goals is not as important as what you become by achieving your goals.', NULL, 'If you wait, all that happens is you get older. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The first step is as good as half over. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('53', '/home/Administrator/Pictures/img_747684.jpg', 'Jss0G', NULL, NULL, 'hu09xGd1Ih', '994 Tremont Road', NULL, '2021-12-24 14:27:49', '2003-02-18 09:51:40', 2.3899, 'After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Sometimes you win, sometimes you learn. It wasn’t raining when Noah built the ark. Sometimes you win, sometimes you learn. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A man’s best friends are his ten fingers. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In the middle of winter I at last discovered that there was in me an invincible summer. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It wasn’t raining when Noah built the ark. If opportunity doesn’t knock, build a door. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Creativity is intelligence having fun. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. How we spend our days is, of course, how we spend our lives. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Remember that failure is an event, not a person. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If opportunity doesn’t knock, build a door. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Typically, it is employed as an encrypted version of Telnet.', 'The first step is as good as half over. There is no way to happiness. Happiness is the way. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If opportunity doesn’t knock, build a door. It wasn’t raining when Noah built the ark. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A man is not old until regrets take the place of dreams. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If it scares you, it might be a good thing to try. If you wait, all that happens is you get older. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The reason why a great man is great is that he resolves to be a great man. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Champions keep playing until they get it right. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The past has no power over the present moment. A query is used to extract data from the database in a readable format according to the user\'s request. A man is not old until regrets take the place of dreams. You cannot save people, you can just love them. If opportunity doesn’t knock, build a door. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Creativity is intelligence having fun. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the middle of winter I at last discovered that there was in me an invincible summer. Creativity is intelligence having fun. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Flexible settings enable you to set up a custom key for comparison and synchronization. Optimism is the one quality more associated with success and happiness than any other. I destroy my enemies when I make them my friends. You must be the change you wish to see in the world. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I destroy my enemies when I make them my friends. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. A man is not old until regrets take the place of dreams. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', NULL, 'Anyone who has ever made anything of importance was disciplined. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. Success consists of going from failure to failure without loss of enthusiasm. I will greet this day with love in my heart. There is no way to happiness. Happiness is the way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The reason why a great man is great is that he resolves to be a great man. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The first step is as good as half over. In the middle of winter I at last discovered that there was in me an invincible summer. A man’s best friends are his ten fingers. If it scares you, it might be a good thing to try. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the plan doesn’t work, change the plan, but never the goal. A man is not old until regrets take the place of dreams. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Creativity is intelligence having fun. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Champions keep playing until they get it right. A query is used to extract data from the database in a readable format according to the user\'s request. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Genius is an infinite capacity for taking pains. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If opportunity doesn’t knock, build a door. You cannot save people, you can just love them. A comfort zone is a beautiful place, but nothing ever grows there. In the middle of winter I at last discovered that there was in me an invincible summer. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It wasn’t raining when Noah built the ark. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Success consists of going from failure to failure without loss of enthusiasm. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. There is no way to happiness. Happiness is the way. In the middle of winter I at last discovered that there was in me an invincible summer. There is no way to happiness. Happiness is the way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('54', 'C:\\Users\\Administrator\\Pictures\\img_131934.jpg', 'MIvx2', NULL, NULL, 'juWD6s91ke', '4-9-10 Kamihigashi, Hirano Ward', NULL, '2021-09-21 02:25:34', '2022-09-04 17:14:16', 646.7536, 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man’s best friends are his ten fingers. Champions keep playing until they get it right. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The past has no power over the present moment. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A query is used to extract data from the database in a readable format according to the user\'s request. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If it scares you, it might be a good thing to try. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Flexible settings enable you to set up a custom key for comparison and synchronization. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.', 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If opportunity doesn’t knock, build a door. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The reason why a great man is great is that he resolves to be a great man. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A comfort zone is a beautiful place, but nothing ever grows there. The past has no power over the present moment. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The On Startup feature allows you to control what tabs appear when you launch Navicat. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. A man is not old until regrets take the place of dreams. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The reason why a great man is great is that he resolves to be a great man. Success consists of going from failure to failure without loss of enthusiasm. Creativity is intelligence having fun. There is no way to happiness. Happiness is the way. The past has no power over the present moment. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The first step is as good as half over. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All journeys have secret destinations of which the traveler is unaware. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You will succeed because most people are lazy. The Synchronize to Database function will give you a full picture of all database differences. To connect to a database or schema, simply double-click it in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The reason why a great man is great is that he resolves to be a great man. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All journeys have secret destinations of which the traveler is unaware. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If the plan doesn’t work, change the plan, but never the goal. A man is not old until regrets take the place of dreams. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Flexible settings enable you to set up a custom key for comparison and synchronization. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It wasn’t raining when Noah built the ark. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Remember that failure is an event, not a person. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The reason why a great man is great is that he resolves to be a great man. The past has no power over the present moment. A man’s best friends are his ten fingers. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You must be the change you wish to see in the world. It wasn’t raining when Noah built the ark. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If it scares you, it might be a good thing to try. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has ever made anything of importance was disciplined. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the middle of winter I at last discovered that there was in me an invincible summer. Remember that failure is an event, not a person. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You cannot save people, you can just love them. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more.', NULL, 'The Synchronize to Database function will give you a full picture of all database differences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The reason why a great man is great is that he resolves to be a great man. The first step is as good as half over. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The first step is as good as half over. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You will succeed because most people are lazy. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A man’s best friends are his ten fingers. The Synchronize to Database function will give you a full picture of all database differences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Anyone who has never made a mistake has never tried anything new. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Genius is an infinite capacity for taking pains. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Champions keep playing until they get it right. A query is used to extract data from the database in a readable format according to the user\'s request. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Sometimes you win, sometimes you learn. A query is used to extract data from the database in a readable format according to the user\'s request. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the plan doesn’t work, change the plan, but never the goal. If opportunity doesn’t knock, build a door. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('55', '/Users/Administrator/Pictures/img_617489.png', '4IiEU', NULL, NULL, 'jjXGbEDoD1', '983 New Street', NULL, '2023-10-19 23:01:22', '2024-11-03 19:35:24', 991.8260, 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You will succeed because most people are lazy. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A comfort zone is a beautiful place, but nothing ever grows there. I destroy my enemies when I make them my friends. The past has no power over the present moment. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A query is used to extract data from the database in a readable format according to the user\'s request. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You must be the change you wish to see in the world. Difficult circumstances serve as a textbook of life for people. Anyone who has ever made anything of importance was disciplined. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Creativity is intelligence having fun. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You will succeed because most people are lazy. Genius is an infinite capacity for taking pains. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Genius is an infinite capacity for taking pains. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man’s best friends are his ten fingers. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A comfort zone is a beautiful place, but nothing ever grows there. You must be the change you wish to see in the world. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'I destroy my enemies when I make them my friends. To connect to a database or schema, simply double-click it in the pane. If the plan doesn’t work, change the plan, but never the goal. You will succeed because most people are lazy. Champions keep playing until they get it right. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Genius is an infinite capacity for taking pains. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A query is used to extract data from the database in a readable format according to the user\'s request. A man is not old until regrets take the place of dreams. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. Navicat 15 has added support for the system-wide dark mode. You cannot save people, you can just love them. The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The reason why a great man is great is that he resolves to be a great man. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The first step is as good as half over. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. What you get by achieving your goals is not as important as what you become by achieving your goals. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.', NULL, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You will succeed because most people are lazy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Optimism is the one quality more associated with success and happiness than any other. If you wait, all that happens is you get older. A man’s best friends are his ten fingers. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Genius is an infinite capacity for taking pains. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Anyone who has never made a mistake has never tried anything new. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the plan doesn’t work, change the plan, but never the goal. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A man’s best friends are his ten fingers. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat 15 has added support for the system-wide dark mode. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Anyone who has never made a mistake has never tried anything new. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It wasn’t raining when Noah built the ark. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I will greet this day with love in my heart. The reason why a great man is great is that he resolves to be a great man. A comfort zone is a beautiful place, but nothing ever grows there. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I may not have gone where I intended to go, but I think I have ended up where I needed to be. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Synchronize to Database function will give you a full picture of all database differences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The past has no power over the present moment. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If opportunity doesn’t knock, build a door. Anyone who has never made a mistake has never tried anything new. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All journeys have secret destinations of which the traveler is unaware. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If you wait, all that happens is you get older. A man’s best friends are his ten fingers. It wasn’t raining when Noah built the ark. What you get by achieving your goals is not as important as what you become by achieving your goals. If you wait, all that happens is you get older. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You cannot save people, you can just love them. The On Startup feature allows you to control what tabs appear when you launch Navicat. You must be the change you wish to see in the world. Navicat 15 has added support for the system-wide dark mode. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I destroy my enemies when I make them my friends. Optimism is the one quality more associated with success and happiness than any other. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('56', '/home/Administrator/Pictures/img_185101.png', 'Z2Ka9', NULL, NULL, 'If9fKmzvIT', '615 East Alley', NULL, '2023-10-23 07:06:56', '2013-03-05 06:55:27', 56.8397, 'To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Champions keep playing until they get it right. The On Startup feature allows you to control what tabs appear when you launch Navicat. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat 15 has added support for the system-wide dark mode. If opportunity doesn’t knock, build a door. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', 'Champions keep playing until they get it right. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It wasn’t raining when Noah built the ark. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Sometimes you win, sometimes you learn. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man’s best friends are his ten fingers. Navicat 15 has added support for the system-wide dark mode. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. There is no way to happiness. Happiness is the way. Genius is an infinite capacity for taking pains. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man’s best friends are his ten fingers. To connect to a database or schema, simply double-click it in the pane. How we spend our days is, of course, how we spend our lives. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has ever made anything of importance was disciplined. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has never made a mistake has never tried anything new. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A man’s best friends are his ten fingers. The past has no power over the present moment. The past has no power over the present moment. You will succeed because most people are lazy. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I destroy my enemies when I make them my friends. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Flexible settings enable you to set up a custom key for comparison and synchronization. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I destroy my enemies when I make them my friends. I destroy my enemies when I make them my friends. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. You will succeed because most people are lazy. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The past has no power over the present moment. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.', NULL, 'To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Creativity is intelligence having fun. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The first step is as good as half over. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Difficult circumstances serve as a textbook of life for people. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I will greet this day with love in my heart. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Optimism is the one quality more associated with success and happiness than any other. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man is not old until regrets take the place of dreams. The reason why a great man is great is that he resolves to be a great man. Anyone who has ever made anything of importance was disciplined. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Optimism is the one quality more associated with success and happiness than any other. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Typically, it is employed as an encrypted version of Telnet. Champions keep playing until they get it right. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Genius is an infinite capacity for taking pains. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It wasn’t raining when Noah built the ark. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has never made a mistake has never tried anything new. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has ever made anything of importance was disciplined. I may not have gone where I intended to go, but I think I have ended up where I needed to be.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('57', '/Users/Administrator/Pictures/img_322520.png', 'qySRI', NULL, NULL, 'HLKzQPkYDb', '210 Qingshuihe 1st Rd, Luohu District', NULL, '2022-04-27 06:04:47', '2019-04-04 04:39:40', 697.3265, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If it scares you, it might be a good thing to try. It wasn’t raining when Noah built the ark. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Remember that failure is an event, not a person. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A query is used to extract data from the database in a readable format according to the user\'s request. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. How we spend our days is, of course, how we spend our lives. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. There is no way to happiness. Happiness is the way. Champions keep playing until they get it right. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Sometimes you win, sometimes you learn. To connect to a database or schema, simply double-click it in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The On Startup feature allows you to control what tabs appear when you launch Navicat. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. How we spend our days is, of course, how we spend our lives. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. A comfort zone is a beautiful place, but nothing ever grows there. What you get by achieving your goals is not as important as what you become by achieving your goals. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Typically, it is employed as an encrypted version of Telnet. In the middle of winter I at last discovered that there was in me an invincible summer. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If the plan doesn’t work, change the plan, but never the goal. Sometimes you win, sometimes you learn. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the middle of winter I at last discovered that there was in me an invincible summer. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. In the middle of winter I at last discovered that there was in me an invincible summer. Optimism is the one quality more associated with success and happiness than any other. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Genius is an infinite capacity for taking pains. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I destroy my enemies when I make them my friends. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In the middle of winter I at last discovered that there was in me an invincible summer. Sometimes you win, sometimes you learn. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the plan doesn’t work, change the plan, but never the goal. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A man’s best friends are his ten fingers. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If opportunity doesn’t knock, build a door. Success consists of going from failure to failure without loss of enthusiasm. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.', 'Genius is an infinite capacity for taking pains. Sometimes you win, sometimes you learn. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All journeys have secret destinations of which the traveler is unaware. You cannot save people, you can just love them. Remember that failure is an event, not a person. A comfort zone is a beautiful place, but nothing ever grows there. The past has no power over the present moment. Anyone who has ever made anything of importance was disciplined. Anyone who has never made a mistake has never tried anything new. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A man is not old until regrets take the place of dreams. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Genius is an infinite capacity for taking pains. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Difficult circumstances serve as a textbook of life for people. What you get by achieving your goals is not as important as what you become by achieving your goals. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Genius is an infinite capacity for taking pains. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Optimism is the one quality more associated with success and happiness than any other. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A man is not old until regrets take the place of dreams. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. If it scares you, it might be a good thing to try. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Typically, it is employed as an encrypted version of Telnet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If it scares you, it might be a good thing to try. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Anyone who has ever made anything of importance was disciplined. I destroy my enemies when I make them my friends. A query is used to extract data from the database in a readable format according to the user\'s request. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Typically, it is employed as an encrypted version of Telnet. All journeys have secret destinations of which the traveler is unaware. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Sometimes you win, sometimes you learn. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Optimism is the one quality more associated with success and happiness than any other. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Creativity is intelligence having fun. Sometimes you win, sometimes you learn. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has never made a mistake has never tried anything new. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Remember that failure is an event, not a person. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. The first step is as good as half over. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The On Startup feature allows you to control what tabs appear when you launch Navicat. The first step is as good as half over. The first step is as good as half over. If it scares you, it might be a good thing to try. If opportunity doesn’t knock, build a door. I will greet this day with love in my heart. Creativity is intelligence having fun. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. What you get by achieving your goals is not as important as what you become by achieving your goals. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A query is used to extract data from the database in a readable format according to the user\'s request. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Anyone who has never made a mistake has never tried anything new. Anyone who has ever made anything of importance was disciplined. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If you wait, all that happens is you get older. A comfort zone is a beautiful place, but nothing ever grows there. A man is not old until regrets take the place of dreams. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', NULL, 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat 15 has added support for the system-wide dark mode. You will succeed because most people are lazy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All journeys have secret destinations of which the traveler is unaware. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Flexible settings enable you to set up a custom key for comparison and synchronization. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Remember that failure is an event, not a person. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. Anyone who has never made a mistake has never tried anything new. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A query is used to extract data from the database in a readable format according to the user\'s request. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Champions keep playing until they get it right. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To connect to a database or schema, simply double-click it in the pane. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('58', 'C:\\Users\\Administrator\\Pictures\\img_278175.jpg', 'xAGie', NULL, NULL, 'nhDBsG4w7K', '86 Stephenson Street', NULL, '2022-06-01 08:45:42', '2011-02-11 07:40:42', 50.4564, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Success consists of going from failure to failure without loss of enthusiasm. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat 15 has added support for the system-wide dark mode. Typically, it is employed as an encrypted version of Telnet. In the middle of winter I at last discovered that there was in me an invincible summer. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat 15 has added support for the system-wide dark mode. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.', 'A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I will greet this day with love in my heart. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I will greet this day with love in my heart. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections.', NULL, 'All journeys have secret destinations of which the traveler is unaware. I may not have gone where I intended to go, but I think I have ended up where I needed to be. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If the plan doesn’t work, change the plan, but never the goal. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('59', 'C:\\Users\\Administrator\\Pictures\\img_137439.jpg', 'y7Zxx', NULL, NULL, 'zoPSDNgjtT', '138 Canal Street', NULL, '2020-05-09 10:49:55', '2003-08-13 22:36:59', 878.5804, 'Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You will succeed because most people are lazy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Sometimes you win, sometimes you learn. The On Startup feature allows you to control what tabs appear when you launch Navicat. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Champions keep playing until they get it right. Creativity is intelligence having fun. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. How we spend our days is, of course, how we spend our lives. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Anyone who has ever made anything of importance was disciplined. You cannot save people, you can just love them. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Creativity is intelligence having fun. Anyone who has ever made anything of importance was disciplined. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A man’s best friends are his ten fingers. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It wasn’t raining when Noah built the ark. A man’s best friends are his ten fingers. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Champions keep playing until they get it right. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You cannot save people, you can just love them. The Synchronize to Database function will give you a full picture of all database differences.', 'There is no way to happiness. Happiness is the way. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I may not have gone where I intended to go, but I think I have ended up where I needed to be. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The reason why a great man is great is that he resolves to be a great man. A comfort zone is a beautiful place, but nothing ever grows there. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You must be the change you wish to see in the world. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has ever made anything of importance was disciplined. The Synchronize to Database function will give you a full picture of all database differences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The reason why a great man is great is that he resolves to be a great man. Creativity is intelligence having fun. I will greet this day with love in my heart. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You cannot save people, you can just love them. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Difficult circumstances serve as a textbook of life for people. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has never made a mistake has never tried anything new. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Success consists of going from failure to failure without loss of enthusiasm. You must be the change you wish to see in the world. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man’s best friends are his ten fingers. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The past has no power over the present moment. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If you wait, all that happens is you get older. There is no way to happiness. Happiness is the way. Difficult circumstances serve as a textbook of life for people. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the middle of winter I at last discovered that there was in me an invincible summer. The On Startup feature allows you to control what tabs appear when you launch Navicat. You will succeed because most people are lazy. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections.', NULL, 'Success consists of going from failure to failure without loss of enthusiasm. The past has no power over the present moment. The first step is as good as half over. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I will greet this day with love in my heart. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You must be the change you wish to see in the world. There is no way to happiness. Happiness is the way. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. A man is not old until regrets take the place of dreams. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Champions keep playing until they get it right. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has never made a mistake has never tried anything new. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. What you get by achieving your goals is not as important as what you become by achieving your goals. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Sometimes you win, sometimes you learn. I may not have gone where I intended to go, but I think I have ended up where I needed to be. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The first step is as good as half over. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All journeys have secret destinations of which the traveler is unaware. I will greet this day with love in my heart. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Creativity is intelligence having fun. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I destroy my enemies when I make them my friends. Genius is an infinite capacity for taking pains. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. To connect to a database or schema, simply double-click it in the pane. You must be the change you wish to see in the world. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. What you get by achieving your goals is not as important as what you become by achieving your goals. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat 15 has added support for the system-wide dark mode. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('6', '/Users/Administrator/Pictures/img_738599.jpg', 'S4gkQ', NULL, NULL, 'tRbWt8i6Iv', 'No. 767, Shuangqing Rd, Chenghua District', NULL, '2021-06-05 21:18:53', '2018-07-25 23:54:22', 848.3930, 'It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Remember that failure is an event, not a person. Champions keep playing until they get it right. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If opportunity doesn’t knock, build a door. Remember that failure is an event, not a person. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the middle of winter I at last discovered that there was in me an invincible summer. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Flexible settings enable you to set up a custom key for comparison and synchronization. What you get by achieving your goals is not as important as what you become by achieving your goals. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Genius is an infinite capacity for taking pains. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Remember that failure is an event, not a person. Remember that failure is an event, not a person. The On Startup feature allows you to control what tabs appear when you launch Navicat. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', 'A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A comfort zone is a beautiful place, but nothing ever grows there. Genius is an infinite capacity for taking pains. Champions keep playing until they get it right. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the middle of winter I at last discovered that there was in me an invincible summer. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man is not old until regrets take the place of dreams. Anyone who has ever made anything of importance was disciplined.', NULL, 'Creativity is intelligence having fun. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Remember that failure is an event, not a person. If the plan doesn’t work, change the plan, but never the goal. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A comfort zone is a beautiful place, but nothing ever grows there. Navicat 15 has added support for the system-wide dark mode. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The reason why a great man is great is that he resolves to be a great man. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Typically, it is employed as an encrypted version of Telnet. If opportunity doesn’t knock, build a door. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Champions keep playing until they get it right. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In the middle of winter I at last discovered that there was in me an invincible summer. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In the middle of winter I at last discovered that there was in me an invincible summer. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man is not old until regrets take the place of dreams. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If it scares you, it might be a good thing to try. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Typically, it is employed as an encrypted version of Telnet. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Creativity is intelligence having fun. Flexible settings enable you to set up a custom key for comparison and synchronization. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('60', 'C:\\Users\\Administrator\\Pictures\\img_711321.png', 'gToUz', NULL, NULL, 'HeiasTGytP', '1-7-16 Saidaiji Akodacho', NULL, '2024-10-01 12:26:52', '2007-06-28 18:52:47', 337.8468, 'A man is not old until regrets take the place of dreams. How we spend our days is, of course, how we spend our lives. The reason why a great man is great is that he resolves to be a great man. If opportunity doesn’t knock, build a door. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The first step is as good as half over. There is no way to happiness. Happiness is the way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I will greet this day with love in my heart. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Remember that failure is an event, not a person.', 'It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If it scares you, it might be a good thing to try. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Champions keep playing until they get it right. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat 15 has added support for the system-wide dark mode. A man is not old until regrets take the place of dreams. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If opportunity doesn’t knock, build a door. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You must be the change you wish to see in the world. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Typically, it is employed as an encrypted version of Telnet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Actually it is just in an idea when feel oneself can achieve and cannot achieve. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To connect to a database or schema, simply double-click it in the pane. It wasn’t raining when Noah built the ark. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. All journeys have secret destinations of which the traveler is unaware. A man is not old until regrets take the place of dreams. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Creativity is intelligence having fun. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I will greet this day with love in my heart. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If it scares you, it might be a good thing to try. The first step is as good as half over. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. Navicat 15 has added support for the system-wide dark mode. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A comfort zone is a beautiful place, but nothing ever grows there. It wasn’t raining when Noah built the ark. To connect to a database or schema, simply double-click it in the pane. If you wait, all that happens is you get older. Navicat 15 has added support for the system-wide dark mode. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A query is used to extract data from the database in a readable format according to the user\'s request. I destroy my enemies when I make them my friends. Difficult circumstances serve as a textbook of life for people. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.', NULL, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The On Startup feature allows you to control what tabs appear when you launch Navicat. I will greet this day with love in my heart. Optimism is the one quality more associated with success and happiness than any other. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A man’s best friends are his ten fingers. Creativity is intelligence having fun. You cannot save people, you can just love them. I destroy my enemies when I make them my friends. Flexible settings enable you to set up a custom key for comparison and synchronization. A man is not old until regrets take the place of dreams. Typically, it is employed as an encrypted version of Telnet. Champions keep playing until they get it right. Champions keep playing until they get it right. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. All journeys have secret destinations of which the traveler is unaware. The reason why a great man is great is that he resolves to be a great man. To connect to a database or schema, simply double-click it in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The past has no power over the present moment. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has ever made anything of importance was disciplined. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It wasn’t raining when Noah built the ark. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('61', '/Users/Administrator/Pictures/img_365933.jpg', '5BvIB', NULL, NULL, 'YM04zi6s4w', '961 W Ring Rd, Buji Town, Longgang', NULL, '2023-04-27 03:47:14', '2016-06-01 06:27:52', 130.0495, 'Success consists of going from failure to failure without loss of enthusiasm. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The reason why a great man is great is that he resolves to be a great man. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Flexible settings enable you to set up a custom key for comparison and synchronization. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has never made a mistake has never tried anything new. You must be the change you wish to see in the world. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I destroy my enemies when I make them my friends. Sometimes you win, sometimes you learn. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the middle of winter I at last discovered that there was in me an invincible summer. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. What you get by achieving your goals is not as important as what you become by achieving your goals. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. How we spend our days is, of course, how we spend our lives. Sometimes you win, sometimes you learn. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. Anyone who has never made a mistake has never tried anything new. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Success consists of going from failure to failure without loss of enthusiasm. Typically, it is employed as an encrypted version of Telnet. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. To connect to a database or schema, simply double-click it in the pane. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication.', 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Champions keep playing until they get it right. The past has no power over the present moment. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Champions keep playing until they get it right. Sometimes you win, sometimes you learn. Champions keep playing until they get it right. Remember that failure is an event, not a person. How we spend our days is, of course, how we spend our lives. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I will greet this day with love in my heart. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. There is no way to happiness. Happiness is the way. The Synchronize to Database function will give you a full picture of all database differences. Anyone who has ever made anything of importance was disciplined. You cannot save people, you can just love them. Anyone who has ever made anything of importance was disciplined. A man is not old until regrets take the place of dreams. The reason why a great man is great is that he resolves to be a great man. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Champions keep playing until they get it right. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Champions keep playing until they get it right. Optimism is the one quality more associated with success and happiness than any other. Typically, it is employed as an encrypted version of Telnet. If opportunity doesn’t knock, build a door. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man’s best friends are his ten fingers. In the middle of winter I at last discovered that there was in me an invincible summer. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Champions keep playing until they get it right. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Anyone who has ever made anything of importance was disciplined. If the plan doesn’t work, change the plan, but never the goal. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Optimism is the one quality more associated with success and happiness than any other. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Remember that failure is an event, not a person. Sometimes you win, sometimes you learn. Flexible settings enable you to set up a custom key for comparison and synchronization. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To connect to a database or schema, simply double-click it in the pane. Difficult circumstances serve as a textbook of life for people. You will succeed because most people are lazy. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You cannot save people, you can just love them. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The reason why a great man is great is that he resolves to be a great man. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Synchronize to Database function will give you a full picture of all database differences. What you get by achieving your goals is not as important as what you become by achieving your goals. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections.', NULL, 'The Synchronize to Database function will give you a full picture of all database differences. If you wait, all that happens is you get older. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You must be the change you wish to see in the world. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I will greet this day with love in my heart. If you wait, all that happens is you get older. If it scares you, it might be a good thing to try. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. What you get by achieving your goals is not as important as what you become by achieving your goals. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. I destroy my enemies when I make them my friends. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man’s best friends are his ten fingers. A comfort zone is a beautiful place, but nothing ever grows there. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It wasn’t raining when Noah built the ark. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Optimism is the one quality more associated with success and happiness than any other. You must be the change you wish to see in the world. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. All journeys have secret destinations of which the traveler is unaware. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Typically, it is employed as an encrypted version of Telnet. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You cannot save people, you can just love them. There is no way to happiness. Happiness is the way. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('62', '/Users/Administrator/Pictures/img_063088.png', 'h1eAy', NULL, NULL, 'tEQ9CX4vA5', '4-9-10 Kamihigashi, Hirano Ward', NULL, '2021-02-11 23:17:31', '2016-02-09 10:56:39', 790.3870, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Creativity is intelligence having fun. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If you wait, all that happens is you get older. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Genius is an infinite capacity for taking pains. Anyone who has never made a mistake has never tried anything new. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A query is used to extract data from the database in a readable format according to the user\'s request. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. Creativity is intelligence having fun. It wasn’t raining when Noah built the ark. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You will succeed because most people are lazy. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. What you get by achieving your goals is not as important as what you become by achieving your goals. It wasn’t raining when Noah built the ark. The past has no power over the present moment. It wasn’t raining when Noah built the ark. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If the plan doesn’t work, change the plan, but never the goal. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You must be the change you wish to see in the world. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Typically, it is employed as an encrypted version of Telnet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Success consists of going from failure to failure without loss of enthusiasm. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Typically, it is employed as an encrypted version of Telnet. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If it scares you, it might be a good thing to try. I destroy my enemies when I make them my friends. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You will succeed because most people are lazy. If opportunity doesn’t knock, build a door. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It wasn’t raining when Noah built the ark. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man’s best friends are his ten fingers. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I destroy my enemies when I make them my friends. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Optimism is the one quality more associated with success and happiness than any other. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Difficult circumstances serve as a textbook of life for people. If it scares you, it might be a good thing to try.', 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Champions keep playing until they get it right. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Difficult circumstances serve as a textbook of life for people. A query is used to extract data from the database in a readable format according to the user\'s request. You will succeed because most people are lazy. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You will succeed because most people are lazy. Difficult circumstances serve as a textbook of life for people. How we spend our days is, of course, how we spend our lives. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If you wait, all that happens is you get older. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Difficult circumstances serve as a textbook of life for people. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To connect to a database or schema, simply double-click it in the pane. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The first step is as good as half over. A comfort zone is a beautiful place, but nothing ever grows there. I destroy my enemies when I make them my friends. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. There is no way to happiness. Happiness is the way. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The reason why a great man is great is that he resolves to be a great man. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure.', NULL, 'It wasn’t raining when Noah built the ark. The On Startup feature allows you to control what tabs appear when you launch Navicat. I destroy my enemies when I make them my friends. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The reason why a great man is great is that he resolves to be a great man. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. What you get by achieving your goals is not as important as what you become by achieving your goals. You must be the change you wish to see in the world. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. There is no way to happiness. Happiness is the way. How we spend our days is, of course, how we spend our lives. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I destroy my enemies when I make them my friends. To connect to a database or schema, simply double-click it in the pane. Creativity is intelligence having fun. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has never made a mistake has never tried anything new. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has never made a mistake has never tried anything new. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Actually it is just in an idea when feel oneself can achieve and cannot achieve. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Success consists of going from failure to failure without loss of enthusiasm. Success consists of going from failure to failure without loss of enthusiasm. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All journeys have secret destinations of which the traveler is unaware. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man is not old until regrets take the place of dreams. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A query is used to extract data from the database in a readable format according to the user\'s request. You cannot save people, you can just love them. To connect to a database or schema, simply double-click it in the pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All journeys have secret destinations of which the traveler is unaware. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. What you get by achieving your goals is not as important as what you become by achieving your goals. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. How we spend our days is, of course, how we spend our lives. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('63', 'C:\\Users\\Administrator\\Pictures\\img_006966.png', '29y2v', NULL, NULL, 'jGgyX2gZaZ', '367 Columbia St', NULL, '2020-05-24 21:15:17', '2021-04-12 10:52:00', 909.6793, 'It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You cannot save people, you can just love them. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Genius is an infinite capacity for taking pains. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Sometimes you win, sometimes you learn. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Flexible settings enable you to set up a custom key for comparison and synchronization. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. How we spend our days is, of course, how we spend our lives. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Flexible settings enable you to set up a custom key for comparison and synchronization. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The first step is as good as half over. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You must be the change you wish to see in the world. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has ever made anything of importance was disciplined. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Anyone who has ever made anything of importance was disciplined. Success consists of going from failure to failure without loss of enthusiasm. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The first step is as good as half over. The first step is as good as half over. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy.', 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If opportunity doesn’t knock, build a door. There is no way to happiness. Happiness is the way. You will succeed because most people are lazy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A man’s best friends are his ten fingers. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Champions keep playing until they get it right. If opportunity doesn’t knock, build a door. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If opportunity doesn’t knock, build a door. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man is not old until regrets take the place of dreams. You cannot save people, you can just love them. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Champions keep playing until they get it right. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The past has no power over the present moment. The reason why a great man is great is that he resolves to be a great man. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Typically, it is employed as an encrypted version of Telnet. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A query is used to extract data from the database in a readable format according to the user\'s request. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If opportunity doesn’t knock, build a door. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the middle of winter I at last discovered that there was in me an invincible summer. The Synchronize to Database function will give you a full picture of all database differences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Anyone who has ever made anything of importance was disciplined. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Sometimes you win, sometimes you learn. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You cannot save people, you can just love them. The first step is as good as half over. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', NULL, 'If opportunity doesn’t knock, build a door. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. What you get by achieving your goals is not as important as what you become by achieving your goals. I destroy my enemies when I make them my friends. Navicat 15 has added support for the system-wide dark mode. Navicat 15 has added support for the system-wide dark mode. Success consists of going from failure to failure without loss of enthusiasm. I destroy my enemies when I make them my friends. You will succeed because most people are lazy. Navicat 15 has added support for the system-wide dark mode. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The first step is as good as half over. Anyone who has never made a mistake has never tried anything new. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Anyone who has never made a mistake has never tried anything new. In the middle of winter I at last discovered that there was in me an invincible summer. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Synchronize to Database function will give you a full picture of all database differences. The On Startup feature allows you to control what tabs appear when you launch Navicat. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Flexible settings enable you to set up a custom key for comparison and synchronization. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Difficult circumstances serve as a textbook of life for people. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I destroy my enemies when I make them my friends. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Remember that failure is an event, not a person. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. What you get by achieving your goals is not as important as what you become by achieving your goals. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It wasn’t raining when Noah built the ark. To connect to a database or schema, simply double-click it in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('64', 'C:\\Users\\Administrator\\Pictures\\img_518706.jpg', '2VU2B', NULL, NULL, 'kXnv2MQfow', '21 East Cooke Road', NULL, '2021-09-09 15:47:19', '2014-02-15 18:49:57', 802.7024, 'To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A comfort zone is a beautiful place, but nothing ever grows there. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The first step is as good as half over. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If it scares you, it might be a good thing to try. A man is not old until regrets take the place of dreams. If it scares you, it might be a good thing to try. You cannot save people, you can just love them. Navicat 15 has added support for the system-wide dark mode. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The On Startup feature allows you to control what tabs appear when you launch Navicat. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Champions keep playing until they get it right. You must be the change you wish to see in the world. To connect to a database or schema, simply double-click it in the pane. If it scares you, it might be a good thing to try. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If you wait, all that happens is you get older. Anyone who has never made a mistake has never tried anything new. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Optimism is the one quality more associated with success and happiness than any other. Remember that failure is an event, not a person. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You will succeed because most people are lazy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat 15 has added support for the system-wide dark mode. Typically, it is employed as an encrypted version of Telnet. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The past has no power over the present moment. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. I destroy my enemies when I make them my friends. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The first step is as good as half over. If the plan doesn’t work, change the plan, but never the goal. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has never made a mistake has never tried anything new. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I destroy my enemies when I make them my friends. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Anyone who has ever made anything of importance was disciplined. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration.', 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The reason why a great man is great is that he resolves to be a great man. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If the plan doesn’t work, change the plan, but never the goal. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I may not have gone where I intended to go, but I think I have ended up where I needed to be. I will greet this day with love in my heart. I may not have gone where I intended to go, but I think I have ended up where I needed to be. I will greet this day with love in my heart. Champions keep playing until they get it right. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Anyone who has ever made anything of importance was disciplined. The reason why a great man is great is that he resolves to be a great man. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The reason why a great man is great is that he resolves to be a great man. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You must be the change you wish to see in the world. Sometimes you win, sometimes you learn. You will succeed because most people are lazy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You cannot save people, you can just love them. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Difficult circumstances serve as a textbook of life for people. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The reason why a great man is great is that he resolves to be a great man. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Creativity is intelligence having fun. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the middle of winter I at last discovered that there was in me an invincible summer. Creativity is intelligence having fun. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the plan doesn’t work, change the plan, but never the goal. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I may not have gone where I intended to go, but I think I have ended up where I needed to be. How we spend our days is, of course, how we spend our lives. If it scares you, it might be a good thing to try. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If you wait, all that happens is you get older. Success consists of going from failure to failure without loss of enthusiasm. Genius is an infinite capacity for taking pains. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Champions keep playing until they get it right. It wasn’t raining when Noah built the ark. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If you wait, all that happens is you get older. Anyone who has ever made anything of importance was disciplined. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Genius is an infinite capacity for taking pains. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Genius is an infinite capacity for taking pains. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. I may not have gone where I intended to go, but I think I have ended up where I needed to be.', NULL, 'Difficult circumstances serve as a textbook of life for people. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The reason why a great man is great is that he resolves to be a great man. If you wait, all that happens is you get older. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The On Startup feature allows you to control what tabs appear when you launch Navicat. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Champions keep playing until they get it right. Success consists of going from failure to failure without loss of enthusiasm. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Anyone who has never made a mistake has never tried anything new. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To connect to a database or schema, simply double-click it in the pane. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. What you get by achieving your goals is not as important as what you become by achieving your goals. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the plan doesn’t work, change the plan, but never the goal. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I destroy my enemies when I make them my friends. You will succeed because most people are lazy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To connect to a database or schema, simply double-click it in the pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Typically, it is employed as an encrypted version of Telnet. I will greet this day with love in my heart. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Creativity is intelligence having fun. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man is not old until regrets take the place of dreams. How we spend our days is, of course, how we spend our lives. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Remember that failure is an event, not a person. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('65', '/Users/Administrator/Pictures/img_235551.png', '9M8fF', NULL, NULL, 'WA17b7yuXH', '2-1-16 Kaminopporo 1 Jo, Atsubetsu Ward', NULL, '2024-10-25 11:46:14', '2018-04-28 22:50:21', 365.8484, 'To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Difficult circumstances serve as a textbook of life for people. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To connect to a database or schema, simply double-click it in the pane. You will succeed because most people are lazy. It wasn’t raining when Noah built the ark. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has never made a mistake has never tried anything new. You must be the change you wish to see in the world. Creativity is intelligence having fun. The Synchronize to Database function will give you a full picture of all database differences. A man’s best friends are his ten fingers. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If you wait, all that happens is you get older. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Sometimes you win, sometimes you learn. Remember that failure is an event, not a person. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The past has no power over the present moment. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You will succeed because most people are lazy. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat 15 has added support for the system-wide dark mode. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', 'Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has ever made anything of importance was disciplined. All journeys have secret destinations of which the traveler is unaware. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The On Startup feature allows you to control what tabs appear when you launch Navicat. The past has no power over the present moment. To connect to a database or schema, simply double-click it in the pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Champions keep playing until they get it right. If the plan doesn’t work, change the plan, but never the goal. How we spend our days is, of course, how we spend our lives. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. It wasn’t raining when Noah built the ark.', NULL, 'It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Difficult circumstances serve as a textbook of life for people. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In the middle of winter I at last discovered that there was in me an invincible summer. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The first step is as good as half over. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If you wait, all that happens is you get older. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If opportunity doesn’t knock, build a door. The first step is as good as half over. You cannot save people, you can just love them. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Genius is an infinite capacity for taking pains. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You must be the change you wish to see in the world. The past has no power over the present moment. The past has no power over the present moment. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Creativity is intelligence having fun. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Genius is an infinite capacity for taking pains. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Synchronize to Database function will give you a full picture of all database differences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Typically, it is employed as an encrypted version of Telnet. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Genius is an infinite capacity for taking pains. Creativity is intelligence having fun. You must be the change you wish to see in the world. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('66', 'C:\\Users\\Administrator\\Pictures\\img_162342.jpg', 'VZkOl', NULL, NULL, 'yQOPTaLZUP', '2-3-8 Yoyogi, Shibuya-ku', NULL, '2023-08-25 14:22:16', '2019-09-24 11:03:22', 927.4657, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The first step is as good as half over. It wasn’t raining when Noah built the ark. How we spend our days is, of course, how we spend our lives. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Creativity is intelligence having fun. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To connect to a database or schema, simply double-click it in the pane. Creativity is intelligence having fun. Difficult circumstances serve as a textbook of life for people. What you get by achieving your goals is not as important as what you become by achieving your goals. You cannot save people, you can just love them. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Anyone who has ever made anything of importance was disciplined. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If you wait, all that happens is you get older. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. How we spend our days is, of course, how we spend our lives. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Genius is an infinite capacity for taking pains. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I will greet this day with love in my heart. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The past has no power over the present moment. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The past has no power over the present moment. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The past has no power over the present moment. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Success consists of going from failure to failure without loss of enthusiasm. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It wasn’t raining when Noah built the ark. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In the middle of winter I at last discovered that there was in me an invincible summer. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. There is no way to happiness. Happiness is the way. You must be the change you wish to see in the world. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. Sometimes you win, sometimes you learn. A comfort zone is a beautiful place, but nothing ever grows there. I destroy my enemies when I make them my friends. There is no way to happiness. Happiness is the way. Navicat 15 has added support for the system-wide dark mode. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The first step is as good as half over. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Sometimes you win, sometimes you learn. The On Startup feature allows you to control what tabs appear when you launch Navicat. The reason why a great man is great is that he resolves to be a great man. Genius is an infinite capacity for taking pains. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All journeys have secret destinations of which the traveler is unaware. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If you wait, all that happens is you get older. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You cannot save people, you can just love them. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Creativity is intelligence having fun. The On Startup feature allows you to control what tabs appear when you launch Navicat. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the plan doesn’t work, change the plan, but never the goal. Optimism is the one quality more associated with success and happiness than any other. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Creativity is intelligence having fun. Success consists of going from failure to failure without loss of enthusiasm. I will greet this day with love in my heart. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A comfort zone is a beautiful place, but nothing ever grows there. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has never made a mistake has never tried anything new. The past has no power over the present moment. All journeys have secret destinations of which the traveler is unaware. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A query is used to extract data from the database in a readable format according to the user\'s request. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Synchronize to Database function will give you a full picture of all database differences. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I destroy my enemies when I make them my friends. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. In the middle of winter I at last discovered that there was in me an invincible summer. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You will succeed because most people are lazy. Champions keep playing until they get it right. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To connect to a database or schema, simply double-click it in the pane. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You must be the change you wish to see in the world. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man’s best friends are his ten fingers. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Flexible settings enable you to set up a custom key for comparison and synchronization. A comfort zone is a beautiful place, but nothing ever grows there. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If you wait, all that happens is you get older. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Sometimes you win, sometimes you learn. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man’s best friends are his ten fingers. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The On Startup feature allows you to control what tabs appear when you launch Navicat.', NULL, 'If it scares you, it might be a good thing to try. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. You cannot save people, you can just love them. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat 15 has added support for the system-wide dark mode. If opportunity doesn’t knock, build a door. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat 15 has added support for the system-wide dark mode. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Anyone who has ever made anything of importance was disciplined. How we spend our days is, of course, how we spend our lives. A man’s best friends are his ten fingers. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat 15 has added support for the system-wide dark mode. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat 15 has added support for the system-wide dark mode. All journeys have secret destinations of which the traveler is unaware. Anyone who has ever made anything of importance was disciplined. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You must be the change you wish to see in the world. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The On Startup feature allows you to control what tabs appear when you launch Navicat. You must be the change you wish to see in the world. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In the middle of winter I at last discovered that there was in me an invincible summer. Remember that failure is an event, not a person. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You must be the change you wish to see in the world. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In the middle of winter I at last discovered that there was in me an invincible summer. I may not have gone where I intended to go, but I think I have ended up where I needed to be. What you get by achieving your goals is not as important as what you become by achieving your goals. If opportunity doesn’t knock, build a door. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has never made a mistake has never tried anything new. You cannot save people, you can just love them. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A query is used to extract data from the database in a readable format according to the user\'s request. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You cannot save people, you can just love them. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Difficult circumstances serve as a textbook of life for people. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You must be the change you wish to see in the world. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A man’s best friends are his ten fingers. The first step is as good as half over. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('67', 'C:\\Users\\Administrator\\Pictures\\img_677976.jpg', 'tG7S8', NULL, NULL, '179S1ZMJ7j', '741 West Houston Street', NULL, '2020-07-29 13:23:01', '2006-12-12 13:38:49', 898.5629, 'It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You will succeed because most people are lazy. Sometimes you win, sometimes you learn. Optimism is the one quality more associated with success and happiness than any other. How we spend our days is, of course, how we spend our lives. The first step is as good as half over. Optimism is the one quality more associated with success and happiness than any other. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It wasn’t raining when Noah built the ark. In the middle of winter I at last discovered that there was in me an invincible summer. How we spend our days is, of course, how we spend our lives. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Anyone who has never made a mistake has never tried anything new. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I will greet this day with love in my heart. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man is not old until regrets take the place of dreams. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The On Startup feature allows you to control what tabs appear when you launch Navicat. Typically, it is employed as an encrypted version of Telnet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Genius is an infinite capacity for taking pains. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat 15 has added support for the system-wide dark mode. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All journeys have secret destinations of which the traveler is unaware. Anyone who has never made a mistake has never tried anything new. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A query is used to extract data from the database in a readable format according to the user\'s request. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Sometimes you win, sometimes you learn. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Champions keep playing until they get it right. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To connect to a database or schema, simply double-click it in the pane. Genius is an infinite capacity for taking pains. If opportunity doesn’t knock, build a door. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.', 'The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has ever made anything of importance was disciplined. The On Startup feature allows you to control what tabs appear when you launch Navicat. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. You cannot save people, you can just love them. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You must be the change you wish to see in the world. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. Flexible settings enable you to set up a custom key for comparison and synchronization. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. I will greet this day with love in my heart. All journeys have secret destinations of which the traveler is unaware. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A query is used to extract data from the database in a readable format according to the user\'s request. You must be the change you wish to see in the world. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. Flexible settings enable you to set up a custom key for comparison and synchronization. Sometimes you win, sometimes you learn. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In the middle of winter I at last discovered that there was in me an invincible summer. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Anyone who has never made a mistake has never tried anything new. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. I will greet this day with love in my heart. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', NULL, 'To connect to a database or schema, simply double-click it in the pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('68', '/home/Administrator/Pictures/img_590493.png', 'mkWyH', NULL, NULL, 'cDMUXWjvzB', '835 Broadway', NULL, '2023-03-05 18:37:16', '2022-05-23 11:41:20', 769.3687, 'Flexible settings enable you to set up a custom key for comparison and synchronization. The first step is as good as half over. To connect to a database or schema, simply double-click it in the pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It wasn’t raining when Noah built the ark. I will greet this day with love in my heart. Difficult circumstances serve as a textbook of life for people. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It wasn’t raining when Noah built the ark. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. How we spend our days is, of course, how we spend our lives. The first step is as good as half over. Flexible settings enable you to set up a custom key for comparison and synchronization. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If it scares you, it might be a good thing to try. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Difficult circumstances serve as a textbook of life for people. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If the plan doesn’t work, change the plan, but never the goal. Difficult circumstances serve as a textbook of life for people. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A comfort zone is a beautiful place, but nothing ever grows there. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A comfort zone is a beautiful place, but nothing ever grows there. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', 'There is no way to happiness. Happiness is the way. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.', NULL, 'Genius is an infinite capacity for taking pains. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If opportunity doesn’t knock, build a door. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The reason why a great man is great is that he resolves to be a great man. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the middle of winter I at last discovered that there was in me an invincible summer. You will succeed because most people are lazy. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Typically, it is employed as an encrypted version of Telnet. A man is not old until regrets take the place of dreams. It wasn’t raining when Noah built the ark. All journeys have secret destinations of which the traveler is unaware. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If you wait, all that happens is you get older. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Success consists of going from failure to failure without loss of enthusiasm. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Typically, it is employed as an encrypted version of Telnet.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('69', 'C:\\Users\\Administrator\\Pictures\\img_615786.jpg', 'wnjq9', NULL, NULL, 'aqiyaOGP29', '129 Rush Street', NULL, '2023-03-31 07:55:46', '2018-08-22 22:01:55', 787.3347, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. If the plan doesn’t work, change the plan, but never the goal. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It wasn’t raining when Noah built the ark. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I destroy my enemies when I make them my friends. What you get by achieving your goals is not as important as what you become by achieving your goals. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the middle of winter I at last discovered that there was in me an invincible summer. You will succeed because most people are lazy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Remember that failure is an event, not a person. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. How we spend our days is, of course, how we spend our lives. Difficult circumstances serve as a textbook of life for people. Navicat 15 has added support for the system-wide dark mode. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If you wait, all that happens is you get older. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', 'What you get by achieving your goals is not as important as what you become by achieving your goals. Remember that failure is an event, not a person. A query is used to extract data from the database in a readable format according to the user\'s request. I will greet this day with love in my heart. If opportunity doesn’t knock, build a door. Genius is an infinite capacity for taking pains. The reason why a great man is great is that he resolves to be a great man. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Sometimes you win, sometimes you learn. How we spend our days is, of course, how we spend our lives. Anyone who has ever made anything of importance was disciplined. The past has no power over the present moment. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections.', NULL, 'To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The reason why a great man is great is that he resolves to be a great man. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. How we spend our days is, of course, how we spend our lives. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. Champions keep playing until they get it right. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man is not old until regrets take the place of dreams. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Anyone who has never made a mistake has never tried anything new. Difficult circumstances serve as a textbook of life for people. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. You cannot save people, you can just love them.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('7', '/home/Administrator/Pictures/img_875833.jpg', 'M02Fe', NULL, NULL, 'sqqSiXiKSr', '222 Collier Road', NULL, '2020-03-30 07:54:56', '2009-06-24 08:19:30', 345.8618, 'In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Champions keep playing until they get it right. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat 15 has added support for the system-wide dark mode. If you wait, all that happens is you get older. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Success consists of going from failure to failure without loss of enthusiasm. Creativity is intelligence having fun. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Flexible settings enable you to set up a custom key for comparison and synchronization. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All journeys have secret destinations of which the traveler is unaware. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Remember that failure is an event, not a person. Success consists of going from failure to failure without loss of enthusiasm. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A man’s best friends are his ten fingers. Genius is an infinite capacity for taking pains. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.', 'Actually it is just in an idea when feel oneself can achieve and cannot achieve. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'It wasn’t raining when Noah built the ark. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Typically, it is employed as an encrypted version of Telnet. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The past has no power over the present moment. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Remember that failure is an event, not a person. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Difficult circumstances serve as a textbook of life for people. It wasn’t raining when Noah built the ark. Navicat 15 has added support for the system-wide dark mode. Genius is an infinite capacity for taking pains. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man is not old until regrets take the place of dreams. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I destroy my enemies when I make them my friends. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I will greet this day with love in my heart. Anyone who has never made a mistake has never tried anything new. The reason why a great man is great is that he resolves to be a great man. A query is used to extract data from the database in a readable format according to the user\'s request. Anyone who has never made a mistake has never tried anything new. It wasn’t raining when Noah built the ark. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. I destroy my enemies when I make them my friends.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('70', '/Users/Administrator/Pictures/img_777917.jpg', 'Iywy4', NULL, NULL, 'jAP65r4QJK', '808 Cannon Street', NULL, '2023-04-05 10:31:43', '2011-04-06 00:56:13', 45.4665, 'To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences.', 'Genius is an infinite capacity for taking pains. In the middle of winter I at last discovered that there was in me an invincible summer. It wasn’t raining when Noah built the ark. Creativity is intelligence having fun. If the plan doesn’t work, change the plan, but never the goal. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A comfort zone is a beautiful place, but nothing ever grows there. There is no way to happiness. Happiness is the way. I will greet this day with love in my heart. The reason why a great man is great is that he resolves to be a great man. To connect to a database or schema, simply double-click it in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man’s best friends are his ten fingers. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Difficult circumstances serve as a textbook of life for people. Champions keep playing until they get it right. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Genius is an infinite capacity for taking pains. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.', NULL, 'A man’s best friends are his ten fingers. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. In the middle of winter I at last discovered that there was in me an invincible summer. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If opportunity doesn’t knock, build a door. You cannot save people, you can just love them. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The reason why a great man is great is that he resolves to be a great man. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You cannot save people, you can just love them. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. I destroy my enemies when I make them my friends. The Synchronize to Database function will give you a full picture of all database differences. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Difficult circumstances serve as a textbook of life for people.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('71', '/home/Administrator/Pictures/img_781151.png', 'JMNAe', NULL, NULL, 'U8lD2H7N04', '146 New Street', NULL, '2020-05-25 04:44:45', '2017-07-12 04:06:26', 446.5164, 'A comfort zone is a beautiful place, but nothing ever grows there. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. There is no way to happiness. Happiness is the way. The past has no power over the present moment. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. How we spend our days is, of course, how we spend our lives. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Success consists of going from failure to failure without loss of enthusiasm. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. The past has no power over the present moment. Optimism is the one quality more associated with success and happiness than any other. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The past has no power over the present moment. The past has no power over the present moment.', 'Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. There is no way to happiness. Happiness is the way. If it scares you, it might be a good thing to try. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You must be the change you wish to see in the world. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The first step is as good as half over. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I will greet this day with love in my heart. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man is not old until regrets take the place of dreams. Sometimes you win, sometimes you learn. A man’s best friends are his ten fingers. If the plan doesn’t work, change the plan, but never the goal. A man is not old until regrets take the place of dreams.', NULL, 'Genius is an infinite capacity for taking pains. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. What you get by achieving your goals is not as important as what you become by achieving your goals. If you wait, all that happens is you get older. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The first step is as good as half over. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Sometimes you win, sometimes you learn. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You cannot save people, you can just love them. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has never made a mistake has never tried anything new. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All journeys have secret destinations of which the traveler is unaware. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Sometimes you win, sometimes you learn. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The past has no power over the present moment. The first step is as good as half over. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It wasn’t raining when Noah built the ark. If you wait, all that happens is you get older. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. What you get by achieving your goals is not as important as what you become by achieving your goals. In the middle of winter I at last discovered that there was in me an invincible summer. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Genius is an infinite capacity for taking pains. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Creativity is intelligence having fun. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('72', '/home/Administrator/Pictures/img_038283.jpg', 'klqMn', NULL, NULL, '4VhkkRKFjN', '857 Yueliu Rd, Fangshan District', NULL, '2020-11-05 10:11:47', '2005-08-19 04:28:26', 312.8664, 'Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If it scares you, it might be a good thing to try. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If it scares you, it might be a good thing to try. You will succeed because most people are lazy. You cannot save people, you can just love them. Anyone who has never made a mistake has never tried anything new. Flexible settings enable you to set up a custom key for comparison and synchronization. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Optimism is the one quality more associated with success and happiness than any other. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All journeys have secret destinations of which the traveler is unaware. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has ever made anything of importance was disciplined. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It wasn’t raining when Noah built the ark. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the middle of winter I at last discovered that there was in me an invincible summer. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Champions keep playing until they get it right. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. There is no way to happiness. Happiness is the way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat 15 has added support for the system-wide dark mode. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The past has no power over the present moment. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.', 'It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Champions keep playing until they get it right. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. There is no way to happiness. Happiness is the way. A comfort zone is a beautiful place, but nothing ever grows there. Sometimes you win, sometimes you learn. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. What you get by achieving your goals is not as important as what you become by achieving your goals. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You cannot save people, you can just love them. The first step is as good as half over. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Synchronize to Database function will give you a full picture of all database differences. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The reason why a great man is great is that he resolves to be a great man. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. I destroy my enemies when I make them my friends. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You must be the change you wish to see in the world. The Synchronize to Database function will give you a full picture of all database differences. There is no way to happiness. Happiness is the way. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Difficult circumstances serve as a textbook of life for people. The reason why a great man is great is that he resolves to be a great man. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I will greet this day with love in my heart. Optimism is the one quality more associated with success and happiness than any other. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Sometimes you win, sometimes you learn. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat 15 has added support for the system-wide dark mode. Sometimes you win, sometimes you learn. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the middle of winter I at last discovered that there was in me an invincible summer. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A query is used to extract data from the database in a readable format according to the user\'s request. Sometimes you win, sometimes you learn. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The reason why a great man is great is that he resolves to be a great man. All journeys have secret destinations of which the traveler is unaware. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat 15 has added support for the system-wide dark mode. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', NULL, 'Genius is an infinite capacity for taking pains. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Remember that failure is an event, not a person. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The reason why a great man is great is that he resolves to be a great man. Genius is an infinite capacity for taking pains. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Flexible settings enable you to set up a custom key for comparison and synchronization. Difficult circumstances serve as a textbook of life for people. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Synchronize to Database function will give you a full picture of all database differences. Genius is an infinite capacity for taking pains. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The reason why a great man is great is that he resolves to be a great man. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If it scares you, it might be a good thing to try. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The first step is as good as half over. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Difficult circumstances serve as a textbook of life for people. You will succeed because most people are lazy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You must be the change you wish to see in the world. All journeys have secret destinations of which the traveler is unaware. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Genius is an infinite capacity for taking pains. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Genius is an infinite capacity for taking pains. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To connect to a database or schema, simply double-click it in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It wasn’t raining when Noah built the ark. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. What you get by achieving your goals is not as important as what you become by achieving your goals. Sometimes you win, sometimes you learn. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Sometimes you win, sometimes you learn. There is no way to happiness. Happiness is the way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Synchronize to Database function will give you a full picture of all database differences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Anyone who has never made a mistake has never tried anything new. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All journeys have secret destinations of which the traveler is unaware. Champions keep playing until they get it right. To connect to a database or schema, simply double-click it in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Genius is an infinite capacity for taking pains. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('73', '/home/Administrator/Pictures/img_856965.jpg', 'YOYh5', NULL, NULL, 'xQlWAnQHP3', '13-3-4 Toyohira 3 Jo, Toyohira Ward', NULL, '2024-04-17 11:30:13', '2009-12-08 18:33:46', 715.8474, 'A query is used to extract data from the database in a readable format according to the user\'s request. A man is not old until regrets take the place of dreams. You cannot save people, you can just love them. Difficult circumstances serve as a textbook of life for people. The first step is as good as half over. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. The past has no power over the present moment. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All journeys have secret destinations of which the traveler is unaware. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Sometimes you win, sometimes you learn. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A query is used to extract data from the database in a readable format according to the user\'s request. You cannot save people, you can just love them. A man’s best friends are his ten fingers. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I destroy my enemies when I make them my friends. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Synchronize to Database function will give you a full picture of all database differences. You cannot save people, you can just love them. If opportunity doesn’t knock, build a door. You cannot save people, you can just love them. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Genius is an infinite capacity for taking pains. All journeys have secret destinations of which the traveler is unaware. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. There is no way to happiness. Happiness is the way. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The first step is as good as half over. The past has no power over the present moment. The past has no power over the present moment. You cannot save people, you can just love them. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. All journeys have secret destinations of which the traveler is unaware. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Creativity is intelligence having fun. Remember that failure is an event, not a person. Optimism is the one quality more associated with success and happiness than any other. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If opportunity doesn’t knock, build a door. Creativity is intelligence having fun. Success consists of going from failure to failure without loss of enthusiasm. A man is not old until regrets take the place of dreams. A query is used to extract data from the database in a readable format according to the user\'s request. The On Startup feature allows you to control what tabs appear when you launch Navicat. Champions keep playing until they get it right. Optimism is the one quality more associated with success and happiness than any other. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has never made a mistake has never tried anything new. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Remember that failure is an event, not a person. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Anyone who has ever made anything of importance was disciplined. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If opportunity doesn’t knock, build a door. Anyone who has ever made anything of importance was disciplined. You will succeed because most people are lazy. There is no way to happiness. Happiness is the way. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I will greet this day with love in my heart.', 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The first step is as good as half over. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Success consists of going from failure to failure without loss of enthusiasm. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You must be the change you wish to see in the world. Anyone who has ever made anything of importance was disciplined.', NULL, 'To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You cannot save people, you can just love them. To connect to a database or schema, simply double-click it in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Difficult circumstances serve as a textbook of life for people. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat 15 has added support for the system-wide dark mode. The past has no power over the present moment. Difficult circumstances serve as a textbook of life for people. If you wait, all that happens is you get older. The reason why a great man is great is that he resolves to be a great man. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If you wait, all that happens is you get older. Creativity is intelligence having fun. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Typically, it is employed as an encrypted version of Telnet. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. Optimism is the one quality more associated with success and happiness than any other. The past has no power over the present moment. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('74', 'C:\\Users\\Administrator\\Pictures\\img_107216.jpg', 'YLvFI', NULL, NULL, 'l1xhlKWdj8', '471 Fern Street', NULL, '2021-11-20 05:21:10', '2014-08-31 11:37:29', 508.7160, 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Synchronize to Database function will give you a full picture of all database differences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat 15 has added support for the system-wide dark mode. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I destroy my enemies when I make them my friends. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In the middle of winter I at last discovered that there was in me an invincible summer. A comfort zone is a beautiful place, but nothing ever grows there. A man is not old until regrets take the place of dreams. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Champions keep playing until they get it right. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has ever made anything of importance was disciplined. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat 15 has added support for the system-wide dark mode. The Synchronize to Database function will give you a full picture of all database differences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. A query is used to extract data from the database in a readable format according to the user\'s request.', 'Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the plan doesn’t work, change the plan, but never the goal. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A query is used to extract data from the database in a readable format according to the user\'s request. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The Synchronize to Database function will give you a full picture of all database differences. Remember that failure is an event, not a person. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Flexible settings enable you to set up a custom key for comparison and synchronization. In the middle of winter I at last discovered that there was in me an invincible summer. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man’s best friends are his ten fingers. I will greet this day with love in my heart. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Creativity is intelligence having fun. A query is used to extract data from the database in a readable format according to the user\'s request. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Creativity is intelligence having fun. A query is used to extract data from the database in a readable format according to the user\'s request. To connect to a database or schema, simply double-click it in the pane. The Synchronize to Database function will give you a full picture of all database differences. To connect to a database or schema, simply double-click it in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Success consists of going from failure to failure without loss of enthusiasm. Success consists of going from failure to failure without loss of enthusiasm. Remember that failure is an event, not a person. If opportunity doesn’t knock, build a door. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab.', NULL, 'Genius is an infinite capacity for taking pains. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The past has no power over the present moment. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. How we spend our days is, of course, how we spend our lives. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has never made a mistake has never tried anything new. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Remember that failure is an event, not a person. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. How we spend our days is, of course, how we spend our lives. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In the middle of winter I at last discovered that there was in me an invincible summer. Creativity is intelligence having fun. A man is not old until regrets take the place of dreams. To connect to a database or schema, simply double-click it in the pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Sometimes you win, sometimes you learn. Sometimes you win, sometimes you learn. Optimism is the one quality more associated with success and happiness than any other. I will greet this day with love in my heart. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Anyone who has ever made anything of importance was disciplined. What you get by achieving your goals is not as important as what you become by achieving your goals. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. How we spend our days is, of course, how we spend our lives. The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If you wait, all that happens is you get older. To connect to a database or schema, simply double-click it in the pane. Optimism is the one quality more associated with success and happiness than any other. To connect to a database or schema, simply double-click it in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Sometimes you win, sometimes you learn. In the middle of winter I at last discovered that there was in me an invincible summer. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The past has no power over the present moment. Difficult circumstances serve as a textbook of life for people. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Flexible settings enable you to set up a custom key for comparison and synchronization. You will succeed because most people are lazy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The past has no power over the present moment. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Sometimes you win, sometimes you learn. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('75', '/Users/Administrator/Pictures/img_689142.png', 'RKQUs', NULL, NULL, 'RPiK7gUSKF', '1-6-14, Marunouchi, Chiyoda-ku', NULL, '2023-07-10 09:21:04', '2017-01-08 10:20:44', 490.1024, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You must be the change you wish to see in the world. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The On Startup feature allows you to control what tabs appear when you launch Navicat. If the plan doesn’t work, change the plan, but never the goal. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You cannot save people, you can just love them. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Anyone who has ever made anything of importance was disciplined. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To connect to a database or schema, simply double-click it in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If you wait, all that happens is you get older. The past has no power over the present moment. A man is not old until regrets take the place of dreams. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You must be the change you wish to see in the world. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. The Synchronize to Database function will give you a full picture of all database differences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has never made a mistake has never tried anything new. All journeys have secret destinations of which the traveler is unaware. Navicat 15 has added support for the system-wide dark mode. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Typically, it is employed as an encrypted version of Telnet. The first step is as good as half over. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. If opportunity doesn’t knock, build a door. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It wasn’t raining when Noah built the ark. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat 15 has added support for the system-wide dark mode. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In the middle of winter I at last discovered that there was in me an invincible summer. Creativity is intelligence having fun. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. I destroy my enemies when I make them my friends. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You must be the change you wish to see in the world. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.', 'I will greet this day with love in my heart. If you wait, all that happens is you get older. I may not have gone where I intended to go, but I think I have ended up where I needed to be. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Typically, it is employed as an encrypted version of Telnet. If the plan doesn’t work, change the plan, but never the goal. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If opportunity doesn’t knock, build a door. If opportunity doesn’t knock, build a door. I destroy my enemies when I make them my friends. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Success consists of going from failure to failure without loss of enthusiasm. If the plan doesn’t work, change the plan, but never the goal. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Sometimes you win, sometimes you learn. The Synchronize to Database function will give you a full picture of all database differences. What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Champions keep playing until they get it right. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. What you get by achieving your goals is not as important as what you become by achieving your goals. A man’s best friends are his ten fingers. I may not have gone where I intended to go, but I think I have ended up where I needed to be. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Success consists of going from failure to failure without loss of enthusiasm. To connect to a database or schema, simply double-click it in the pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I will greet this day with love in my heart. In the middle of winter I at last discovered that there was in me an invincible summer. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The reason why a great man is great is that he resolves to be a great man. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. The reason why a great man is great is that he resolves to be a great man. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In the middle of winter I at last discovered that there was in me an invincible summer. Sometimes you win, sometimes you learn. Difficult circumstances serve as a textbook of life for people. A man’s best friends are his ten fingers. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Anyone who has never made a mistake has never tried anything new. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('76', 'C:\\Users\\Administrator\\Pictures\\img_557217.png', 'MgPRt', NULL, NULL, 'VWHvZOcvPd', '457 Xiaoping E Rd, Baiyun ', NULL, '2024-06-10 04:08:34', '2021-05-19 20:14:23', 840.9217, 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The On Startup feature allows you to control what tabs appear when you launch Navicat. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the middle of winter I at last discovered that there was in me an invincible summer. If you wait, all that happens is you get older. To connect to a database or schema, simply double-click it in the pane. There is no way to happiness. Happiness is the way. The Synchronize to Database function will give you a full picture of all database differences. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Anyone who has never made a mistake has never tried anything new. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man is not old until regrets take the place of dreams. You will succeed because most people are lazy. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', 'SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. How we spend our days is, of course, how we spend our lives. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Anyone who has ever made anything of importance was disciplined. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The reason why a great man is great is that he resolves to be a great man. The reason why a great man is great is that he resolves to be a great man. Champions keep playing until they get it right. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Synchronize to Database function will give you a full picture of all database differences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Difficult circumstances serve as a textbook of life for people. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The reason why a great man is great is that he resolves to be a great man. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Genius is an infinite capacity for taking pains. You cannot save people, you can just love them. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To connect to a database or schema, simply double-click it in the pane. You will succeed because most people are lazy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Difficult circumstances serve as a textbook of life for people. I will greet this day with love in my heart. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Typically, it is employed as an encrypted version of Telnet. If it scares you, it might be a good thing to try. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You will succeed because most people are lazy. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat 15 has added support for the system-wide dark mode. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Anyone who has ever made anything of importance was disciplined. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To connect to a database or schema, simply double-click it in the pane.', NULL, 'Optimism is the one quality more associated with success and happiness than any other. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('77', 'C:\\Users\\Administrator\\Pictures\\img_591279.png', '5msKO', NULL, NULL, 'F0yWzvLC7c', '2-1-5 Kaminopporo 1 Jo, Atsubetsu Ward', NULL, '2020-05-05 12:17:28', '2013-07-23 06:02:21', 769.5336, 'The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I destroy my enemies when I make them my friends. How we spend our days is, of course, how we spend our lives. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. All journeys have secret destinations of which the traveler is unaware. The Synchronize to Database function will give you a full picture of all database differences. A man’s best friends are his ten fingers. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Remember that failure is an event, not a person. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The reason why a great man is great is that he resolves to be a great man. Creativity is intelligence having fun. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The past has no power over the present moment. If it scares you, it might be a good thing to try. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The past has no power over the present moment. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.', 'Anyone who has never made a mistake has never tried anything new. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Creativity is intelligence having fun. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Flexible settings enable you to set up a custom key for comparison and synchronization. The past has no power over the present moment. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You cannot save people, you can just love them. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You must be the change you wish to see in the world. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Remember that failure is an event, not a person. Difficult circumstances serve as a textbook of life for people. The reason why a great man is great is that he resolves to be a great man. A man’s best friends are his ten fingers. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. A man is not old until regrets take the place of dreams. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Optimism is the one quality more associated with success and happiness than any other. The first step is as good as half over. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Genius is an infinite capacity for taking pains. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Remember that failure is an event, not a person. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Synchronize to Database function will give you a full picture of all database differences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A comfort zone is a beautiful place, but nothing ever grows there. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network.', NULL, 'Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. Champions keep playing until they get it right. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Synchronize to Database function will give you a full picture of all database differences. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man is not old until regrets take the place of dreams. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man’s best friends are his ten fingers. What you get by achieving your goals is not as important as what you become by achieving your goals. Genius is an infinite capacity for taking pains. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the middle of winter I at last discovered that there was in me an invincible summer. Anyone who has never made a mistake has never tried anything new. Anyone who has never made a mistake has never tried anything new. Optimism is the one quality more associated with success and happiness than any other. Navicat 15 has added support for the system-wide dark mode. If you wait, all that happens is you get older. Flexible settings enable you to set up a custom key for comparison and synchronization. Flexible settings enable you to set up a custom key for comparison and synchronization. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Optimism is the one quality more associated with success and happiness than any other. Sometimes you win, sometimes you learn. Navicat 15 has added support for the system-wide dark mode. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A query is used to extract data from the database in a readable format according to the user\'s request. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man’s best friends are his ten fingers. The On Startup feature allows you to control what tabs appear when you launch Navicat. A query is used to extract data from the database in a readable format according to the user\'s request. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. There is no way to happiness. Happiness is the way. Anyone who has never made a mistake has never tried anything new. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Anyone who has ever made anything of importance was disciplined. You will succeed because most people are lazy.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('78', 'C:\\Users\\Administrator\\Pictures\\img_615584.png', 'mOZaU', NULL, NULL, 'smszA8297O', '724 3rd Section Hongxing Road, Jinjiang District', NULL, '2024-07-09 17:25:31', '2014-07-17 15:16:14', 833.3079, 'In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Difficult circumstances serve as a textbook of life for people. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I will greet this day with love in my heart. Flexible settings enable you to set up a custom key for comparison and synchronization. Champions keep playing until they get it right. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I destroy my enemies when I make them my friends. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I destroy my enemies when I make them my friends. How we spend our days is, of course, how we spend our lives. In the middle of winter I at last discovered that there was in me an invincible summer. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I will greet this day with love in my heart. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A query is used to extract data from the database in a readable format according to the user\'s request. If you wait, all that happens is you get older. If the plan doesn’t work, change the plan, but never the goal. I will greet this day with love in my heart. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I will greet this day with love in my heart. The Synchronize to Database function will give you a full picture of all database differences. There is no way to happiness. Happiness is the way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Typically, it is employed as an encrypted version of Telnet. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The past has no power over the present moment. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You cannot save people, you can just love them. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If it scares you, it might be a good thing to try. Flexible settings enable you to set up a custom key for comparison and synchronization. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Success consists of going from failure to failure without loss of enthusiasm. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Genius is an infinite capacity for taking pains. You will succeed because most people are lazy. A query is used to extract data from the database in a readable format according to the user\'s request. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', 'The first step is as good as half over. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Typically, it is employed as an encrypted version of Telnet. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If it scares you, it might be a good thing to try. Creativity is intelligence having fun. You cannot save people, you can just love them. All journeys have secret destinations of which the traveler is unaware. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I will greet this day with love in my heart. The past has no power over the present moment. Difficult circumstances serve as a textbook of life for people. I will greet this day with love in my heart. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man’s best friends are his ten fingers. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. Flexible settings enable you to set up a custom key for comparison and synchronization. The first step is as good as half over. A query is used to extract data from the database in a readable format according to the user\'s request. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Success consists of going from failure to failure without loss of enthusiasm. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. You will succeed because most people are lazy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A query is used to extract data from the database in a readable format according to the user\'s request. To connect to a database or schema, simply double-click it in the pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Champions keep playing until they get it right. Success consists of going from failure to failure without loss of enthusiasm. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It wasn’t raining when Noah built the ark.', NULL, 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('79', '/home/Administrator/Pictures/img_592376.jpg', 'JMJiJ', NULL, NULL, 'BSOkeTPurh', '841 Kengmei 15th Alley', NULL, '2020-11-16 18:36:40', '2009-05-19 23:00:05', 579.2452, 'SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. What you get by achieving your goals is not as important as what you become by achieving your goals. The first step is as good as half over. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. I will greet this day with love in my heart. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man’s best friends are his ten fingers. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It wasn’t raining when Noah built the ark. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If opportunity doesn’t knock, build a door. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If opportunity doesn’t knock, build a door. A man’s best friends are his ten fingers. You cannot save people, you can just love them. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The reason why a great man is great is that he resolves to be a great man. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'Navicat 15 has added support for the system-wide dark mode. You must be the change you wish to see in the world. In the middle of winter I at last discovered that there was in me an invincible summer. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I destroy my enemies when I make them my friends. A man’s best friends are his ten fingers. Success consists of going from failure to failure without loss of enthusiasm. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A man’s best friends are his ten fingers. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. In the middle of winter I at last discovered that there was in me an invincible summer. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Anyone who has never made a mistake has never tried anything new. You must be the change you wish to see in the world. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You will succeed because most people are lazy. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Synchronize to Database function will give you a full picture of all database differences. The Synchronize to Database function will give you a full picture of all database differences. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. In the middle of winter I at last discovered that there was in me an invincible summer. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It wasn’t raining when Noah built the ark. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If the plan doesn’t work, change the plan, but never the goal. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A query is used to extract data from the database in a readable format according to the user\'s request. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The first step is as good as half over. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A query is used to extract data from the database in a readable format according to the user\'s request. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. I destroy my enemies when I make them my friends. Remember that failure is an event, not a person. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Genius is an infinite capacity for taking pains. How we spend our days is, of course, how we spend our lives. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has never made a mistake has never tried anything new. In the middle of winter I at last discovered that there was in me an invincible summer. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. A comfort zone is a beautiful place, but nothing ever grows there. You must be the change you wish to see in the world. If opportunity doesn’t knock, build a door. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It wasn’t raining when Noah built the ark. I destroy my enemies when I make them my friends. A man is not old until regrets take the place of dreams. Difficult circumstances serve as a textbook of life for people. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Genius is an infinite capacity for taking pains. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man is not old until regrets take the place of dreams. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Genius is an infinite capacity for taking pains. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You must be the change you wish to see in the world. What you get by achieving your goals is not as important as what you become by achieving your goals. All journeys have secret destinations of which the traveler is unaware. Sometimes you win, sometimes you learn. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Creativity is intelligence having fun. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Typically, it is employed as an encrypted version of Telnet. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The past has no power over the present moment. The On Startup feature allows you to control what tabs appear when you launch Navicat. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('8', '/Users/Administrator/Pictures/img_701954.png', 'moUuh', NULL, NULL, 'gL5Pr0CG3B', '5-4-7 Kikusui 3 Jo, Shiroishi Ward,', NULL, '2021-02-19 12:45:39', '2019-11-15 06:38:20', 151.2368, 'Anyone who has never made a mistake has never tried anything new. Genius is an infinite capacity for taking pains. The Synchronize to Database function will give you a full picture of all database differences. Remember that failure is an event, not a person. You cannot save people, you can just love them. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If it scares you, it might be a good thing to try. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The reason why a great man is great is that he resolves to be a great man. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Sometimes you win, sometimes you learn. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Creativity is intelligence having fun. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The On Startup feature allows you to control what tabs appear when you launch Navicat. How we spend our days is, of course, how we spend our lives. The reason why a great man is great is that he resolves to be a great man. A query is used to extract data from the database in a readable format according to the user\'s request. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. You cannot save people, you can just love them. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. What you get by achieving your goals is not as important as what you become by achieving your goals. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Anyone who has never made a mistake has never tried anything new. Optimism is the one quality more associated with success and happiness than any other. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. I will greet this day with love in my heart. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Sometimes you win, sometimes you learn. The past has no power over the present moment. Flexible settings enable you to set up a custom key for comparison and synchronization. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All journeys have secret destinations of which the traveler is unaware. To connect to a database or schema, simply double-click it in the pane. A man is not old until regrets take the place of dreams. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If you wait, all that happens is you get older. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. What you get by achieving your goals is not as important as what you become by achieving your goals. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. What you get by achieving your goals is not as important as what you become by achieving your goals. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. You cannot save people, you can just love them. Typically, it is employed as an encrypted version of Telnet. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Typically, it is employed as an encrypted version of Telnet. The reason why a great man is great is that he resolves to be a great man. A query is used to extract data from the database in a readable format according to the user\'s request. Anyone who has ever made anything of importance was disciplined. I may not have gone where I intended to go, but I think I have ended up where I needed to be. In the middle of winter I at last discovered that there was in me an invincible summer. Sometimes you win, sometimes you learn. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview.', 'The Synchronize to Database function will give you a full picture of all database differences. Typically, it is employed as an encrypted version of Telnet. Champions keep playing until they get it right. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. You cannot save people, you can just love them. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To connect to a database or schema, simply double-click it in the pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The past has no power over the present moment. If opportunity doesn’t knock, build a door. The past has no power over the present moment. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. All journeys have secret destinations of which the traveler is unaware.', NULL, 'Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You will succeed because most people are lazy. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A query is used to extract data from the database in a readable format according to the user\'s request. Typically, it is employed as an encrypted version of Telnet. If the plan doesn’t work, change the plan, but never the goal. The first step is as good as half over. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Flexible settings enable you to set up a custom key for comparison and synchronization. The first step is as good as half over. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If you wait, all that happens is you get older. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Remember that failure is an event, not a person. You cannot save people, you can just love them. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If it scares you, it might be a good thing to try. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Creativity is intelligence having fun. In the middle of winter I at last discovered that there was in me an invincible summer. If the plan doesn’t work, change the plan, but never the goal. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. I destroy my enemies when I make them my friends. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Champions keep playing until they get it right. How we spend our days is, of course, how we spend our lives. Optimism is the one quality more associated with success and happiness than any other. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Champions keep playing until they get it right. The first step is as good as half over. A comfort zone is a beautiful place, but nothing ever grows there. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Remember that failure is an event, not a person. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A comfort zone is a beautiful place, but nothing ever grows there. Remember that failure is an event, not a person. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To connect to a database or schema, simply double-click it in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A comfort zone is a beautiful place, but nothing ever grows there. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Sometimes you win, sometimes you learn. There is no way to happiness. Happiness is the way. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Champions keep playing until they get it right. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the plan doesn’t work, change the plan, but never the goal. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('80', 'C:\\Users\\Administrator\\Pictures\\img_412421.jpg', '3fapD', NULL, NULL, '2rTHI5QDK9', '361 Rush Street', NULL, '2022-07-18 05:45:23', '2017-06-09 08:22:33', 555.1673, 'Anyone who has ever made anything of importance was disciplined. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Creativity is intelligence having fun. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A man is not old until regrets take the place of dreams. The On Startup feature allows you to control what tabs appear when you launch Navicat. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. What you get by achieving your goals is not as important as what you become by achieving your goals. If you wait, all that happens is you get older. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Remember that failure is an event, not a person. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If you wait, all that happens is you get older. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Success consists of going from failure to failure without loss of enthusiasm. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Anyone who has never made a mistake has never tried anything new. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. What you get by achieving your goals is not as important as what you become by achieving your goals. If the plan doesn’t work, change the plan, but never the goal. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If the plan doesn’t work, change the plan, but never the goal. Anyone who has ever made anything of importance was disciplined. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Champions keep playing until they get it right. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Flexible settings enable you to set up a custom key for comparison and synchronization. Remember that failure is an event, not a person. Creativity is intelligence having fun. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance.', 'To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Champions keep playing until they get it right. The reason why a great man is great is that he resolves to be a great man. Sometimes you win, sometimes you learn. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. What you get by achieving your goals is not as important as what you become by achieving your goals. Creativity is intelligence having fun. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. Actually it is just in an idea when feel oneself can achieve and cannot achieve. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If it scares you, it might be a good thing to try. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Sometimes you win, sometimes you learn. What you get by achieving your goals is not as important as what you become by achieving your goals. The first step is as good as half over. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. I destroy my enemies when I make them my friends. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I destroy my enemies when I make them my friends. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. The past has no power over the present moment. If it scares you, it might be a good thing to try. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Typically, it is employed as an encrypted version of Telnet. If the plan doesn’t work, change the plan, but never the goal. Success consists of going from failure to failure without loss of enthusiasm. The Synchronize to Database function will give you a full picture of all database differences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Remember that failure is an event, not a person. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Anyone who has never made a mistake has never tried anything new. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. There is no way to happiness. Happiness is the way. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences.', NULL, 'SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Creativity is intelligence having fun. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Champions keep playing until they get it right. You will succeed because most people are lazy. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Creativity is intelligence having fun. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Remember that failure is an event, not a person. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You must be the change you wish to see in the world. If it scares you, it might be a good thing to try. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Anyone who has ever made anything of importance was disciplined. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Anyone who has ever made anything of importance was disciplined. There is no way to happiness. Happiness is the way. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Champions keep playing until they get it right. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The On Startup feature allows you to control what tabs appear when you launch Navicat. You cannot save people, you can just love them. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A comfort zone is a beautiful place, but nothing ever grows there. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Flexible settings enable you to set up a custom key for comparison and synchronization. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun. If the plan doesn’t work, change the plan, but never the goal. Flexible settings enable you to set up a custom key for comparison and synchronization. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Sometimes you win, sometimes you learn. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A comfort zone is a beautiful place, but nothing ever grows there. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In the middle of winter I at last discovered that there was in me an invincible summer. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. I destroy my enemies when I make them my friends. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You must be the change you wish to see in the world. There is no way to happiness. Happiness is the way. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The past has no power over the present moment. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If it scares you, it might be a good thing to try. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I will greet this day with love in my heart. A man is not old until regrets take the place of dreams. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If you wait, all that happens is you get older. Creativity is intelligence having fun. The first step is as good as half over. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Creativity is intelligence having fun. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If it scares you, it might be a good thing to try. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains '); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('81', '/Users/Administrator/Pictures/img_089418.png', 'Lwo1s', NULL, NULL, 'oeT1xtNQ4s', '3-15-9 Ginza, Chuo-ku', NULL, '2023-09-18 04:20:25', '2018-03-03 04:42:49', 680.9560, 'SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A query is used to extract data from the database in a readable format according to the user\'s request. A query is used to extract data from the database in a readable format according to the user\'s request. If you wait, all that happens is you get older. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Anyone who has never made a mistake has never tried anything new. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. There is no way to happiness. Happiness is the way. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. All journeys have secret destinations of which the traveler is unaware. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Flexible settings enable you to set up a custom key for comparison and synchronization. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The On Startup feature allows you to control what tabs appear when you launch Navicat. Champions keep playing until they get it right. If it scares you, it might be a good thing to try. You cannot save people, you can just love them. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You will succeed because most people are lazy. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Creativity is intelligence having fun. You cannot save people, you can just love them. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Flexible settings enable you to set up a custom key for comparison and synchronization. The reason why a great man is great is that he resolves to be a great man. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Sometimes you win, sometimes you learn. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat 15 has added support for the system-wide dark mode. The Synchronize to Database function will give you a full picture of all database differences. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Genius is an infinite capacity for taking pains. To connect to a database or schema, simply double-click it in the pane. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Sometimes you win, sometimes you learn. There is no way to happiness. Happiness is the way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You cannot save people, you can just love them. A man’s best friends are his ten fingers. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. How we spend our days is, of course, how we spend our lives. Optimism is the one quality more associated with success and happiness than any other. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The first step is as good as half over. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Difficult circumstances serve as a textbook of life for people. If the plan doesn’t work, change the plan, but never the goal. The On Startup feature allows you to control what tabs appear when you launch Navicat. You will succeed because most people are lazy. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does.', 'Difficult circumstances serve as a textbook of life for people. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Success consists of going from failure to failure without loss of enthusiasm. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Anyone who has ever made anything of importance was disciplined. The reason why a great man is great is that he resolves to be a great man. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.', NULL, 'The first step is as good as half over. The first step is as good as half over. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To connect to a database or schema, simply double-click it in the pane. You will succeed because most people are lazy. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Remember that failure is an event, not a person. Typically, it is employed as an encrypted version of Telnet. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has ever made anything of importance was disciplined. All journeys have secret destinations of which the traveler is unaware. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A comfort zone is a beautiful place, but nothing ever grows there. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has never made a mistake has never tried anything new. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Optimism is the one quality more associated with success and happiness than any other. If the plan doesn’t work, change the plan, but never the goal. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat 15 has added support for the system-wide dark mode. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Synchronize to Database function will give you a full picture of all database differences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A comfort zone is a beautiful place, but nothing ever grows there. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. There is no way to happiness. Happiness is the way. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man’s best friends are his ten fingers. All journeys have secret destinations of which the traveler is unaware. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('82', '/home/Administrator/Pictures/img_187749.jpg', 'Yvd1A', NULL, NULL, 'Wyk7IMySQE', '52 Whitehouse Lane, Huntingdon Rd', NULL, '2024-11-16 08:17:13', '2002-04-30 04:18:58', 476.2980, 'Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To connect to a database or schema, simply double-click it in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the plan doesn’t work, change the plan, but never the goal. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. You cannot save people, you can just love them.', 'With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat 15 has added support for the system-wide dark mode. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. How we spend our days is, of course, how we spend our lives. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The reason why a great man is great is that he resolves to be a great man. Optimism is the one quality more associated with success and happiness than any other. Navicat 15 has added support for the system-wide dark mode. The On Startup feature allows you to control what tabs appear when you launch Navicat. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. All journeys have secret destinations of which the traveler is unaware. Optimism is the one quality more associated with success and happiness than any other. Navicat 15 has added support for the system-wide dark mode. If you wait, all that happens is you get older. It wasn’t raining when Noah built the ark. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The first step is as good as half over. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. What you get by achieving your goals is not as important as what you become by achieving your goals. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. If it scares you, it might be a good thing to try. It wasn’t raining when Noah built the ark. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Difficult circumstances serve as a textbook of life for people. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Success consists of going from failure to failure without loss of enthusiasm. In the middle of winter I at last discovered that there was in me an invincible summer. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You must be the change you wish to see in the world. The past has no power over the present moment. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Optimism is the one quality more associated with success and happiness than any other. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Sometimes you win, sometimes you learn. Anyone who has ever made anything of importance was disciplined. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It wasn’t raining when Noah built the ark. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. You must be the change you wish to see in the world. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Anyone who has never made a mistake has never tried anything new. If it scares you, it might be a good thing to try. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Actually it is just in an idea when feel oneself can achieve and cannot achieve. If opportunity doesn’t knock, build a door. It wasn’t raining when Noah built the ark. How we spend our days is, of course, how we spend our lives. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat 15 has added support for the system-wide dark mode. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Champions keep playing until they get it right. A comfort zone is a beautiful place, but nothing ever grows there. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To connect to a database or schema, simply double-click it in the pane. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. The first step is as good as half over. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. There is no way to happiness. Happiness is the way. A query is used to extract data from the database in a readable format according to the user\'s request. The On Startup feature allows you to control what tabs appear when you launch Navicat. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has never made a mistake has never tried anything new. Champions keep playing until they get it right. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To connect to a database or schema, simply double-click it in the pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In the middle of winter I at last discovered that there was in me an invincible summer. Anyone who has ever made anything of importance was disciplined. I may not have gone where I intended to go, but I think I have ended up where I needed to be.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('83', '/home/Administrator/Pictures/img_481169.png', 'GbbVm', NULL, NULL, 'dUYXF7etax', '909 Shennan Ave, Futian District', NULL, '2020-07-29 01:23:19', '2005-05-17 16:56:53', 574.2278, 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A man is not old until regrets take the place of dreams. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A query is used to extract data from the database in a readable format according to the user\'s request. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Sometimes you win, sometimes you learn. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. What you get by achieving your goals is not as important as what you become by achieving your goals. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You must be the change you wish to see in the world. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If it scares you, it might be a good thing to try. The Synchronize to Database function will give you a full picture of all database differences. How we spend our days is, of course, how we spend our lives. The On Startup feature allows you to control what tabs appear when you launch Navicat. The reason why a great man is great is that he resolves to be a great man. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Difficult circumstances serve as a textbook of life for people. If the plan doesn’t work, change the plan, but never the goal. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the plan doesn’t work, change the plan, but never the goal. Creativity is intelligence having fun. Flexible settings enable you to set up a custom key for comparison and synchronization. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. All journeys have secret destinations of which the traveler is unaware. Anyone who has ever made anything of importance was disciplined. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Anyone who has ever made anything of importance was disciplined. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If it scares you, it might be a good thing to try. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', 'In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If opportunity doesn’t knock, build a door. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. You will succeed because most people are lazy. Remember that failure is an event, not a person. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The Synchronize to Database function will give you a full picture of all database differences. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If you wait, all that happens is you get older. Genius is an infinite capacity for taking pains. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Remember that failure is an event, not a person. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Flexible settings enable you to set up a custom key for comparison and synchronization. It wasn’t raining when Noah built the ark. I destroy my enemies when I make them my friends. Difficult circumstances serve as a textbook of life for people. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Success consists of going from failure to failure without loss of enthusiasm. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You cannot save people, you can just love them. The past has no power over the present moment. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Difficult circumstances serve as a textbook of life for people. You must be the change you wish to see in the world. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Synchronize to Database function will give you a full picture of all database differences. The past has no power over the present moment. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man’s best friends are his ten fingers. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A man’s best friends are his ten fingers. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The past has no power over the present moment. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The past has no power over the present moment. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', NULL, 'Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Optimism is the one quality more associated with success and happiness than any other. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If you wait, all that happens is you get older. You will succeed because most people are lazy. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You cannot save people, you can just love them. You must be the change you wish to see in the world. Difficult circumstances serve as a textbook of life for people. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. What you get by achieving your goals is not as important as what you become by achieving your goals. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. A man’s best friends are his ten fingers. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. You must be the change you wish to see in the world. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Anyone who has ever made anything of importance was disciplined. A man’s best friends are his ten fingers. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The past has no power over the present moment. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. The past has no power over the present moment. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. If you wait, all that happens is you get older. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has ever made anything of importance was disciplined. Creativity is intelligence having fun. Creativity is intelligence having fun. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. How we spend our days is, of course, how we spend our lives. There is no way to happiness. Happiness is the way. Champions keep playing until they get it right. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. If the plan doesn’t work, change the plan, but never the goal. The Synchronize to Database function will give you a full picture of all database differences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Anyone who has never made a mistake has never tried anything new. The On Startup feature allows you to control what tabs appear when you launch Navicat. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Difficult circumstances serve as a textbook of life for people. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If it scares you, it might be a good thing to try. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I destroy my enemies when I make them my friends. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Synchronize to Database function will give you a full picture of all database differences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. I destroy my enemies when I make them my friends. There is no way to happiness. Happiness is the way.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('84', '/Users/Administrator/Pictures/img_034540.png', 'jQEIK', NULL, NULL, '25WkLhVYAo', '3 1-1 Honjocho, Yamatokoriyama', NULL, '2022-08-25 18:20:01', '2005-03-14 04:17:07', 303.3335, 'Navicat 15 has added support for the system-wide dark mode. All journeys have secret destinations of which the traveler is unaware. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The past has no power over the present moment. The On Startup feature allows you to control what tabs appear when you launch Navicat. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A query is used to extract data from the database in a readable format according to the user\'s request. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Sometimes you win, sometimes you learn. Champions keep playing until they get it right. Success consists of going from failure to failure without loss of enthusiasm. Flexible settings enable you to set up a custom key for comparison and synchronization. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Success consists of going from failure to failure without loss of enthusiasm. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. All journeys have secret destinations of which the traveler is unaware. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Typically, it is employed as an encrypted version of Telnet. Champions keep playing until they get it right. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To connect to a database or schema, simply double-click it in the pane. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Champions keep playing until they get it right. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. There is no way to happiness. Happiness is the way. Anyone who has ever made anything of importance was disciplined. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. You cannot save people, you can just love them. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Sometimes you win, sometimes you learn. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. To connect to a database or schema, simply double-click it in the pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature.', 'How we spend our days is, of course, how we spend our lives. Genius is an infinite capacity for taking pains. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It wasn’t raining when Noah built the ark. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To connect to a database or schema, simply double-click it in the pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process.', NULL, 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. You must be the change you wish to see in the world. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I may not have gone where I intended to go, but I think I have ended up where I needed to be. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The past has no power over the present moment. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. How we spend our days is, of course, how we spend our lives. A query is used to extract data from the database in a readable format according to the user\'s request. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To connect to a database or schema, simply double-click it in the pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The past has no power over the present moment. If opportunity doesn’t knock, build a door. If it scares you, it might be a good thing to try. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the plan doesn’t work, change the plan, but never the goal. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The reason why a great man is great is that he resolves to be a great man. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If you wait, all that happens is you get older. The Synchronize to Database function will give you a full picture of all database differences. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. If you wait, all that happens is you get older. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Flexible settings enable you to set up a custom key for comparison and synchronization. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Flexible settings enable you to set up a custom key for comparison and synchronization. Optimism is the one quality more associated with success and happiness than any other. It wasn’t raining when Noah built the ark. A man’s best friends are his ten fingers. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. A man is not old until regrets take the place of dreams. Navicat 15 has added support for the system-wide dark mode. All journeys have secret destinations of which the traveler is unaware. The Synchronize to Database function will give you a full picture of all database differences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You will succeed because most people are lazy. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man’s best friends are his ten fingers. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A man’s best friends are his ten fingers. A comfort zone is a beautiful place, but nothing ever grows there. Success consists of going from failure to failure without loss of enthusiasm. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('85', '/Users/Administrator/Pictures/img_698905.png', 'RzM1P', NULL, NULL, 'OCxDeHc7qb', '2-1-14 Kaminopporo 1 Jo, Atsubetsu Ward', NULL, '2023-02-05 23:59:25', '2018-02-06 21:15:31', 65.5013, 'With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Remember that failure is an event, not a person. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. How we spend our days is, of course, how we spend our lives. To connect to a database or schema, simply double-click it in the pane. A man’s best friends are his ten fingers. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You cannot save people, you can just love them. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. A comfort zone is a beautiful place, but nothing ever grows there. It wasn’t raining when Noah built the ark. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A comfort zone is a beautiful place, but nothing ever grows there. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A man is not old until regrets take the place of dreams. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Success consists of going from failure to failure without loss of enthusiasm. A man’s best friends are his ten fingers. A comfort zone is a beautiful place, but nothing ever grows there. The first step is as good as half over. Creativity is intelligence having fun. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The On Startup feature allows you to control what tabs appear when you launch Navicat. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If it scares you, it might be a good thing to try. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The reason why a great man is great is that he resolves to be a great man.', 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The first step is as good as half over. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab.', NULL, 'The reason why a great man is great is that he resolves to be a great man. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Flexible settings enable you to set up a custom key for comparison and synchronization. If you wait, all that happens is you get older. Difficult circumstances serve as a textbook of life for people. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Remember that failure is an event, not a person. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. If the plan doesn’t work, change the plan, but never the goal.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('86', '/Users/Administrator/Pictures/img_499124.jpg', 'DP2uP', NULL, NULL, '6UxuFU2wG0', '442 S Broadway', NULL, '2021-01-28 20:06:49', '2001-01-01 21:26:28', 755.2098, 'A man is not old until regrets take the place of dreams. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A comfort zone is a beautiful place, but nothing ever grows there. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Genius is an infinite capacity for taking pains. The first step is as good as half over. You will succeed because most people are lazy. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The reason why a great man is great is that he resolves to be a great man. You must be the change you wish to see in the world. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The first step is as good as half over. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The first step is as good as half over. A man’s best friends are his ten fingers. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. All journeys have secret destinations of which the traveler is unaware. Anyone who has never made a mistake has never tried anything new. Difficult circumstances serve as a textbook of life for people. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the plan doesn’t work, change the plan, but never the goal. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Difficult circumstances serve as a textbook of life for people. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. How we spend our days is, of course, how we spend our lives. To connect to a database or schema, simply double-click it in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. Remember that failure is an event, not a person. The Synchronize to Database function will give you a full picture of all database differences. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You cannot save people, you can just love them. A man is not old until regrets take the place of dreams. Champions keep playing until they get it right. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Difficult circumstances serve as a textbook of life for people. The On Startup feature allows you to control what tabs appear when you launch Navicat. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Success consists of going from failure to failure without loss of enthusiasm. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The reason why a great man is great is that he resolves to be a great man. All journeys have secret destinations of which the traveler is unaware. I will greet this day with love in my heart. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If it scares you, it might be a good thing to try. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The first step is as good as half over. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. You cannot save people, you can just love them. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A man is not old until regrets take the place of dreams. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To connect to a database or schema, simply double-click it in the pane. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A man is not old until regrets take the place of dreams. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If the plan doesn’t work, change the plan, but never the goal.', 'Success consists of going from failure to failure without loss of enthusiasm. A comfort zone is a beautiful place, but nothing ever grows there. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. How we spend our days is, of course, how we spend our lives. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If the plan doesn’t work, change the plan, but never the goal. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A comfort zone is a beautiful place, but nothing ever grows there. Remember that failure is an event, not a person. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat 15 has added support for the system-wide dark mode. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If it scares you, it might be a good thing to try. Creativity is intelligence having fun. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. You cannot save people, you can just love them. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. There is no way to happiness. Happiness is the way. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', NULL, 'Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You cannot save people, you can just love them. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You cannot save people, you can just love them. I will greet this day with love in my heart. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. All journeys have secret destinations of which the traveler is unaware. If the plan doesn’t work, change the plan, but never the goal. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A comfort zone is a beautiful place, but nothing ever grows there. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Sometimes you win, sometimes you learn.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('87', 'C:\\Users\\Administrator\\Pictures\\img_917683.png', 'hjwMj', NULL, NULL, 'N6esK0JrWP', '690 Figueroa Street', NULL, '2024-02-21 11:03:23', '2014-06-04 02:26:07', 869.1397, 'Success consists of going from failure to failure without loss of enthusiasm. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. There is no way to happiness. Happiness is the way. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man is not old until regrets take the place of dreams. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Anyone who has never made a mistake has never tried anything new. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. The reason why a great man is great is that he resolves to be a great man. Success consists of going from failure to failure without loss of enthusiasm. Actually it is just in an idea when feel oneself can achieve and cannot achieve. All journeys have secret destinations of which the traveler is unaware. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. The Synchronize to Database function will give you a full picture of all database differences. Difficult circumstances serve as a textbook of life for people. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the middle of winter I at last discovered that there was in me an invincible summer. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. Genius is an infinite capacity for taking pains. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat 15 has added support for the system-wide dark mode. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. I destroy my enemies when I make them my friends. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. You cannot save people, you can just love them. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Success consists of going from failure to failure without loss of enthusiasm. Champions keep playing until they get it right. You will succeed because most people are lazy. The Synchronize to Database function will give you a full picture of all database differences. Creativity is intelligence having fun. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If opportunity doesn’t knock, build a door. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat 15 has added support for the system-wide dark mode. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Success consists of going from failure to failure without loss of enthusiasm. Navicat 15 has added support for the system-wide dark mode. If opportunity doesn’t knock, build a door. A man is not old until regrets take the place of dreams. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Genius is an infinite capacity for taking pains. Navicat 15 has added support for the system-wide dark mode. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. The first step is as good as half over. To connect to a database or schema, simply double-click it in the pane. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The first step is as good as half over. The reason why a great man is great is that he resolves to be a great man. Creativity is intelligence having fun. It wasn’t raining when Noah built the ark. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If opportunity doesn’t knock, build a door. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Creativity is intelligence having fun. In the middle of winter I at last discovered that there was in me an invincible summer. How we spend our days is, of course, how we spend our lives. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. The past has no power over the present moment. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I destroy my enemies when I make them my friends. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Success consists of going from failure to failure without loss of enthusiasm. To connect to a database or schema, simply double-click it in the pane. It wasn’t raining when Noah built the ark. If the plan doesn’t work, change the plan, but never the goal. To connect to a database or schema, simply double-click it in the pane. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Genius is an infinite capacity for taking pains. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. A comfort zone is a beautiful place, but nothing ever grows there. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man is not old until regrets take the place of dreams. A man is not old until regrets take the place of dreams. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man is not old until regrets take the place of dreams. All journeys have secret destinations of which the traveler is unaware. You will succeed because most people are lazy. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A man’s best friends are his ten fingers. Typically, it is employed as an encrypted version of Telnet. Anyone who has ever made anything of importance was disciplined. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Champions keep playing until they get it right. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The reason why a great man is great is that he resolves to be a great man. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Genius is an infinite capacity for taking pains. If opportunity doesn’t knock, build a door. Remember that failure is an event, not a person. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. What you get by achieving your goals is not as important as what you become by achieving your goals. How we spend our days is, of course, how we spend our lives. I destroy my enemies when I make them my friends. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Typically, it is employed as an encrypted version of Telnet. A man is not old until regrets take the place of dreams. The reason why a great man is great is that he resolves to be a great man. Sometimes you win, sometimes you learn. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You will succeed because most people are lazy. If the plan doesn’t work, change the plan, but never the goal. Remember that failure is an event, not a person. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. It wasn’t raining when Noah built the ark. What you get by achieving your goals is not as important as what you become by achieving your goals. Difficult circumstances serve as a textbook of life for people. You cannot save people, you can just love them. A man’s best friends are his ten fingers. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. A man is not old until regrets take the place of dreams. It wasn’t raining when Noah built the ark. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Optimism is the one quality more associated with success and happiness than any other. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab.', NULL, 'Creativity is intelligence having fun. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Typically, it is employed as an encrypted version of Telnet. It wasn’t raining when Noah built the ark. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. All journeys have secret destinations of which the traveler is unaware. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Success consists of going from failure to failure without loss of enthusiasm. You must be the change you wish to see in the world. The reason why a great man is great is that he resolves to be a great man. If the plan doesn’t work, change the plan, but never the goal. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You must be the change you wish to see in the world. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. If the plan doesn’t work, change the plan, but never the goal. You will succeed because most people are lazy. Genius is an infinite capacity for taking pains.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('88', '/Users/Administrator/Pictures/img_996988.png', 'hLBW4', NULL, NULL, 'MUL4Shsmeh', '554 Elms Rd, Botley', NULL, '2021-04-19 22:39:37', '2001-05-07 06:43:22', 74.1885, 'Remember that failure is an event, not a person. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I will greet this day with love in my heart. A man’s best friends are his ten fingers. There is no way to happiness. Happiness is the way. The reason why a great man is great is that he resolves to be a great man. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If you wait, all that happens is you get older. Navicat 15 has added support for the system-wide dark mode. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Success consists of going from failure to failure without loss of enthusiasm. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. All journeys have secret destinations of which the traveler is unaware. Optimism is the one quality more associated with success and happiness than any other. Difficult circumstances serve as a textbook of life for people. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. A man’s best friends are his ten fingers. How we spend our days is, of course, how we spend our lives. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Optimism is the one quality more associated with success and happiness than any other. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. How we spend our days is, of course, how we spend our lives. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. A query is used to extract data from the database in a readable format according to the user\'s request.', 'Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. How we spend our days is, of course, how we spend our lives. Difficult circumstances serve as a textbook of life for people. You must be the change you wish to see in the world. Optimism is the one quality more associated with success and happiness than any other. A man’s best friends are his ten fingers. How we spend our days is, of course, how we spend our lives. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Anyone who has never made a mistake has never tried anything new. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Optimism is the one quality more associated with success and happiness than any other. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. Champions keep playing until they get it right. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The reason why a great man is great is that he resolves to be a great man. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Genius is an infinite capacity for taking pains. Navicat 15 has added support for the system-wide dark mode. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To connect to a database or schema, simply double-click it in the pane. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The past has no power over the present moment. I destroy my enemies when I make them my friends. You must be the change you wish to see in the world. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', NULL, 'You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The reason why a great man is great is that he resolves to be a great man. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('89', 'C:\\Users\\Administrator\\Pictures\\img_616434.png', 'ua1Hw', NULL, NULL, '8y9uRjcmXV', '786 West Houston Street', NULL, '2022-04-08 07:17:25', '2015-09-30 05:23:29', 660.7681, 'If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Typically, it is employed as an encrypted version of Telnet. Success consists of going from failure to failure without loss of enthusiasm. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In the middle of winter I at last discovered that there was in me an invincible summer. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If opportunity doesn’t knock, build a door. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. A comfort zone is a beautiful place, but nothing ever grows there. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. I will greet this day with love in my heart. Genius is an infinite capacity for taking pains. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. The first step is as good as half over. Anyone who has ever made anything of importance was disciplined. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. You must be the change you wish to see in the world. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has never made a mistake has never tried anything new. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. A man’s best friends are his ten fingers. It wasn’t raining when Noah built the ark. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If it scares you, it might be a good thing to try. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. The Synchronize to Database function will give you a full picture of all database differences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A man is not old until regrets take the place of dreams. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The past has no power over the present moment. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Creativity is intelligence having fun. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It wasn’t raining when Noah built the ark. Anyone who has never made a mistake has never tried anything new. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Optimism is the one quality more associated with success and happiness than any other. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. The first step is as good as half over. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Sometimes you win, sometimes you learn. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The first step is as good as half over. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If it scares you, it might be a good thing to try. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. How we spend our days is, of course, how we spend our lives. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The past has no power over the present moment. A comfort zone is a beautiful place, but nothing ever grows there. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. You must be the change you wish to see in the world. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution.', 'All journeys have secret destinations of which the traveler is unaware. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Creativity is intelligence having fun. Champions keep playing until they get it right. Sometimes you win, sometimes you learn. The past has no power over the present moment. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Difficult circumstances serve as a textbook of life for people. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A comfort zone is a beautiful place, but nothing ever grows there. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A man is not old until regrets take the place of dreams. There is no way to happiness. Happiness is the way. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. How we spend our days is, of course, how we spend our lives. The On Startup feature allows you to control what tabs appear when you launch Navicat. A man is not old until regrets take the place of dreams. Remember that failure is an event, not a person. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. How we spend our days is, of course, how we spend our lives. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Difficult circumstances serve as a textbook of life for people. Creativity is intelligence having fun. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Creativity is intelligence having fun. You must be the change you wish to see in the world. Difficult circumstances serve as a textbook of life for people. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A man’s best friends are his ten fingers. If you wait, all that happens is you get older. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. I destroy my enemies when I make them my friends. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Remember that failure is an event, not a person. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Flexible settings enable you to set up a custom key for comparison and synchronization. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Typically, it is employed as an encrypted version of Telnet. It wasn’t raining when Noah built the ark. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In the middle of winter I at last discovered that there was in me an invincible summer. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A man is not old until regrets take the place of dreams. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You will succeed because most people are lazy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Creativity is intelligence having fun. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Flexible settings enable you to set up a custom key for comparison and synchronization. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. All journeys have secret destinations of which the traveler is unaware. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Flexible settings enable you to set up a custom key for comparison and synchronization. In the middle of winter I at last discovered that there was in me an invincible summer. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. In the middle of winter I at last discovered that there was in me an invincible summer. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You will succeed because most people are lazy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat 15 has added support for the system-wide dark mode.', NULL, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. How we spend our days is, of course, how we spend our lives. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Champions keep playing until they get it right. If the plan doesn’t work, change the plan, but never the goal. Champions keep playing until they get it right. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A comfort zone is a beautiful place, but nothing ever grows there. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('9', '/home/Administrator/Pictures/img_825637.jpg', 'm7t5X', NULL, NULL, 'CPj9X4QpUD', '593 Lefeng 6th Rd', NULL, '2021-11-26 15:22:42', '2002-03-01 17:22:23', 856.0038, 'Optimism is the one quality more associated with success and happiness than any other. The Synchronize to Database function will give you a full picture of all database differences. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Genius is an infinite capacity for taking pains. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. It wasn’t raining when Noah built the ark. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Optimism is the one quality more associated with success and happiness than any other. Typically, it is employed as an encrypted version of Telnet. Optimism is the one quality more associated with success and happiness than any other. I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If opportunity doesn’t knock, build a door. Typically, it is employed as an encrypted version of Telnet. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Sometimes you win, sometimes you learn. A comfort zone is a beautiful place, but nothing ever grows there. In the middle of winter I at last discovered that there was in me an invincible summer. You must be the change you wish to see in the world. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Genius is an infinite capacity for taking pains. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You cannot save people, you can just love them. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Anyone who has never made a mistake has never tried anything new. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The first step is as good as half over. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In the middle of winter I at last discovered that there was in me an invincible summer. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To connect to a database or schema, simply double-click it in the pane. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. A comfort zone is a beautiful place, but nothing ever grows there. Sometimes you win, sometimes you learn. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Remember that failure is an event, not a person. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. A man’s best friends are his ten fingers. Remember that failure is an event, not a person. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. A man is not old until regrets take the place of dreams. I will greet this day with love in my heart. Flexible settings enable you to set up a custom key for comparison and synchronization. A query is used to extract data from the database in a readable format according to the user\'s request. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Anyone who has never made a mistake has never tried anything new. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You must be the change you wish to see in the world. Genius is an infinite capacity for taking pains. Anyone who has ever made anything of importance was disciplined. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure.', 'You will succeed because most people are lazy. You will succeed because most people are lazy. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Flexible settings enable you to set up a custom key for comparison and synchronization. There is no way to happiness. Happiness is the way. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. A man’s best friends are his ten fingers. Success consists of going from failure to failure without loss of enthusiasm. If you wait, all that happens is you get older. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', NULL, 'I may not have gone where I intended to go, but I think I have ended up where I needed to be. What you get by achieving your goals is not as important as what you become by achieving your goals. If you wait, all that happens is you get older. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The first step is as good as half over. What you get by achieving your goals is not as important as what you become by achieving your goals. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('90', '/home/Administrator/Pictures/img_764701.png', 'ZIbld', NULL, NULL, 'XZ1IjAdoJS', '3-9-5 Gakuenminami', NULL, '2022-10-19 11:20:46', '2016-01-13 16:53:51', 814.3390, 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. A man’s best friends are his ten fingers. All journeys have secret destinations of which the traveler is unaware. The past has no power over the present moment. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. There is no way to happiness. Happiness is the way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Champions keep playing until they get it right. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Creativity is intelligence having fun. If it scares you, it might be a good thing to try. It wasn’t raining when Noah built the ark. A query is used to extract data from the database in a readable format according to the user\'s request. Typically, it is employed as an encrypted version of Telnet. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. A man’s best friends are his ten fingers. To connect to a database or schema, simply double-click it in the pane. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I will greet this day with love in my heart. If you wait, all that happens is you get older. You must be the change you wish to see in the world. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. What you get by achieving your goals is not as important as what you become by achieving your goals. Typically, it is employed as an encrypted version of Telnet. Anyone who has ever made anything of importance was disciplined. Anyone who has ever made anything of importance was disciplined. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Difficult circumstances serve as a textbook of life for people. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. I will greet this day with love in my heart. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. Anyone who has never made a mistake has never tried anything new. If it scares you, it might be a good thing to try. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat 15 has added support for the system-wide dark mode. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To connect to a database or schema, simply double-click it in the pane. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Success consists of going from failure to failure without loss of enthusiasm. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Creativity is intelligence having fun. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Champions keep playing until they get it right. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If the plan doesn’t work, change the plan, but never the goal. A comfort zone is a beautiful place, but nothing ever grows there. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Genius is an infinite capacity for taking pains. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has never made a mistake has never tried anything new. The Synchronize to Database function will give you a full picture of all database differences. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server.', 'The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If opportunity doesn’t knock, build a door. Difficult circumstances serve as a textbook of life for people. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. If opportunity doesn’t knock, build a door. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. A comfort zone is a beautiful place, but nothing ever grows there. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Champions keep playing until they get it right. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. I will greet this day with love in my heart. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. A man’s best friends are his ten fingers. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Genius is an infinite capacity for taking pains. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Typically, it is employed as an encrypted version of Telnet. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It wasn’t raining when Noah built the ark. There is no way to happiness. Happiness is the way. If you wait, all that happens is you get older. Navicat 15 has added support for the system-wide dark mode. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. All journeys have secret destinations of which the traveler is unaware. A man is not old until regrets take the place of dreams. Creativity is intelligence having fun. You will succeed because most people are lazy. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.', NULL, 'Creativity is intelligence having fun. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A query is used to extract data from the database in a readable format according to the user\'s request. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Champions keep playing until they get it right. The On Startup feature allows you to control what tabs appear when you launch Navicat. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Creativity is intelligence having fun. The first step is as good as half over. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Synchronize to Database function will give you a full picture of all database differences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You must be the change you wish to see in the world. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The On Startup feature allows you to control what tabs appear when you launch Navicat. Optimism is the one quality more associated with success and happiness than any other. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Optimism is the one quality more associated with success and happiness than any other. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Remember that failure is an event, not a person. To connect to a database or schema, simply double-click it in the pane. A query is used to extract data from the database in a readable format according to the user\'s request. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Genius is an infinite capacity for taking pains. Anyone who has ever made anything of importance was disciplined. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. A query is used to extract data from the database in a readable format according to the user\'s request. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Flexible settings enable you to set up a custom key for comparison and synchronization. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. There is no way to happiness. Happiness is the way. You must be the change you wish to see in the world. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Genius is an infinite capacity for taking pains. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('91', 'C:\\Users\\Administrator\\Pictures\\img_384354.png', 'QK5se', NULL, NULL, 'hqTf0HtdnD', '13-3-5 Toyohira 3 Jo, Toyohira Ward', NULL, '2020-12-06 15:27:29', '2005-03-02 15:55:03', 252.1976, 'All journeys have secret destinations of which the traveler is unaware. I destroy my enemies when I make them my friends. The Synchronize to Database function will give you a full picture of all database differences. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. You must be the change you wish to see in the world. How we spend our days is, of course, how we spend our lives. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. A comfort zone is a beautiful place, but nothing ever grows there. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. How we spend our days is, of course, how we spend our lives. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Sometimes you win, sometimes you learn. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the plan doesn’t work, change the plan, but never the goal. All journeys have secret destinations of which the traveler is unaware. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. A query is used to extract data from the database in a readable format according to the user\'s request. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. You will succeed because most people are lazy. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A man’s best friends are his ten fingers. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Remember that failure is an event, not a person. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Success consists of going from failure to failure without loss of enthusiasm. Genius is an infinite capacity for taking pains. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. You will succeed because most people are lazy. Champions keep playing until they get it right. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Optimism is the one quality more associated with success and happiness than any other. The Synchronize to Database function will give you a full picture of all database differences. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Remember that failure is an event, not a person. You will succeed because most people are lazy. Remember that failure is an event, not a person. Anyone who has never made a mistake has never tried anything new. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Flexible settings enable you to set up a custom key for comparison and synchronization. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', 'Anyone who has never made a mistake has never tried anything new. To connect to a database or schema, simply double-click it in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. A man is not old until regrets take the place of dreams. If opportunity doesn’t knock, build a door. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I will greet this day with love in my heart. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To connect to a database or schema, simply double-click it in the pane. It wasn’t raining when Noah built the ark. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The past has no power over the present moment. You must be the change you wish to see in the world. Remember that failure is an event, not a person. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Creativity is intelligence having fun. There is no way to happiness. Happiness is the way. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I will greet this day with love in my heart. The Synchronize to Database function will give you a full picture of all database differences. It wasn’t raining when Noah built the ark. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. If the plan doesn’t work, change the plan, but never the goal. Anyone who has never made a mistake has never tried anything new. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat 15 has added support for the system-wide dark mode. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. If the plan doesn’t work, change the plan, but never the goal. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Typically, it is employed as an encrypted version of Telnet. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. There is no way to happiness. Happiness is the way. The On Startup feature allows you to control what tabs appear when you launch Navicat. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. If opportunity doesn’t knock, build a door. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily.', NULL, 'Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A man is not old until regrets take the place of dreams. All journeys have secret destinations of which the traveler is unaware. To connect to a database or schema, simply double-click it in the pane. A comfort zone is a beautiful place, but nothing ever grows there. You cannot save people, you can just love them. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The reason why a great man is great is that he resolves to be a great man. You cannot save people, you can just love them. A man’s best friends are his ten fingers. The On Startup feature allows you to control what tabs appear when you launch Navicat. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. It wasn’t raining when Noah built the ark. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. It wasn’t raining when Noah built the ark. To connect to a database or schema, simply double-click it in the pane. Typically, it is employed as an encrypted version of Telnet. You must be the change you wish to see in the world. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Navicat 15 has added support for the system-wide dark mode. All journeys have secret destinations of which the traveler is unaware. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Difficult circumstances serve as a textbook of life for people. The reason why a great man is great is that he resolves to be a great man. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. If it scares you, it might be a good thing to try. Anyone who has never made a mistake has never tried anything new. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. You will succeed because most people are lazy. A man’s best friends are his ten fingers. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If it scares you, it might be a good thing to try. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If opportunity doesn’t knock, build a door. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. What you get by achieving your goals is not as important as what you become by achieving your goals. The reason why a great man is great is that he resolves to be a great man. Champions keep playing until they get it right. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. You must be the change you wish to see in the world. A man is not old until regrets take the place of dreams. Champions keep playing until they get it right. Typically, it is employed as an encrypted version of Telnet. You cannot save people, you can just love them. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('92', 'C:\\Users\\Administrator\\Pictures\\img_286692.jpg', '94FXP', NULL, NULL, 'NcBOjN6Eeo', '299 Elms Rd, Botley', NULL, '2022-09-16 15:14:44', '2001-11-17 20:49:26', 773.9184, 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. A comfort zone is a beautiful place, but nothing ever grows there. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. The On Startup feature allows you to control what tabs appear when you launch Navicat. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Navicat 15 has added support for the system-wide dark mode. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Typically, it is employed as an encrypted version of Telnet. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Typically, it is employed as an encrypted version of Telnet. How we spend our days is, of course, how we spend our lives. If opportunity doesn’t knock, build a door. A comfort zone is a beautiful place, but nothing ever grows there. I destroy my enemies when I make them my friends. Typically, it is employed as an encrypted version of Telnet. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Remember that failure is an event, not a person. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Creativity is intelligence having fun. Genius is an infinite capacity for taking pains. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The Synchronize to Database function will give you a full picture of all database differences. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Typically, it is employed as an encrypted version of Telnet. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Genius is an infinite capacity for taking pains. You cannot save people, you can just love them. Actually it is just in an idea when feel oneself can achieve and cannot achieve. A man is not old until regrets take the place of dreams. How we spend our days is, of course, how we spend our lives. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Creativity is intelligence having fun. A comfort zone is a beautiful place, but nothing ever grows there. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Success consists of going from failure to failure without loss of enthusiasm. How we spend our days is, of course, how we spend our lives. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If opportunity doesn’t knock, build a door. Optimism is the one quality more associated with success and happiness than any other. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. A comfort zone is a beautiful place, but nothing ever grows there. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Difficult circumstances serve as a textbook of life for people. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. A query is used to extract data from the database in a readable format according to the user\'s request. Creativity is intelligence having fun. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more.', 'In the middle of winter I at last discovered that there was in me an invincible summer. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If it scares you, it might be a good thing to try. A comfort zone is a beautiful place, but nothing ever grows there. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All journeys have secret destinations of which the traveler is unaware. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I destroy my enemies when I make them my friends. I destroy my enemies when I make them my friends. In the middle of winter I at last discovered that there was in me an invincible summer. You must be the change you wish to see in the world. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Remember that failure is an event, not a person. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. In the middle of winter I at last discovered that there was in me an invincible summer. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. I destroy my enemies when I make them my friends. Sometimes you win, sometimes you learn. The past has no power over the present moment. I destroy my enemies when I make them my friends. Genius is an infinite capacity for taking pains. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Genius is an infinite capacity for taking pains. Typically, it is employed as an encrypted version of Telnet. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Synchronize to Database function will give you a full picture of all database differences. To connect to a database or schema, simply double-click it in the pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I will greet this day with love in my heart. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If it scares you, it might be a good thing to try. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Typically, it is employed as an encrypted version of Telnet. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Creativity is intelligence having fun. Navicat 15 has added support for the system-wide dark mode. Navicat 15 has added support for the system-wide dark mode. The past has no power over the present moment. You must be the change you wish to see in the world. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If opportunity doesn’t knock, build a door. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Creativity is intelligence having fun. I destroy my enemies when I make them my friends. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The On Startup feature allows you to control what tabs appear when you launch Navicat. Sometimes you win, sometimes you learn. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. There is no way to happiness. Happiness is the way. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Anyone who has ever made anything of importance was disciplined. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If the plan doesn’t work, change the plan, but never the goal. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Optimism is the one quality more associated with success and happiness than any other. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. There is no way to happiness. Happiness is the way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information.', NULL, 'The reason why a great man is great is that he resolves to be a great man. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The past has no power over the present moment. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('93', '/home/Administrator/Pictures/img_015250.png', 'TnUak', NULL, NULL, 'yR6yW15soy', '3-19-9 Shimizu, Kita Ward', NULL, '2020-04-07 04:21:16', '2013-01-17 16:43:14', 706.8847, 'To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Sometimes you win, sometimes you learn. If the plan doesn’t work, change the plan, but never the goal. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. In the middle of winter I at last discovered that there was in me an invincible summer. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Remember that failure is an event, not a person. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man’s best friends are his ten fingers. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. If opportunity doesn’t knock, build a door. Success consists of going from failure to failure without loss of enthusiasm. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. A man’s best friends are his ten fingers. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You cannot save people, you can just love them. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. A man is not old until regrets take the place of dreams. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. To connect to a database or schema, simply double-click it in the pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way.', 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Creativity is intelligence having fun. Creativity is intelligence having fun. A man is not old until regrets take the place of dreams. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You will succeed because most people are lazy. Flexible settings enable you to set up a custom key for comparison and synchronization. Optimism is the one quality more associated with success and happiness than any other. Navicat 15 has added support for the system-wide dark mode. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The past has no power over the present moment. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. I destroy my enemies when I make them my friends. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. Success consists of going from failure to failure without loss of enthusiasm. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. If opportunity doesn’t knock, build a door. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. You must be the change you wish to see in the world. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. You cannot save people, you can just love them. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. The past has no power over the present moment. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Anyone who has ever made anything of importance was disciplined. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Optimism is the one quality more associated with success and happiness than any other. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You will succeed because most people are lazy. You will succeed because most people are lazy. Difficult circumstances serve as a textbook of life for people. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane.', NULL, 'Actually it is just in an idea when feel oneself can achieve and cannot achieve. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. Anyone who has never made a mistake has never tried anything new. Typically, it is employed as an encrypted version of Telnet. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. A man is not old until regrets take the place of dreams. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. If you wait, all that happens is you get older. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. It wasn’t raining when Noah built the ark. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If opportunity doesn’t knock, build a door. Actually it is just in an idea when feel oneself can achieve and cannot achieve. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Creativity is intelligence having fun. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Anyone who has ever made anything of importance was disciplined. It wasn’t raining when Noah built the ark. What you get by achieving your goals is not as important as what you become by achieving your goals. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Success consists of going from failure to failure without loss of enthusiasm. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. There is no way to happiness. Happiness is the way. Typically, it is employed as an encrypted version of Telnet. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Difficult circumstances serve as a textbook of life for people. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Anyone who has never made a mistake has never tried anything new. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. There is no way to happiness. Happiness is the way. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. The reason why a great man is great is that he resolves to be a great man. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Optimism is the one quality more associated with success and happiness than any other. If the plan doesn’t work, change the plan, but never the goal. Anyone who has never made a mistake has never tried anything new. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. If opportunity doesn’t knock, build a door. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('94', '/Users/Administrator/Pictures/img_632122.png', 'nSPzY', NULL, NULL, '2NBWQQu3fL', '467 Ganlan Rd, Pudong', NULL, '2021-05-29 11:32:06', '2021-01-16 03:13:00', 464.5879, 'You must be the change you wish to see in the world. The On Startup feature allows you to control what tabs appear when you launch Navicat. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. What you get by achieving your goals is not as important as what you become by achieving your goals. Navicat 15 has added support for the system-wide dark mode. The reason why a great man is great is that he resolves to be a great man. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat 15 has added support for the system-wide dark mode. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I will greet this day with love in my heart. There is no way to happiness. Happiness is the way. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Difficult circumstances serve as a textbook of life for people. The reason why a great man is great is that he resolves to be a great man. In the middle of winter I at last discovered that there was in me an invincible summer. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. To connect to a database or schema, simply double-click it in the pane. The first step is as good as half over. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Optimism is the one quality more associated with success and happiness than any other. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Remember that failure is an event, not a person. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. A man is not old until regrets take the place of dreams. A query is used to extract data from the database in a readable format according to the user\'s request. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat 15 has added support for the system-wide dark mode. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. You must be the change you wish to see in the world. Difficult circumstances serve as a textbook of life for people. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Creativity is intelligence having fun. All journeys have secret destinations of which the traveler is unaware. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. I may not have gone where I intended to go, but I think I have ended up where I needed to be. A man’s best friends are his ten fingers. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. Difficult circumstances serve as a textbook of life for people. Typically, it is employed as an encrypted version of Telnet. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored.', 'The first step is as good as half over. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. A query is used to extract data from the database in a readable format according to the user\'s request. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If opportunity doesn’t knock, build a door. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. You must be the change you wish to see in the world. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Optimism is the one quality more associated with success and happiness than any other. The first step is as good as half over. If you wait, all that happens is you get older. Sometimes you win, sometimes you learn. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. I destroy my enemies when I make them my friends. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. A man’s best friends are his ten fingers. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Genius is an infinite capacity for taking pains. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. You must be the change you wish to see in the world. The first step is as good as half over. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. I will greet this day with love in my heart. If you wait, all that happens is you get older. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Genius is an infinite capacity for taking pains. Anyone who has never made a mistake has never tried anything new. How we spend our days is, of course, how we spend our lives. You will succeed because most people are lazy. Genius is an infinite capacity for taking pains. Success consists of going from failure to failure without loss of enthusiasm. Flexible settings enable you to set up a custom key for comparison and synchronization. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The first step is as good as half over. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. A query is used to extract data from the database in a readable format according to the user\'s request. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. How we spend our days is, of course, how we spend our lives. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. What you get by achieving your goals is not as important as what you become by achieving your goals. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. If opportunity doesn’t knock, build a door. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.', NULL, 'I destroy my enemies when I make them my friends. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. A man is not old until regrets take the place of dreams. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. There is no way to happiness. Happiness is the way. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Sometimes you win, sometimes you learn. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('95', 'C:\\Users\\Administrator\\Pictures\\img_613078.jpg', 'rhbJx', NULL, NULL, 'CWXiIFPgJe', '572 East Cooke Road', NULL, '2021-06-09 07:09:59', '2007-05-09 08:19:48', 301.7607, 'Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. I destroy my enemies when I make them my friends. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If you wait, all that happens is you get older. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man’s best friends are his ten fingers. Optimism is the one quality more associated with success and happiness than any other. Anyone who has ever made anything of importance was disciplined. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Actually it is just in an idea when feel oneself can achieve and cannot achieve. Creativity is intelligence having fun. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. There is no way to happiness. Happiness is the way. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. All journeys have secret destinations of which the traveler is unaware. Flexible settings enable you to set up a custom key for comparison and synchronization. Typically, it is employed as an encrypted version of Telnet. The On Startup feature allows you to control what tabs appear when you launch Navicat. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Success consists of going from failure to failure without loss of enthusiasm. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. How we spend our days is, of course, how we spend our lives. Flexible settings enable you to set up a custom key for comparison and synchronization. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Difficult circumstances serve as a textbook of life for people. The first step is as good as half over. The On Startup feature allows you to control what tabs appear when you launch Navicat. Creativity is intelligence having fun. Remember that failure is an event, not a person. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. The past has no power over the present moment. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Difficult circumstances serve as a textbook of life for people. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. You will succeed because most people are lazy. All journeys have secret destinations of which the traveler is unaware. All journeys have secret destinations of which the traveler is unaware. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools.', 'In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Navicat 15 has added support for the system-wide dark mode. It wasn’t raining when Noah built the ark. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. How we spend our days is, of course, how we spend our lives. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. If you wait, all that happens is you get older. Success consists of going from failure to failure without loss of enthusiasm. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Champions keep playing until they get it right. There is no way to happiness. Happiness is the way. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. You must be the change you wish to see in the world. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Creativity is intelligence having fun. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The reason why a great man is great is that he resolves to be a great man. Anyone who has never made a mistake has never tried anything new. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. A man’s best friends are his ten fingers. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Actually it is just in an idea when feel oneself can achieve and cannot achieve. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. The past has no power over the present moment. If the plan doesn’t work, change the plan, but never the goal. If it scares you, it might be a good thing to try. You cannot save people, you can just love them. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Remember that failure is an event, not a person. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. If opportunity doesn’t knock, build a door. Navicat 15 has added support for the system-wide dark mode. If it scares you, it might be a good thing to try. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. If opportunity doesn’t knock, build a door. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. The first step is as good as half over. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. You will succeed because most people are lazy. Genius is an infinite capacity for taking pains. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The first step is as good as half over. Difficult circumstances serve as a textbook of life for people. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. You will succeed because most people are lazy. If you wait, all that happens is you get older. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. If the plan doesn’t work, change the plan, but never the goal. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A comfort zone is a beautiful place, but nothing ever grows there. A query is used to extract data from the database in a readable format according to the user\'s request. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. All journeys have secret destinations of which the traveler is unaware. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Anyone who has never made a mistake has never tried anything new. Sometimes you win, sometimes you learn. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. The first step is as good as half over. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Champions keep playing until they get it right. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. How we spend our days is, of course, how we spend our lives. Difficult circumstances serve as a textbook of life for people. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Difficult circumstances serve as a textbook of life for people. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Navicat 15 has added support for the system-wide dark mode. Creativity is intelligence having fun. You will succeed because most people are lazy. Navicat 15 has added support for the system-wide dark mode. The reason why a great man is great is that he resolves to be a great man. If it scares you, it might be a good thing to try. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If opportunity doesn’t knock, build a door. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A man is not old until regrets take the place of dreams. Anyone who has ever made anything of importance was disciplined.', NULL, 'How we spend our days is, of course, how we spend our lives. The Synchronize to Database function will give you a full picture of all database differences. You will succeed because most people are lazy. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Anyone who has never made a mistake has never tried anything new. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. I will greet this day with love in my heart. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Genius is an infinite capacity for taking pains. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. What you get by achieving your goals is not as important as what you become by achieving your goals. There is no way to happiness. Happiness is the way. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The past has no power over the present moment. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. Typically, it is employed as an encrypted version of Telnet. Flexible settings enable you to set up a custom key for comparison and synchronization. A man is not old until regrets take the place of dreams. You cannot save people, you can just love them. How we spend our days is, of course, how we spend our lives. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Creativity is intelligence having fun. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Difficult circumstances serve as a textbook of life for people. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('96', 'C:\\Users\\Administrator\\Pictures\\img_134278.jpg', 'eWtoh', NULL, NULL, '5RiTTzbzpx', '323 39 William IV St, Charing Cross', NULL, '2024-08-13 14:16:31', '2008-01-18 05:37:11', 304.1944, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Difficult circumstances serve as a textbook of life for people. Typically, it is employed as an encrypted version of Telnet. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. It wasn’t raining when Noah built the ark. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. Typically, it is employed as an encrypted version of Telnet. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The Synchronize to Database function will give you a full picture of all database differences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. I will greet this day with love in my heart. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. To connect to a database or schema, simply double-click it in the pane. A man’s best friends are his ten fingers. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I will greet this day with love in my heart. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A man’s best friends are his ten fingers. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. A man’s best friends are his ten fingers. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To connect to a database or schema, simply double-click it in the pane. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. What you get by achieving your goals is not as important as what you become by achieving your goals. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. If it scares you, it might be a good thing to try. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. There is no way to happiness. Happiness is the way. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. I will greet this day with love in my heart. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If opportunity doesn’t knock, build a door. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Champions keep playing until they get it right. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. If it scares you, it might be a good thing to try. The On Startup feature allows you to control what tabs appear when you launch Navicat. Anyone who has never made a mistake has never tried anything new. Remember that failure is an event, not a person. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure.', 'In the middle of winter I at last discovered that there was in me an invincible summer. Navicat 15 has added support for the system-wide dark mode. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. I may not have gone where I intended to go, but I think I have ended up where I needed to be. Navicat 15 has added support for the system-wide dark mode. You will succeed because most people are lazy. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. Difficult circumstances serve as a textbook of life for people. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. Flexible settings enable you to set up a custom key for comparison and synchronization. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. If it scares you, it might be a good thing to try. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If the plan doesn’t work, change the plan, but never the goal. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Sometimes you win, sometimes you learn. There is no way to happiness. Happiness is the way. Anyone who has never made a mistake has never tried anything new. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Typically, it is employed as an encrypted version of Telnet. I may not have gone where I intended to go, but I think I have ended up where I needed to be. If the plan doesn’t work, change the plan, but never the goal. The past has no power over the present moment. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The reason why a great man is great is that he resolves to be a great man. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. A man’s best friends are his ten fingers. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Typically, it is employed as an encrypted version of Telnet. Success consists of going from failure to failure without loss of enthusiasm. You cannot save people, you can just love them. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat 15 has added support for the system-wide dark mode. If it scares you, it might be a good thing to try. A man’s best friends are his ten fingers. Anyone who has never made a mistake has never tried anything new. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The first step is as good as half over. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Sometimes you win, sometimes you learn. Champions keep playing until they get it right. If it scares you, it might be a good thing to try. Typically, it is employed as an encrypted version of Telnet. A comfort zone is a beautiful place, but nothing ever grows there. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. What you get by achieving your goals is not as important as what you become by achieving your goals. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Sometimes you win, sometimes you learn. You will succeed because most people are lazy. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. The first step is as good as half over. How we spend our days is, of course, how we spend our lives. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. Flexible settings enable you to set up a custom key for comparison and synchronization. Optimism is the one quality more associated with success and happiness than any other. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The first step is as good as half over. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. Flexible settings enable you to set up a custom key for comparison and synchronization. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Difficult circumstances serve as a textbook of life for people. A man’s best friends are his ten fingers. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud.', NULL, 'Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. I may not have gone where I intended to go, but I think I have ended up where I needed to be. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. There is no way to happiness. Happiness is the way. Difficult circumstances serve as a textbook of life for people. What you get by achieving your goals is not as important as what you become by achieving your goals. Success consists of going from failure to failure without loss of enthusiasm. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Typically, it is employed as an encrypted version of Telnet. The Synchronize to Database function will give you a full picture of all database differences. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('97', '/Users/Administrator/Pictures/img_675440.jpg', 'osOqT', NULL, NULL, 'PFHisSzFrI', '357 Xiaoping E Rd, Baiyun ', NULL, '2022-10-22 00:23:59', '2024-10-21 20:27:15', 974.4786, 'To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. If it scares you, it might be a good thing to try. If you wait, all that happens is you get older. Sometimes you win, sometimes you learn. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Creativity is intelligence having fun. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Data Modeler enables you to build high-quality conceptual, logical and physical data models for a wide variety of audiences. You cannot save people, you can just love them. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Navicat 15 has added support for the system-wide dark mode. All journeys have secret destinations of which the traveler is unaware. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. A man is not old until regrets take the place of dreams. A query is used to extract data from the database in a readable format according to the user\'s request. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. The first step is as good as half over. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. In the middle of winter I at last discovered that there was in me an invincible summer. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.', 'You must be the change you wish to see in the world. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. I destroy my enemies when I make them my friends. Actually it is just in an idea when feel oneself can achieve and cannot achieve. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. I will greet this day with love in my heart. Anyone who has ever made anything of importance was disciplined. The Synchronize to Database function will give you a full picture of all database differences. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If it scares you, it might be a good thing to try. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. You must be the change you wish to see in the world. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from.', NULL, 'Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. Creativity is intelligence having fun. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. Success consists of going from failure to failure without loss of enthusiasm. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. There is no way to happiness. Happiness is the way. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. The past has no power over the present moment.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('98', '/home/Administrator/Pictures/img_600627.jpg', 'vew5K', NULL, NULL, 'qBEVyfMipy', '95 Yueliu Rd, Fangshan District', NULL, '2022-05-17 18:34:53', '2012-09-28 13:54:11', 186.6101, 'The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. I may not have gone where I intended to go, but I think I have ended up where I needed to be. It can also manage cloud databases such as Amazon Redshift, Amazon RDS, Alibaba Cloud. Features in Navicat are sophisticated enough to provide professional developers for all their specific needs, yet easy to learn for users who are new to database server. The first step is as good as half over. You will succeed because most people are lazy. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. Anyone who has never made a mistake has never tried anything new. The Synchronize to Database function will give you a full picture of all database differences. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. A comfort zone is a beautiful place, but nothing ever grows there. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. The past has no power over the present moment. Anyone who has ever made anything of importance was disciplined. The Main Window consists of several toolbars and panes for you to work on connections, database objects and advanced tools. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. All journeys have secret destinations of which the traveler is unaware. To get a secure connection, the first thing you need to do is to install OpenSSL Library and download Database Source. Typically, it is employed as an encrypted version of Telnet. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The Synchronize to Database function will give you a full picture of all database differences. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. All journeys have secret destinations of which the traveler is unaware. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. Creativity is intelligence having fun. A man is not old until regrets take the place of dreams. All the Navicat Cloud objects are located under different projects. You can share the project to other Navicat Cloud accounts for collaboration. If the plan doesn’t work, change the plan, but never the goal. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated.', 'The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. To connect to a database or schema, simply double-click it in the pane. Difficult circumstances serve as a textbook of life for people. The Synchronize to Database function will give you a full picture of all database differences. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. If opportunity doesn’t knock, build a door. A query is used to extract data from the database in a readable format according to the user\'s request. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. I destroy my enemies when I make them my friends. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. Anyone who has ever made anything of importance was disciplined. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. All journeys have secret destinations of which the traveler is unaware. Genius is an infinite capacity for taking pains. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. You will succeed because most people are lazy. A man’s best friends are his ten fingers. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. If you wait, all that happens is you get older. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. It is used while your ISPs do not allow direct connections, but allows establishing HTTP connections. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. You will succeed because most people are lazy. The Synchronize to Database function will give you a full picture of all database differences.', NULL, 'To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Difficult circumstances serve as a textbook of life for people. I destroy my enemies when I make them my friends. You will succeed because most people are lazy. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. I destroy my enemies when I make them my friends. Creativity is intelligence having fun. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Cloud could not connect and access your databases. By which it means, it could only store your connection settings, queries, model files, and virtual group; your database passwords and data (e.g. tables, views, etc) will not be stored to Navicat Cloud. In a Telnet session, all communications, including username and password, are transmitted in plain-text, allowing anyone to listen-in on your session and steal passwords and other information. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. A man is not old until regrets take the place of dreams. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I will greet this day with love in my heart. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Flexible settings enable you to set up a custom key for comparison and synchronization. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. The past has no power over the present moment. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. If the plan doesn’t work, change the plan, but never the goal.'); +INSERT INTO `t_app_record_api_response` (`record_id`, `path`, `method`, `url_param`, `response_code`, `media_type`, `client_address`, `header`, `request_time`, `response_time`, `use_time`, `request_msg`, `response_msg`, `cookie`, `err_msg`) VALUES ('99', '/home/Administrator/Pictures/img_508922.png', 'q0KwO', NULL, NULL, 'oualHmuAiS', 'No. 246, Shuangqing Rd, Chenghua District', NULL, '2020-03-08 06:53:42', '2007-07-02 19:50:17', 519.1268, 'Anyone who has ever made anything of importance was disciplined. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. After logged in the Navicat Cloud feature, the Navigation pane will be divided into Navicat Cloud and My Connections sections. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. Navicat Data Modeler is a powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. Creativity is intelligence having fun. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. The reason why a great man is great is that he resolves to be a great man. Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. The On Startup feature allows you to control what tabs appear when you launch Navicat. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat 15 has added support for the system-wide dark mode. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane.', 'In the middle of winter I at last discovered that there was in me an invincible summer. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. I will greet this day with love in my heart. To successfully establish a new connection to local/remote server - no matter via SSL or SSH, set the database login information in the General tab. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. The first step is as good as half over. Navicat allows you to transfer data from one database and/or schema to another with detailed analytical process. Genius is an infinite capacity for taking pains. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. The past has no power over the present moment. Anyone who has never made a mistake has never tried anything new. A comfort zone is a beautiful place, but nothing ever grows there. If you wait, all that happens is you get older. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. A comfort zone is a beautiful place, but nothing ever grows there. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Difficult circumstances serve as a textbook of life for people. How we spend our days is, of course, how we spend our lives. Export Wizard allows you to export data from tables, collections, views, or query results to any available formats. It provides strong authentication and secure encrypted communications between two hosts, known as SSH Port Forwarding (Tunneling), over an insecure network. If your Internet Service Provider (ISP) does not provide direct access to its server, Secure Tunneling Protocol (SSH) / HTTP is another solution. To clear or reload various internal caches, flush tables, or acquire locks, control-click your connection in the Navigation pane and select Flush and choose the flush option. You must have the reload privilege to use this feature. What you get by achieving your goals is not as important as what you become by achieving your goals. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. In other words, Navicat provides the ability for data in different databases and/or schemas to be kept up-to-date so that each repository contains the same information. SQL Editor allows you to create and edit SQL text, prepare and execute selected queries. The Synchronize to Database function will give you a full picture of all database differences. Navicat authorizes you to make connection to remote servers running on different platforms (i.e. Windows, macOS, Linux and UNIX), and supports PAM and GSSAPI authentication. If you wait, all that happens is you get older. The Navigation pane employs tree structure which allows you to take action upon the database and their objects through their pop-up menus quickly and easily. You must be the change you wish to see in the world. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Success consists of going from failure to failure without loss of enthusiasm. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. To open a query using an external editor, control-click it and select Open with External Editor. You can set the file path of an external editor in Preferences. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. A man is not old until regrets take the place of dreams. If opportunity doesn’t knock, build a door. If opportunity doesn’t knock, build a door. Navicat is a multi-connections Database Administration tool allowing you to connect to MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB and/or MongoDB databases, making database administration to multiple kinds of database so easy. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. Navicat Monitor requires a repository to store alerts and metrics for historical analysis.', NULL, 'Navicat provides a wide range advanced features, such as compelling code editing capabilities, smart code-completion, SQL formatting, and more. A comfort zone is a beautiful place, but nothing ever grows there. I may not have gone where I intended to go, but I think I have ended up where I needed to be. The Information Pane shows the detailed object information, project activities, the DDL of database objects, object dependencies, membership of users/roles and preview. If you wait, all that happens is you get older. I will greet this day with love in my heart. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. Navicat 15 has added support for the system-wide dark mode. Genius is an infinite capacity for taking pains. Anyone who has never made a mistake has never tried anything new. There is no way to happiness. Happiness is the way. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Navicat Monitor can be installed on any local computer or virtual machine and does not require any software installation on the servers being monitored. Navicat Cloud provides a cloud service for synchronizing connections, queries, model files and virtual group information from Navicat, other Navicat family members, different machines and different platforms. If the plan doesn’t work, change the plan, but never the goal. HTTP Tunneling is a method for connecting to a server that uses the same protocol (http://) and the same port (port 80) as a web server does. After comparing data, the window shows the number of records that will be inserted, updated or deleted in the target. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat provides powerful tools for working with queries: Query Editor for editing the query text directly, and Query Builder, Find Builder or Aggregate Builder for building queries visually. Optimism is the one quality more associated with success and happiness than any other. If the plan doesn’t work, change the plan, but never the goal. With its well-designed Graphical User Interface(GUI), Navicat lets you quickly and easily create, organize, access and share information in a secure and easy way. You will succeed because most people are lazy. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Import Wizard allows you to import data to tables/collections from CSV, TXT, XML, DBF and more. Always keep your eyes open. Keep watching. Because whatever you see can inspire you. I will greet this day with love in my heart. You can select any connections, objects or projects, and then select the corresponding buttons on the Information Pane. To successfully establish a new connection to local/remote server - no matter via SSL, SSH or HTTP, set the database login information in the General tab. Navicat Monitor is a safe, simple and agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible. A query is used to extract data from the database in a readable format according to the user\'s request. Sometimes you win, sometimes you learn. To connect to a database or schema, simply double-click it in the pane. A man’s best friends are his ten fingers. The repository database can be an existing MySQL, MariaDB, PostgreSQL, SQL Server, or Amazon RDS instance. Remember that failure is an event, not a person. SSH serves to prevent such vulnerabilities and allows you to access a remote server\'s shell without compromising security. Actually it is just in an idea when feel oneself can achieve and cannot achieve. In the Objects tab, you can use the List List, Detail Detail and ER Diagram ER Diagram buttons to change the object view. Secure SHell (SSH) is a program to log in into another computer over a network, execute commands on a remote server, and move files from one machine to another. A query is used to extract data from the database in a readable format according to the user\'s request. Monitored servers include MySQL, MariaDB and SQL Server, and compatible with cloud databases like Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud and Microsoft Azure. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If the Show objects under schema in navigation pane option is checked at the Preferences window, all database objects are also displayed in the pane. All journeys have secret destinations of which the traveler is unaware. Navicat Monitor requires a repository to store alerts and metrics for historical analysis. If it scares you, it might be a good thing to try. To start working with your server in Navicat, you should first establish a connection or several connections using the Connection window. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet. Instead of wondering when your next vacation is, maybe you should set up a life you don’t need to escape from. Anyone who has ever made anything of importance was disciplined. It collects process metrics such as CPU load, RAM usage, and a variety of other resources over SSH/SNMP. Secure Sockets Layer(SSL) is a protocol for transmitting private documents via the Internet.'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_record_err +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_record_err`; +CREATE TABLE `t_app_record_err` ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '序号', + `equipment_type` int NOT NULL COMMENT '设备类型', + `equipment_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备名称', + `equipment_Id` varchar(64) NOT NULL COMMENT '设备编号', + `err_code` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报警编号', + `create_time` datetime NOT NULL COMMENT '报警时间', + `recover_time` datetime DEFAULT NULL COMMENT '恢复时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_record_err +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_record_err` (`id`, `equipment_type`, `equipment_name`, `equipment_Id`, `err_code`, `create_time`, `recover_time`) VALUES ('12312', 1, '3', '101', '35435', '2025-11-13 15:35:38', NULL); +INSERT INTO `t_app_record_err` (`id`, `equipment_type`, `equipment_name`, `equipment_Id`, `err_code`, `create_time`, `recover_time`) VALUES ('234234', 2, '343', '2233', '334', '2025-11-17 00:55:33', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_record_maintenance +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_record_maintenance`; +CREATE TABLE `t_app_record_maintenance` ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `maintenance_no` int NOT NULL, + `maintenance_time` datetime NOT NULL, + `maintenance_person` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_record_maintenance +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_record_plc_interactive +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_record_plc_interactive`; +CREATE TABLE `t_app_record_plc_interactive` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '记录号', + `interactive_type` int NOT NULL COMMENT '交互类型', + `plc_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'PLC 名称', + `msg_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '消息号', + `msg` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '消息数据', + `create_time` datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_record_plc_interactive +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_record_scan +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_record_scan`; +CREATE TABLE `t_app_record_scan` ( + `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '记录号', + `location` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '扫码位置', + `code` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '条码', + `size` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '尺寸', + `weight` decimal(10,4) NOT NULL DEFAULT '-1.0000' COMMENT '重量', + `length` decimal(10,4) NOT NULL DEFAULT '-1.0000' COMMENT '长', + `width` decimal(10,4) NOT NULL DEFAULT '-1.0000' COMMENT '宽', + `height` decimal(10,4) NOT NULL DEFAULT '-1.0000' COMMENT '高', + `scan_time` datetime NOT NULL COMMENT '扫码时间', + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`record_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_app_record_scan +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004532839010000', 'P1', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004532908010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004532954010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533011010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533065010000', 'P1', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533100010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533146010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533181010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533217010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533260010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533297010000', 'P1', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004533338010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:13', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004540313010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:20', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004548547010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:29', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004551790010000', 'P1', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:42:32', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735004580743010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:43:01', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005002734010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:50:03', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005004728010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:50:05', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005011930010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:50:12', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005016077010000', 'P1', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:50:16', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005037557010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:50:38', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005044151010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:50:44', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005069172010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:51:09', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005081114010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:51:21', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005081114010001', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:51:21', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005086533010000', '0001', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:51:27', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005148087010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:52:28', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005148088010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:52:28', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005148091010000', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:52:28', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735005148091010001', '0003', 'NoRead', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 09:52:28', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735006030923010000', 'P1', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:07:11', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735006460966010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:14:21', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735006956351010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:22:36', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735007088814010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:24:49', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735007164134010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:26:04', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735008100026010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:41:40', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735008245941010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:44:06', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735008887930010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 10:54:48', 'PLC'); +INSERT INTO `t_app_record_scan` (`record_id`, `location`, `code`, `size`, `weight`, `length`, `width`, `height`, `scan_time`, `remark`) VALUES ('1735013556515010000', '0007', '', '0', 0.0000, 0.0000, 0.0000, 0.0000, '2024-12-24 12:12:37', 'PLC'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_record_task_msg +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_record_task_msg`; +CREATE TABLE `t_app_record_task_msg` ( + `record_id` varchar(64) NOT NULL COMMENT '记录号', + `task_id` varchar(64) DEFAULT NULL COMMENT '任务号', + `vahicle_no` varchar(64) DEFAULT NULL COMMENT '载具号', + `create_time` datetime NOT NULL COMMENT '创建时间', + `msg` varchar(1024) DEFAULT NULL COMMENT '信息', + PRIMARY KEY (`record_id`), + KEY `task_id_index` (`task_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_record_task_msg +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stacker_info +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stacker_info`; +CREATE TABLE `t_app_stacker_info` ( + `stacker_id` int NOT NULL COMMENT '堆垛机ID', + `plc_id` int NOT NULL COMMENT '对应的PLCID', + `stacker_name` varchar(64) NOT NULL COMMENT '堆垛机名称', + `stacker_status` int NOT NULL COMMENT '堆垛机状态', + `fork_status` varchar(64) NOT NULL COMMENT '货叉状态', + `allow_in` int NOT NULL COMMENT '是否允许入库', + `allow_out` int NOT NULL COMMENT '是否允许出库', + `allow_move` int NOT NULL COMMENT '是否允许移库', + `action_beat` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '动作节拍', + `read_status_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '读取堆垛机状态的地址', + `write_task_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '写任务的地址', + `task_confirm_address` varchar(64) DEFAULT NULL COMMENT '任务确认的地址', + `task_status_address` varchar(64) DEFAULT NULL COMMENT '过账地址', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`stacker_id`,`read_status_address`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stacker_info +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_stacker_info` (`stacker_id`, `plc_id`, `stacker_name`, `stacker_status`, `fork_status`, `allow_in`, `allow_out`, `allow_move`, `action_beat`, `read_status_address`, `write_task_address`, `task_confirm_address`, `task_status_address`, `create_time`, `update_time`, `remark`) VALUES (1, 1, '堆垛机1号', 1, '1', 1, 1, 1, '92121', 'DB90.0', 'DB91.0', 'DB91.101', 'DB70.0', '2025-05-30 08:54:37', '2025-06-09 14:39:06', NULL); +INSERT INTO `t_app_stacker_info` (`stacker_id`, `plc_id`, `stacker_name`, `stacker_status`, `fork_status`, `allow_in`, `allow_out`, `allow_move`, `action_beat`, `read_status_address`, `write_task_address`, `task_confirm_address`, `task_status_address`, `create_time`, `update_time`, `remark`) VALUES (2, 2, '堆垛机2号', 0, '10', 1, 1, 1, '921', 'DB90.0', 'DB91.0;DB91.80', 'DB91.100', 'DB70.0', '2025-05-30 08:55:34', '2025-05-30 15:28:09', '测试修改'); +INSERT INTO `t_app_stacker_info` (`stacker_id`, `plc_id`, `stacker_name`, `stacker_status`, `fork_status`, `allow_in`, `allow_out`, `allow_move`, `action_beat`, `read_status_address`, `write_task_address`, `task_confirm_address`, `task_status_address`, `create_time`, `update_time`, `remark`) VALUES (3, 4, '堆垛机3号', 1, '1', 1, 1, 1, '921', 'DB90.0', 'DB91.0', 'DB91.100', 'DB70.0', '2025-05-30 10:31:42', '2025-05-30 15:29:05', NULL); +INSERT INTO `t_app_stacker_info` (`stacker_id`, `plc_id`, `stacker_name`, `stacker_status`, `fork_status`, `allow_in`, `allow_out`, `allow_move`, `action_beat`, `read_status_address`, `write_task_address`, `task_confirm_address`, `task_status_address`, `create_time`, `update_time`, `remark`) VALUES (4, 1, '测试堆垛机', 1, '1', 1, 1, 1, '921', 'DB90.0', 'DB91.0', 'DB90.80', 'DB70.1', '2025-09-04 22:26:35', '2025-09-04 22:26:47', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stacker_location +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stacker_location`; +CREATE TABLE `t_app_stacker_location` ( + `location_id` varchar(64) NOT NULL COMMENT '库位', + `location_status` int NOT NULL COMMENT '库位状态:\n0-空闲\n1-入库中\n2-出库中\n3-占用中\n9-禁用\n', + `business_location` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '业务库位', + `location_type` int NOT NULL COMMENT '库位类型', + `lane_id` int NOT NULL COMMENT '巷道', + `machine_id` int NOT NULL COMMENT '设备号', + `l_row` int NOT NULL COMMENT '排', + `l_line` int NOT NULL COMMENT '列', + `l_layer` int NOT NULL COMMENT '层', + `l_depth` int NOT NULL COMMENT '深', + `location_tag` varchar(64) DEFAULT NULL COMMENT '库位标记', + `vehicle_no` varchar(64) DEFAULT NULL COMMENT '容器编号', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`location_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stacker_location +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-01-1', 0, 'A1-001-01-1', 0, 1, 1, 1, 2, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-01-2', 0, 'A1-001-01-2', 0, 1, 1, 1, 2, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-01-3', 0, 'A1-001-01-3', 0, 1, 1, 1, 2, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-02-1', 9, 'A1-001-02-1', 0, 1, 1, 1, 2, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-02-2', 0, 'A1-001-02-2', 0, 1, 1, 1, 2, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-02-3', 0, 'A1-001-02-3', 0, 1, 1, 1, 2, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-03-1', 0, 'A1-001-03-1', 0, 1, 1, 1, 2, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-03-2', 3, 'A1-001-03-2', 0, 1, 1, 1, 2, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-03-3', 0, 'A1-001-03-3', 0, 1, 1, 1, 2, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-04-1', 2, 'A1-001-04-1', 0, 1, 1, 1, 2, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-04-2', 0, 'A1-001-04-2', 0, 1, 1, 1, 2, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-04-3', 0, 'A1-001-04-3', 0, 1, 1, 1, 2, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-05-1', 0, 'A1-001-05-1', 0, 1, 1, 1, 2, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-05-2', 1, 'A1-001-05-2', 0, 1, 1, 1, 2, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-05-3', 0, 'A1-001-05-3', 0, 1, 1, 1, 2, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-06-1', 0, 'A1-001-06-1', 0, 1, 1, 1, 2, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-06-2', 0, 'A1-001-06-2', 0, 1, 1, 1, 2, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-001-06-3', 0, 'A1-001-06-3', 0, 1, 1, 1, 2, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-01-1', 0, 'A1-002-01-1', 0, 1, 1, 1, 3, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-01-2', 0, 'A1-002-01-2', 0, 1, 1, 1, 3, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-01-3', 0, 'A1-002-01-3', 0, 1, 1, 1, 3, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-02-1', 0, 'A1-002-02-1', 0, 1, 1, 1, 3, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-02-2', 0, 'A1-002-02-2', 0, 1, 1, 1, 3, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-02-3', 0, 'A1-002-02-3', 0, 1, 1, 1, 3, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-03-1', 0, 'A1-002-03-1', 0, 1, 1, 1, 3, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-03-2', 0, 'A1-002-03-2', 0, 1, 1, 1, 3, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-03-3', 0, 'A1-002-03-3', 0, 1, 1, 1, 3, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-04-1', 0, 'A1-002-04-1', 0, 1, 1, 1, 3, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-04-2', 0, 'A1-002-04-2', 0, 1, 1, 1, 3, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-04-3', 0, 'A1-002-04-3', 0, 1, 1, 1, 3, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-05-1', 0, 'A1-002-05-1', 0, 1, 1, 1, 3, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-05-2', 0, 'A1-002-05-2', 0, 1, 1, 1, 3, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-05-3', 0, 'A1-002-05-3', 0, 1, 1, 1, 3, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-06-1', 0, 'A1-002-06-1', 0, 1, 1, 1, 3, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-06-2', 0, 'A1-002-06-2', 0, 1, 1, 1, 3, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-002-06-3', 0, 'A1-002-06-3', 0, 1, 1, 1, 3, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-01-1', 0, 'A1-003-01-1', 0, 1, 1, 1, 4, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-01-2', 0, 'A1-003-01-2', 0, 1, 1, 1, 4, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-01-3', 0, 'A1-003-01-3', 0, 1, 1, 1, 4, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-02-1', 0, 'A1-003-02-1', 0, 1, 1, 1, 4, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-02-2', 0, 'A1-003-02-2', 0, 1, 1, 1, 4, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-02-3', 0, 'A1-003-02-3', 0, 1, 1, 1, 4, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-03-1', 0, 'A1-003-03-1', 0, 1, 1, 1, 4, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-03-2', 0, 'A1-003-03-2', 0, 1, 1, 1, 4, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-03-3', 0, 'A1-003-03-3', 0, 1, 1, 1, 4, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-04-1', 0, 'A1-003-04-1', 0, 1, 1, 1, 4, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-04-2', 0, 'A1-003-04-2', 0, 1, 1, 1, 4, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-04-3', 0, 'A1-003-04-3', 0, 1, 1, 1, 4, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-05-1', 0, 'A1-003-05-1', 0, 1, 1, 1, 4, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-05-2', 0, 'A1-003-05-2', 0, 1, 1, 1, 4, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-05-3', 0, 'A1-003-05-3', 0, 1, 1, 1, 4, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-06-1', 0, 'A1-003-06-1', 0, 1, 1, 1, 4, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-06-2', 0, 'A1-003-06-2', 0, 1, 1, 1, 4, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-003-06-3', 0, 'A1-003-06-3', 0, 1, 1, 1, 4, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-01-1', 0, 'A1-004-01-1', 0, 1, 1, 1, 5, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-01-2', 0, 'A1-004-01-2', 0, 1, 1, 1, 5, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-01-3', 0, 'A1-004-01-3', 0, 1, 1, 1, 5, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-02-1', 0, 'A1-004-02-1', 0, 1, 1, 1, 5, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-02-2', 0, 'A1-004-02-2', 0, 1, 1, 1, 5, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-02-3', 0, 'A1-004-02-3', 0, 1, 1, 1, 5, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-03-1', 0, 'A1-004-03-1', 0, 1, 1, 1, 5, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-03-2', 0, 'A1-004-03-2', 0, 1, 1, 1, 5, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-03-3', 0, 'A1-004-03-3', 0, 1, 1, 1, 5, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-04-1', 0, 'A1-004-04-1', 0, 1, 1, 1, 5, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-04-2', 0, 'A1-004-04-2', 0, 1, 1, 1, 5, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-04-3', 0, 'A1-004-04-3', 0, 1, 1, 1, 5, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-05-1', 0, 'A1-004-05-1', 0, 1, 1, 1, 5, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-05-2', 0, 'A1-004-05-2', 0, 1, 1, 1, 5, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-05-3', 0, 'A1-004-05-3', 0, 1, 1, 1, 5, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-06-1', 0, 'A1-004-06-1', 0, 1, 1, 1, 5, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-06-2', 0, 'A1-004-06-2', 0, 1, 1, 1, 5, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-004-06-3', 0, 'A1-004-06-3', 0, 1, 1, 1, 5, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-01-1', 0, 'A1-005-01-1', 0, 1, 1, 1, 6, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-01-2', 0, 'A1-005-01-2', 0, 1, 1, 1, 6, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-01-3', 0, 'A1-005-01-3', 0, 1, 1, 1, 6, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-02-1', 0, 'A1-005-02-1', 0, 1, 1, 1, 6, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-02-2', 0, 'A1-005-02-2', 0, 1, 1, 1, 6, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-02-3', 0, 'A1-005-02-3', 0, 1, 1, 1, 6, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-03-1', 0, 'A1-005-03-1', 0, 1, 1, 1, 6, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-03-2', 0, 'A1-005-03-2', 0, 1, 1, 1, 6, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-03-3', 0, 'A1-005-03-3', 0, 1, 1, 1, 6, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-04-1', 0, 'A1-005-04-1', 0, 1, 1, 1, 6, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-04-2', 0, 'A1-005-04-2', 0, 1, 1, 1, 6, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-04-3', 0, 'A1-005-04-3', 0, 1, 1, 1, 6, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-05-1', 0, 'A1-005-05-1', 0, 1, 1, 1, 6, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-05-2', 0, 'A1-005-05-2', 0, 1, 1, 1, 6, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-05-3', 0, 'A1-005-05-3', 0, 1, 1, 1, 6, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-06-1', 0, 'A1-005-06-1', 0, 1, 1, 1, 6, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-06-2', 0, 'A1-005-06-2', 0, 1, 1, 1, 6, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-005-06-3', 0, 'A1-005-06-3', 0, 1, 1, 1, 6, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-01-1', 0, 'A1-006-01-1', 0, 1, 1, 1, 7, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-01-2', 0, 'A1-006-01-2', 0, 1, 1, 1, 7, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-01-3', 0, 'A1-006-01-3', 0, 1, 1, 1, 7, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-02-1', 0, 'A1-006-02-1', 0, 1, 1, 1, 7, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-02-2', 0, 'A1-006-02-2', 0, 1, 1, 1, 7, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-02-3', 0, 'A1-006-02-3', 0, 1, 1, 1, 7, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-03-1', 0, 'A1-006-03-1', 0, 1, 1, 1, 7, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-03-2', 0, 'A1-006-03-2', 0, 1, 1, 1, 7, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-03-3', 0, 'A1-006-03-3', 0, 1, 1, 1, 7, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-04-1', 0, 'A1-006-04-1', 0, 1, 1, 1, 7, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-04-2', 0, 'A1-006-04-2', 0, 1, 1, 1, 7, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-04-3', 0, 'A1-006-04-3', 0, 1, 1, 1, 7, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-05-1', 0, 'A1-006-05-1', 0, 1, 1, 1, 7, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-05-2', 0, 'A1-006-05-2', 0, 1, 1, 1, 7, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-05-3', 0, 'A1-006-05-3', 0, 1, 1, 1, 7, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-06-1', 0, 'A1-006-06-1', 0, 1, 1, 1, 7, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-06-2', 0, 'A1-006-06-2', 0, 1, 1, 1, 7, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-006-06-3', 0, 'A1-006-06-3', 0, 1, 1, 1, 7, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-01-1', 0, 'A1-007-01-1', 0, 1, 1, 1, 8, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-01-2', 0, 'A1-007-01-2', 0, 1, 1, 1, 8, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-01-3', 0, 'A1-007-01-3', 0, 1, 1, 1, 8, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-02-1', 0, 'A1-007-02-1', 0, 1, 1, 1, 8, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-02-2', 0, 'A1-007-02-2', 0, 1, 1, 1, 8, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-02-3', 0, 'A1-007-02-3', 0, 1, 1, 1, 8, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-03-1', 0, 'A1-007-03-1', 0, 1, 1, 1, 8, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-03-2', 0, 'A1-007-03-2', 0, 1, 1, 1, 8, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-03-3', 0, 'A1-007-03-3', 0, 1, 1, 1, 8, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-04-1', 0, 'A1-007-04-1', 0, 1, 1, 1, 8, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-04-2', 0, 'A1-007-04-2', 0, 1, 1, 1, 8, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-04-3', 0, 'A1-007-04-3', 0, 1, 1, 1, 8, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-05-1', 0, 'A1-007-05-1', 0, 1, 1, 1, 8, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-05-2', 0, 'A1-007-05-2', 0, 1, 1, 1, 8, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-05-3', 0, 'A1-007-05-3', 0, 1, 1, 1, 8, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-06-1', 0, 'A1-007-06-1', 0, 1, 1, 1, 8, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-06-2', 0, 'A1-007-06-2', 0, 1, 1, 1, 8, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-007-06-3', 0, 'A1-007-06-3', 0, 1, 1, 1, 8, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-01-1', 0, 'A1-008-01-1', 0, 1, 1, 1, 9, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-01-2', 0, 'A1-008-01-2', 0, 1, 1, 1, 9, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-01-3', 0, 'A1-008-01-3', 0, 1, 1, 1, 9, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-02-1', 0, 'A1-008-02-1', 0, 1, 1, 1, 9, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-02-2', 0, 'A1-008-02-2', 0, 1, 1, 1, 9, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-02-3', 0, 'A1-008-02-3', 0, 1, 1, 1, 9, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-03-1', 0, 'A1-008-03-1', 0, 1, 1, 1, 9, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-03-2', 0, 'A1-008-03-2', 0, 1, 1, 1, 9, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-03-3', 0, 'A1-008-03-3', 0, 1, 1, 1, 9, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-04-1', 0, 'A1-008-04-1', 0, 1, 1, 1, 9, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-04-2', 0, 'A1-008-04-2', 0, 1, 1, 1, 9, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-04-3', 0, 'A1-008-04-3', 0, 1, 1, 1, 9, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-05-1', 0, 'A1-008-05-1', 0, 1, 1, 1, 9, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-05-2', 0, 'A1-008-05-2', 0, 1, 1, 1, 9, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-05-3', 0, 'A1-008-05-3', 0, 1, 1, 1, 9, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-06-1', 0, 'A1-008-06-1', 0, 1, 1, 1, 9, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-06-2', 0, 'A1-008-06-2', 0, 1, 1, 1, 9, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-008-06-3', 0, 'A1-008-06-3', 0, 1, 1, 1, 9, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-01-1', 0, 'A1-009-01-1', 0, 1, 1, 1, 10, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-01-2', 0, 'A1-009-01-2', 0, 1, 1, 1, 10, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-01-3', 0, 'A1-009-01-3', 0, 1, 1, 1, 10, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-02-1', 0, 'A1-009-02-1', 0, 1, 1, 1, 10, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-02-2', 0, 'A1-009-02-2', 0, 1, 1, 1, 10, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-02-3', 0, 'A1-009-02-3', 0, 1, 1, 1, 10, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-03-1', 0, 'A1-009-03-1', 0, 1, 1, 1, 10, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-03-2', 0, 'A1-009-03-2', 0, 1, 1, 1, 10, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-03-3', 0, 'A1-009-03-3', 0, 1, 1, 1, 10, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-04-1', 0, 'A1-009-04-1', 0, 1, 1, 1, 10, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-04-2', 0, 'A1-009-04-2', 0, 1, 1, 1, 10, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-04-3', 0, 'A1-009-04-3', 0, 1, 1, 1, 10, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-05-1', 0, 'A1-009-05-1', 0, 1, 1, 1, 10, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-05-2', 9, 'A1-009-05-2', 0, 1, 1, 1, 10, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-05-3', 0, 'A1-009-05-3', 0, 1, 1, 1, 10, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-06-1', 0, 'A1-009-06-1', 0, 1, 1, 1, 10, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-06-2', 0, 'A1-009-06-2', 0, 1, 1, 1, 10, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-009-06-3', 0, 'A1-009-06-3', 0, 1, 1, 1, 10, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-01-1', 0, 'A1-010-01-1', 0, 1, 1, 1, 11, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-01-2', 0, 'A1-010-01-2', 0, 1, 1, 1, 11, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-01-3', 0, 'A1-010-01-3', 0, 1, 1, 1, 11, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-02-1', 0, 'A1-010-02-1', 0, 1, 1, 1, 11, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-02-2', 0, 'A1-010-02-2', 0, 1, 1, 1, 11, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-02-3', 0, 'A1-010-02-3', 0, 1, 1, 1, 11, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-03-1', 0, 'A1-010-03-1', 0, 1, 1, 1, 11, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-03-2', 0, 'A1-010-03-2', 0, 1, 1, 1, 11, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-03-3', 0, 'A1-010-03-3', 0, 1, 1, 1, 11, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-04-1', 0, 'A1-010-04-1', 0, 1, 1, 1, 11, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-04-2', 0, 'A1-010-04-2', 0, 1, 1, 1, 11, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-04-3', 0, 'A1-010-04-3', 0, 1, 1, 1, 11, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-05-1', 0, 'A1-010-05-1', 0, 1, 1, 1, 11, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-05-2', 0, 'A1-010-05-2', 0, 1, 1, 1, 11, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-05-3', 0, 'A1-010-05-3', 0, 1, 1, 1, 11, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-06-1', 9, 'A1-010-06-1', 0, 1, 1, 1, 11, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-06-2', 0, 'A1-010-06-2', 0, 1, 1, 1, 11, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-010-06-3', 0, 'A1-010-06-3', 0, 1, 1, 1, 11, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-01-1', 0, 'A1-011-01-1', 0, 1, 1, 1, 12, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-01-2', 0, 'A1-011-01-2', 0, 1, 1, 1, 12, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-01-3', 0, 'A1-011-01-3', 0, 1, 1, 1, 12, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-02-1', 0, 'A1-011-02-1', 0, 1, 1, 1, 12, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-02-2', 0, 'A1-011-02-2', 0, 1, 1, 1, 12, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-02-3', 0, 'A1-011-02-3', 0, 1, 1, 1, 12, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-03-1', 0, 'A1-011-03-1', 0, 1, 1, 1, 12, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-03-2', 0, 'A1-011-03-2', 0, 1, 1, 1, 12, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-03-3', 0, 'A1-011-03-3', 0, 1, 1, 1, 12, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-04-1', 0, 'A1-011-04-1', 0, 1, 1, 1, 12, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-04-2', 0, 'A1-011-04-2', 0, 1, 1, 1, 12, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-04-3', 0, 'A1-011-04-3', 0, 1, 1, 1, 12, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-05-1', 0, 'A1-011-05-1', 0, 1, 1, 1, 12, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-05-2', 0, 'A1-011-05-2', 0, 1, 1, 1, 12, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-05-3', 0, 'A1-011-05-3', 0, 1, 1, 1, 12, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-06-1', 0, 'A1-011-06-1', 0, 1, 1, 1, 12, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-06-2', 0, 'A1-011-06-2', 0, 1, 1, 1, 12, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-011-06-3', 0, 'A1-011-06-3', 0, 1, 1, 1, 12, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-01-1', 0, 'A1-012-01-1', 0, 1, 1, 1, 13, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-01-2', 0, 'A1-012-01-2', 0, 1, 1, 1, 13, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-01-3', 0, 'A1-012-01-3', 0, 1, 1, 1, 13, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-02-1', 0, 'A1-012-02-1', 0, 1, 1, 1, 13, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-02-2', 0, 'A1-012-02-2', 0, 1, 1, 1, 13, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-02-3', 0, 'A1-012-02-3', 0, 1, 1, 1, 13, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-03-1', 0, 'A1-012-03-1', 0, 1, 1, 1, 13, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-03-2', 0, 'A1-012-03-2', 0, 1, 1, 1, 13, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-03-3', 0, 'A1-012-03-3', 0, 1, 1, 1, 13, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-04-1', 0, 'A1-012-04-1', 0, 1, 1, 1, 13, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-04-2', 0, 'A1-012-04-2', 0, 1, 1, 1, 13, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-04-3', 0, 'A1-012-04-3', 0, 1, 1, 1, 13, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-05-1', 0, 'A1-012-05-1', 0, 1, 1, 1, 13, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-05-2', 0, 'A1-012-05-2', 0, 1, 1, 1, 13, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-05-3', 0, 'A1-012-05-3', 0, 1, 1, 1, 13, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-06-1', 0, 'A1-012-06-1', 0, 1, 1, 1, 13, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-06-2', 0, 'A1-012-06-2', 0, 1, 1, 1, 13, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-012-06-3', 0, 'A1-012-06-3', 0, 1, 1, 1, 13, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-01-1', 0, 'A1-013-01-1', 0, 1, 1, 1, 14, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-01-2', 0, 'A1-013-01-2', 0, 1, 1, 1, 14, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-01-3', 0, 'A1-013-01-3', 0, 1, 1, 1, 14, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-02-1', 0, 'A1-013-02-1', 0, 1, 1, 1, 14, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-02-2', 0, 'A1-013-02-2', 0, 1, 1, 1, 14, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-02-3', 0, 'A1-013-02-3', 0, 1, 1, 1, 14, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-03-1', 0, 'A1-013-03-1', 0, 1, 1, 1, 14, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-03-2', 0, 'A1-013-03-2', 0, 1, 1, 1, 14, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-03-3', 0, 'A1-013-03-3', 0, 1, 1, 1, 14, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-04-1', 0, 'A1-013-04-1', 0, 1, 1, 1, 14, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-04-2', 0, 'A1-013-04-2', 0, 1, 1, 1, 14, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-04-3', 0, 'A1-013-04-3', 0, 1, 1, 1, 14, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-05-1', 0, 'A1-013-05-1', 0, 1, 1, 1, 14, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-05-2', 0, 'A1-013-05-2', 0, 1, 1, 1, 14, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-05-3', 0, 'A1-013-05-3', 0, 1, 1, 1, 14, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-06-1', 0, 'A1-013-06-1', 0, 1, 1, 1, 14, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-06-2', 0, 'A1-013-06-2', 0, 1, 1, 1, 14, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-013-06-3', 0, 'A1-013-06-3', 0, 1, 1, 1, 14, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-01-1', 0, 'A1-014-01-1', 0, 1, 1, 1, 15, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-01-2', 0, 'A1-014-01-2', 0, 1, 1, 1, 15, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-01-3', 0, 'A1-014-01-3', 0, 1, 1, 1, 15, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-02-1', 0, 'A1-014-02-1', 0, 1, 1, 1, 15, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-02-2', 0, 'A1-014-02-2', 0, 1, 1, 1, 15, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-02-3', 0, 'A1-014-02-3', 0, 1, 1, 1, 15, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-03-1', 0, 'A1-014-03-1', 0, 1, 1, 1, 15, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-03-2', 0, 'A1-014-03-2', 0, 1, 1, 1, 15, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-03-3', 0, 'A1-014-03-3', 0, 1, 1, 1, 15, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-04-1', 0, 'A1-014-04-1', 0, 1, 1, 1, 15, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-04-2', 0, 'A1-014-04-2', 0, 1, 1, 1, 15, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-04-3', 0, 'A1-014-04-3', 0, 1, 1, 1, 15, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-05-1', 0, 'A1-014-05-1', 0, 1, 1, 1, 15, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-05-2', 0, 'A1-014-05-2', 0, 1, 1, 1, 15, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-05-3', 0, 'A1-014-05-3', 0, 1, 1, 1, 15, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-06-1', 0, 'A1-014-06-1', 0, 1, 1, 1, 15, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-06-2', 0, 'A1-014-06-2', 0, 1, 1, 1, 15, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-014-06-3', 0, 'A1-014-06-3', 0, 1, 1, 1, 15, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-01-1', 0, 'A1-015-01-1', 0, 1, 1, 1, 16, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-01-2', 0, 'A1-015-01-2', 0, 1, 1, 1, 16, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-01-3', 0, 'A1-015-01-3', 0, 1, 1, 1, 16, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-02-1', 0, 'A1-015-02-1', 0, 1, 1, 1, 16, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-02-2', 0, 'A1-015-02-2', 0, 1, 1, 1, 16, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-02-3', 0, 'A1-015-02-3', 0, 1, 1, 1, 16, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-03-1', 0, 'A1-015-03-1', 0, 1, 1, 1, 16, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-03-2', 0, 'A1-015-03-2', 0, 1, 1, 1, 16, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-03-3', 0, 'A1-015-03-3', 0, 1, 1, 1, 16, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-04-1', 0, 'A1-015-04-1', 0, 1, 1, 1, 16, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-04-2', 0, 'A1-015-04-2', 0, 1, 1, 1, 16, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-04-3', 0, 'A1-015-04-3', 0, 1, 1, 1, 16, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-05-1', 0, 'A1-015-05-1', 0, 1, 1, 1, 16, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-05-2', 0, 'A1-015-05-2', 0, 1, 1, 1, 16, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-05-3', 0, 'A1-015-05-3', 0, 1, 1, 1, 16, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-06-1', 0, 'A1-015-06-1', 0, 1, 1, 1, 16, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-06-2', 0, 'A1-015-06-2', 0, 1, 1, 1, 16, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-015-06-3', 0, 'A1-015-06-3', 0, 1, 1, 1, 16, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-01-1', 0, 'A1-016-01-1', 0, 1, 1, 1, 17, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-01-2', 0, 'A1-016-01-2', 0, 1, 1, 1, 17, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-01-3', 0, 'A1-016-01-3', 0, 1, 1, 1, 17, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-02-1', 0, 'A1-016-02-1', 0, 1, 1, 1, 17, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-02-2', 0, 'A1-016-02-2', 0, 1, 1, 1, 17, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-02-3', 0, 'A1-016-02-3', 0, 1, 1, 1, 17, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-03-1', 0, 'A1-016-03-1', 0, 1, 1, 1, 17, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-03-2', 0, 'A1-016-03-2', 0, 1, 1, 1, 17, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-03-3', 0, 'A1-016-03-3', 0, 1, 1, 1, 17, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-04-1', 0, 'A1-016-04-1', 0, 1, 1, 1, 17, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-04-2', 0, 'A1-016-04-2', 0, 1, 1, 1, 17, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-04-3', 0, 'A1-016-04-3', 0, 1, 1, 1, 17, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-05-1', 0, 'A1-016-05-1', 0, 1, 1, 1, 17, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-05-2', 0, 'A1-016-05-2', 0, 1, 1, 1, 17, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-05-3', 0, 'A1-016-05-3', 0, 1, 1, 1, 17, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-06-1', 0, 'A1-016-06-1', 0, 1, 1, 1, 17, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-06-2', 0, 'A1-016-06-2', 0, 1, 1, 1, 17, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-016-06-3', 0, 'A1-016-06-3', 0, 1, 1, 1, 17, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-01-1', 0, 'A1-017-01-1', 0, 1, 1, 1, 18, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-01-2', 0, 'A1-017-01-2', 0, 1, 1, 1, 18, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-01-3', 0, 'A1-017-01-3', 0, 1, 1, 1, 18, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-02-1', 0, 'A1-017-02-1', 0, 1, 1, 1, 18, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-02-2', 0, 'A1-017-02-2', 0, 1, 1, 1, 18, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-02-3', 0, 'A1-017-02-3', 0, 1, 1, 1, 18, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-03-1', 0, 'A1-017-03-1', 0, 1, 1, 1, 18, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-03-2', 0, 'A1-017-03-2', 0, 1, 1, 1, 18, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-03-3', 0, 'A1-017-03-3', 0, 1, 1, 1, 18, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-04-1', 0, 'A1-017-04-1', 0, 1, 1, 1, 18, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-04-2', 0, 'A1-017-04-2', 0, 1, 1, 1, 18, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-04-3', 0, 'A1-017-04-3', 0, 1, 1, 1, 18, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-05-1', 0, 'A1-017-05-1', 0, 1, 1, 1, 18, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-05-2', 0, 'A1-017-05-2', 0, 1, 1, 1, 18, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-05-3', 0, 'A1-017-05-3', 0, 1, 1, 1, 18, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-06-1', 0, 'A1-017-06-1', 0, 1, 1, 1, 18, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-06-2', 0, 'A1-017-06-2', 0, 1, 1, 1, 18, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-017-06-3', 0, 'A1-017-06-3', 0, 1, 1, 1, 18, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-01-1', 0, 'A1-018-01-1', 0, 1, 1, 1, 19, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-01-2', 0, 'A1-018-01-2', 0, 1, 1, 1, 19, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-01-3', 0, 'A1-018-01-3', 0, 1, 1, 1, 19, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-02-1', 0, 'A1-018-02-1', 0, 1, 1, 1, 19, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-02-2', 0, 'A1-018-02-2', 0, 1, 1, 1, 19, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-02-3', 0, 'A1-018-02-3', 0, 1, 1, 1, 19, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-03-1', 0, 'A1-018-03-1', 0, 1, 1, 1, 19, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-03-2', 0, 'A1-018-03-2', 0, 1, 1, 1, 19, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-03-3', 0, 'A1-018-03-3', 0, 1, 1, 1, 19, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-04-1', 0, 'A1-018-04-1', 0, 1, 1, 1, 19, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-04-2', 0, 'A1-018-04-2', 0, 1, 1, 1, 19, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-04-3', 0, 'A1-018-04-3', 0, 1, 1, 1, 19, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-05-1', 0, 'A1-018-05-1', 0, 1, 1, 1, 19, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-05-2', 0, 'A1-018-05-2', 0, 1, 1, 1, 19, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-05-3', 0, 'A1-018-05-3', 0, 1, 1, 1, 19, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-06-1', 0, 'A1-018-06-1', 0, 1, 1, 1, 19, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-06-2', 0, 'A1-018-06-2', 0, 1, 1, 1, 19, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-018-06-3', 0, 'A1-018-06-3', 0, 1, 1, 1, 19, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-01-1', 0, 'A1-019-01-1', 0, 1, 1, 1, 20, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-01-2', 0, 'A1-019-01-2', 0, 1, 1, 1, 20, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-01-3', 0, 'A1-019-01-3', 0, 1, 1, 1, 20, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-02-1', 0, 'A1-019-02-1', 0, 1, 1, 1, 20, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-02-2', 0, 'A1-019-02-2', 0, 1, 1, 1, 20, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-02-3', 0, 'A1-019-02-3', 0, 1, 1, 1, 20, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-03-1', 0, 'A1-019-03-1', 0, 1, 1, 1, 20, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-03-2', 0, 'A1-019-03-2', 0, 1, 1, 1, 20, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-03-3', 0, 'A1-019-03-3', 0, 1, 1, 1, 20, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-04-1', 0, 'A1-019-04-1', 0, 1, 1, 1, 20, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-04-2', 0, 'A1-019-04-2', 0, 1, 1, 1, 20, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-04-3', 0, 'A1-019-04-3', 0, 1, 1, 1, 20, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-05-1', 0, 'A1-019-05-1', 0, 1, 1, 1, 20, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-05-2', 0, 'A1-019-05-2', 0, 1, 1, 1, 20, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-05-3', 0, 'A1-019-05-3', 0, 1, 1, 1, 20, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-06-1', 0, 'A1-019-06-1', 0, 1, 1, 1, 20, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-06-2', 0, 'A1-019-06-2', 0, 1, 1, 1, 20, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-019-06-3', 0, 'A1-019-06-3', 0, 1, 1, 1, 20, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-01-1', 0, 'A1-020-01-1', 0, 1, 1, 1, 21, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-01-2', 0, 'A1-020-01-2', 0, 1, 1, 1, 21, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-01-3', 0, 'A1-020-01-3', 0, 1, 1, 1, 21, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-02-1', 0, 'A1-020-02-1', 0, 1, 1, 1, 21, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-02-2', 0, 'A1-020-02-2', 0, 1, 1, 1, 21, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-02-3', 0, 'A1-020-02-3', 0, 1, 1, 1, 21, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-03-1', 0, 'A1-020-03-1', 0, 1, 1, 1, 21, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-03-2', 0, 'A1-020-03-2', 0, 1, 1, 1, 21, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-03-3', 0, 'A1-020-03-3', 0, 1, 1, 1, 21, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-04-1', 0, 'A1-020-04-1', 0, 1, 1, 1, 21, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-04-2', 0, 'A1-020-04-2', 0, 1, 1, 1, 21, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-04-3', 0, 'A1-020-04-3', 0, 1, 1, 1, 21, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-05-1', 0, 'A1-020-05-1', 0, 1, 1, 1, 21, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-05-2', 0, 'A1-020-05-2', 0, 1, 1, 1, 21, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-05-3', 0, 'A1-020-05-3', 0, 1, 1, 1, 21, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-06-1', 0, 'A1-020-06-1', 0, 1, 1, 1, 21, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-06-2', 0, 'A1-020-06-2', 0, 1, 1, 1, 21, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-020-06-3', 0, 'A1-020-06-3', 0, 1, 1, 1, 21, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-01-1', 0, 'A1-021-01-1', 0, 1, 1, 1, 22, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-01-2', 0, 'A1-021-01-2', 0, 1, 1, 1, 22, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-01-3', 0, 'A1-021-01-3', 0, 1, 1, 1, 22, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-02-1', 0, 'A1-021-02-1', 0, 1, 1, 1, 22, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-02-2', 0, 'A1-021-02-2', 0, 1, 1, 1, 22, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-02-3', 0, 'A1-021-02-3', 0, 1, 1, 1, 22, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-03-1', 0, 'A1-021-03-1', 0, 1, 1, 1, 22, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-03-2', 0, 'A1-021-03-2', 0, 1, 1, 1, 22, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-03-3', 0, 'A1-021-03-3', 0, 1, 1, 1, 22, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-04-1', 0, 'A1-021-04-1', 0, 1, 1, 1, 22, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-04-2', 0, 'A1-021-04-2', 0, 1, 1, 1, 22, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-04-3', 0, 'A1-021-04-3', 0, 1, 1, 1, 22, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-05-1', 0, 'A1-021-05-1', 0, 1, 1, 1, 22, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-05-2', 0, 'A1-021-05-2', 0, 1, 1, 1, 22, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-05-3', 0, 'A1-021-05-3', 0, 1, 1, 1, 22, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-06-1', 0, 'A1-021-06-1', 0, 1, 1, 1, 22, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-06-2', 0, 'A1-021-06-2', 0, 1, 1, 1, 22, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-021-06-3', 0, 'A1-021-06-3', 0, 1, 1, 1, 22, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-01-1', 0, 'A1-022-01-1', 0, 1, 1, 1, 23, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-01-2', 0, 'A1-022-01-2', 0, 1, 1, 1, 23, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-01-3', 0, 'A1-022-01-3', 0, 1, 1, 1, 23, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-02-1', 0, 'A1-022-02-1', 0, 1, 1, 1, 23, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-02-2', 0, 'A1-022-02-2', 0, 1, 1, 1, 23, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-02-3', 0, 'A1-022-02-3', 0, 1, 1, 1, 23, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-03-1', 0, 'A1-022-03-1', 0, 1, 1, 1, 23, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-03-2', 0, 'A1-022-03-2', 0, 1, 1, 1, 23, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-03-3', 0, 'A1-022-03-3', 0, 1, 1, 1, 23, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-04-1', 0, 'A1-022-04-1', 0, 1, 1, 1, 23, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-04-2', 0, 'A1-022-04-2', 0, 1, 1, 1, 23, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-04-3', 0, 'A1-022-04-3', 0, 1, 1, 1, 23, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-05-1', 0, 'A1-022-05-1', 0, 1, 1, 1, 23, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-05-2', 0, 'A1-022-05-2', 0, 1, 1, 1, 23, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-05-3', 0, 'A1-022-05-3', 0, 1, 1, 1, 23, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-06-1', 0, 'A1-022-06-1', 0, 1, 1, 1, 23, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-06-2', 0, 'A1-022-06-2', 0, 1, 1, 1, 23, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-022-06-3', 0, 'A1-022-06-3', 0, 1, 1, 1, 23, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-01-1', 0, 'A1-023-01-1', 0, 1, 1, 1, 24, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-01-2', 0, 'A1-023-01-2', 0, 1, 1, 1, 24, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-01-3', 0, 'A1-023-01-3', 0, 1, 1, 1, 24, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-02-1', 0, 'A1-023-02-1', 0, 1, 1, 1, 24, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-02-2', 0, 'A1-023-02-2', 0, 1, 1, 1, 24, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-02-3', 0, 'A1-023-02-3', 0, 1, 1, 1, 24, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-03-1', 0, 'A1-023-03-1', 0, 1, 1, 1, 24, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-03-2', 0, 'A1-023-03-2', 0, 1, 1, 1, 24, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-03-3', 0, 'A1-023-03-3', 0, 1, 1, 1, 24, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-04-1', 0, 'A1-023-04-1', 0, 1, 1, 1, 24, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-04-2', 0, 'A1-023-04-2', 0, 1, 1, 1, 24, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-04-3', 0, 'A1-023-04-3', 0, 1, 1, 1, 24, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-05-1', 0, 'A1-023-05-1', 0, 1, 1, 1, 24, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-05-2', 0, 'A1-023-05-2', 0, 1, 1, 1, 24, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-05-3', 0, 'A1-023-05-3', 0, 1, 1, 1, 24, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-06-1', 0, 'A1-023-06-1', 0, 1, 1, 1, 24, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-06-2', 0, 'A1-023-06-2', 0, 1, 1, 1, 24, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-023-06-3', 0, 'A1-023-06-3', 0, 1, 1, 1, 24, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-01-1', 0, 'A1-024-01-1', 0, 1, 1, 1, 25, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-01-2', 0, 'A1-024-01-2', 0, 1, 1, 1, 25, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-01-3', 0, 'A1-024-01-3', 0, 1, 1, 1, 25, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-02-1', 0, 'A1-024-02-1', 0, 1, 1, 1, 25, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-02-2', 0, 'A1-024-02-2', 0, 1, 1, 1, 25, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-02-3', 0, 'A1-024-02-3', 0, 1, 1, 1, 25, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-03-1', 0, 'A1-024-03-1', 0, 1, 1, 1, 25, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-03-2', 0, 'A1-024-03-2', 0, 1, 1, 1, 25, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-03-3', 0, 'A1-024-03-3', 0, 1, 1, 1, 25, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-04-1', 0, 'A1-024-04-1', 0, 1, 1, 1, 25, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-04-2', 0, 'A1-024-04-2', 0, 1, 1, 1, 25, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-04-3', 0, 'A1-024-04-3', 0, 1, 1, 1, 25, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-05-1', 0, 'A1-024-05-1', 0, 1, 1, 1, 25, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-05-2', 0, 'A1-024-05-2', 0, 1, 1, 1, 25, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-05-3', 0, 'A1-024-05-3', 0, 1, 1, 1, 25, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-06-1', 0, 'A1-024-06-1', 0, 1, 1, 1, 25, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-06-2', 0, 'A1-024-06-2', 0, 1, 1, 1, 25, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-024-06-3', 0, 'A1-024-06-3', 0, 1, 1, 1, 25, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-01-1', 0, 'A1-025-01-1', 0, 1, 1, 1, 26, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-01-2', 0, 'A1-025-01-2', 0, 1, 1, 1, 26, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-01-3', 0, 'A1-025-01-3', 0, 1, 1, 1, 26, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-02-1', 0, 'A1-025-02-1', 0, 1, 1, 1, 26, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-02-2', 0, 'A1-025-02-2', 0, 1, 1, 1, 26, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-02-3', 0, 'A1-025-02-3', 0, 1, 1, 1, 26, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-03-1', 0, 'A1-025-03-1', 0, 1, 1, 1, 26, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-03-2', 0, 'A1-025-03-2', 0, 1, 1, 1, 26, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-03-3', 0, 'A1-025-03-3', 0, 1, 1, 1, 26, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-04-1', 0, 'A1-025-04-1', 0, 1, 1, 1, 26, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-04-2', 0, 'A1-025-04-2', 0, 1, 1, 1, 26, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-04-3', 0, 'A1-025-04-3', 0, 1, 1, 1, 26, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-05-1', 0, 'A1-025-05-1', 0, 1, 1, 1, 26, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-05-2', 0, 'A1-025-05-2', 0, 1, 1, 1, 26, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-05-3', 0, 'A1-025-05-3', 0, 1, 1, 1, 26, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-06-1', 0, 'A1-025-06-1', 0, 1, 1, 1, 26, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-06-2', 0, 'A1-025-06-2', 0, 1, 1, 1, 26, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-025-06-3', 0, 'A1-025-06-3', 0, 1, 1, 1, 26, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-01-1', 0, 'A1-026-01-1', 0, 1, 1, 1, 27, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-01-2', 0, 'A1-026-01-2', 0, 1, 1, 1, 27, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-01-3', 0, 'A1-026-01-3', 0, 1, 1, 1, 27, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-02-1', 0, 'A1-026-02-1', 0, 1, 1, 1, 27, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-02-2', 0, 'A1-026-02-2', 0, 1, 1, 1, 27, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-02-3', 0, 'A1-026-02-3', 0, 1, 1, 1, 27, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-03-1', 0, 'A1-026-03-1', 0, 1, 1, 1, 27, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-03-2', 0, 'A1-026-03-2', 0, 1, 1, 1, 27, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-03-3', 0, 'A1-026-03-3', 0, 1, 1, 1, 27, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-04-1', 0, 'A1-026-04-1', 0, 1, 1, 1, 27, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-04-2', 0, 'A1-026-04-2', 0, 1, 1, 1, 27, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-04-3', 0, 'A1-026-04-3', 0, 1, 1, 1, 27, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-05-1', 0, 'A1-026-05-1', 0, 1, 1, 1, 27, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-05-2', 0, 'A1-026-05-2', 0, 1, 1, 1, 27, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-05-3', 0, 'A1-026-05-3', 0, 1, 1, 1, 27, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-06-1', 0, 'A1-026-06-1', 0, 1, 1, 1, 27, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-06-2', 0, 'A1-026-06-2', 0, 1, 1, 1, 27, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-026-06-3', 0, 'A1-026-06-3', 0, 1, 1, 1, 27, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-01-1', 0, 'A1-027-01-1', 0, 1, 1, 1, 28, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-01-2', 0, 'A1-027-01-2', 0, 1, 1, 1, 28, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-01-3', 0, 'A1-027-01-3', 0, 1, 1, 1, 28, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-02-1', 0, 'A1-027-02-1', 0, 1, 1, 1, 28, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-02-2', 0, 'A1-027-02-2', 0, 1, 1, 1, 28, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-02-3', 0, 'A1-027-02-3', 0, 1, 1, 1, 28, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-03-1', 0, 'A1-027-03-1', 0, 1, 1, 1, 28, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-03-2', 0, 'A1-027-03-2', 0, 1, 1, 1, 28, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-03-3', 0, 'A1-027-03-3', 0, 1, 1, 1, 28, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-04-1', 0, 'A1-027-04-1', 0, 1, 1, 1, 28, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-04-2', 0, 'A1-027-04-2', 0, 1, 1, 1, 28, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-04-3', 0, 'A1-027-04-3', 0, 1, 1, 1, 28, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-05-1', 0, 'A1-027-05-1', 0, 1, 1, 1, 28, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-05-2', 0, 'A1-027-05-2', 0, 1, 1, 1, 28, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-05-3', 0, 'A1-027-05-3', 0, 1, 1, 1, 28, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-06-1', 0, 'A1-027-06-1', 0, 1, 1, 1, 28, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-06-2', 0, 'A1-027-06-2', 0, 1, 1, 1, 28, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-027-06-3', 0, 'A1-027-06-3', 0, 1, 1, 1, 28, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-01-1', 0, 'A1-028-01-1', 0, 1, 1, 1, 29, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-01-2', 0, 'A1-028-01-2', 0, 1, 1, 1, 29, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-01-3', 0, 'A1-028-01-3', 0, 1, 1, 1, 29, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-02-1', 0, 'A1-028-02-1', 0, 1, 1, 1, 29, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-02-2', 0, 'A1-028-02-2', 0, 1, 1, 1, 29, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-02-3', 0, 'A1-028-02-3', 0, 1, 1, 1, 29, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-03-1', 0, 'A1-028-03-1', 0, 1, 1, 1, 29, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-03-2', 0, 'A1-028-03-2', 0, 1, 1, 1, 29, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-03-3', 0, 'A1-028-03-3', 0, 1, 1, 1, 29, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-04-1', 0, 'A1-028-04-1', 0, 1, 1, 1, 29, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-04-2', 0, 'A1-028-04-2', 0, 1, 1, 1, 29, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-04-3', 0, 'A1-028-04-3', 0, 1, 1, 1, 29, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-05-1', 0, 'A1-028-05-1', 0, 1, 1, 1, 29, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-05-2', 0, 'A1-028-05-2', 0, 1, 1, 1, 29, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-05-3', 0, 'A1-028-05-3', 0, 1, 1, 1, 29, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-06-1', 0, 'A1-028-06-1', 0, 1, 1, 1, 29, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-06-2', 0, 'A1-028-06-2', 0, 1, 1, 1, 29, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-028-06-3', 0, 'A1-028-06-3', 0, 1, 1, 1, 29, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-01-1', 0, 'A1-029-01-1', 0, 1, 1, 1, 30, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-01-2', 0, 'A1-029-01-2', 0, 1, 1, 1, 30, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-01-3', 0, 'A1-029-01-3', 0, 1, 1, 1, 30, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-02-1', 0, 'A1-029-02-1', 0, 1, 1, 1, 30, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-02-2', 0, 'A1-029-02-2', 0, 1, 1, 1, 30, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-02-3', 0, 'A1-029-02-3', 0, 1, 1, 1, 30, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-03-1', 0, 'A1-029-03-1', 0, 1, 1, 1, 30, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-03-2', 0, 'A1-029-03-2', 0, 1, 1, 1, 30, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-03-3', 0, 'A1-029-03-3', 0, 1, 1, 1, 30, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-04-1', 0, 'A1-029-04-1', 0, 1, 1, 1, 30, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-04-2', 0, 'A1-029-04-2', 0, 1, 1, 1, 30, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-04-3', 0, 'A1-029-04-3', 0, 1, 1, 1, 30, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-05-1', 0, 'A1-029-05-1', 0, 1, 1, 1, 30, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-05-2', 0, 'A1-029-05-2', 0, 1, 1, 1, 30, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-05-3', 0, 'A1-029-05-3', 0, 1, 1, 1, 30, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-06-1', 0, 'A1-029-06-1', 0, 1, 1, 1, 30, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-06-2', 0, 'A1-029-06-2', 0, 1, 1, 1, 30, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-029-06-3', 0, 'A1-029-06-3', 0, 1, 1, 1, 30, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-01-1', 0, 'A1-030-01-1', 0, 1, 1, 1, 31, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-01-2', 0, 'A1-030-01-2', 0, 1, 1, 1, 31, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-01-3', 0, 'A1-030-01-3', 0, 1, 1, 1, 31, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-02-1', 0, 'A1-030-02-1', 0, 1, 1, 1, 31, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-02-2', 0, 'A1-030-02-2', 0, 1, 1, 1, 31, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-02-3', 0, 'A1-030-02-3', 0, 1, 1, 1, 31, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-03-1', 0, 'A1-030-03-1', 0, 1, 1, 1, 31, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-03-2', 0, 'A1-030-03-2', 0, 1, 1, 1, 31, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-03-3', 0, 'A1-030-03-3', 0, 1, 1, 1, 31, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-04-1', 0, 'A1-030-04-1', 0, 1, 1, 1, 31, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-04-2', 0, 'A1-030-04-2', 0, 1, 1, 1, 31, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-04-3', 0, 'A1-030-04-3', 0, 1, 1, 1, 31, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-05-1', 0, 'A1-030-05-1', 0, 1, 1, 1, 31, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-05-2', 0, 'A1-030-05-2', 0, 1, 1, 1, 31, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-05-3', 0, 'A1-030-05-3', 0, 1, 1, 1, 31, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-06-1', 0, 'A1-030-06-1', 0, 1, 1, 1, 31, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-06-2', 0, 'A1-030-06-2', 0, 1, 1, 1, 31, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-030-06-3', 0, 'A1-030-06-3', 0, 1, 1, 1, 31, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-01-1', 0, 'A1-031-01-1', 0, 1, 1, 1, 32, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-01-2', 0, 'A1-031-01-2', 0, 1, 1, 1, 32, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-01-3', 0, 'A1-031-01-3', 0, 1, 1, 1, 32, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-02-1', 0, 'A1-031-02-1', 0, 1, 1, 1, 32, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-02-2', 0, 'A1-031-02-2', 0, 1, 1, 1, 32, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-02-3', 0, 'A1-031-02-3', 0, 1, 1, 1, 32, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-03-1', 0, 'A1-031-03-1', 0, 1, 1, 1, 32, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-03-2', 0, 'A1-031-03-2', 0, 1, 1, 1, 32, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-03-3', 0, 'A1-031-03-3', 0, 1, 1, 1, 32, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-04-1', 0, 'A1-031-04-1', 0, 1, 1, 1, 32, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-04-2', 0, 'A1-031-04-2', 0, 1, 1, 1, 32, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-04-3', 0, 'A1-031-04-3', 0, 1, 1, 1, 32, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-05-1', 0, 'A1-031-05-1', 0, 1, 1, 1, 32, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-05-2', 0, 'A1-031-05-2', 0, 1, 1, 1, 32, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-05-3', 0, 'A1-031-05-3', 0, 1, 1, 1, 32, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-06-1', 0, 'A1-031-06-1', 0, 1, 1, 1, 32, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-06-2', 0, 'A1-031-06-2', 0, 1, 1, 1, 32, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-031-06-3', 0, 'A1-031-06-3', 0, 1, 1, 1, 32, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-01-1', 0, 'A1-032-01-1', 0, 1, 1, 1, 33, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-01-2', 0, 'A1-032-01-2', 0, 1, 1, 1, 33, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-01-3', 0, 'A1-032-01-3', 0, 1, 1, 1, 33, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-02-1', 0, 'A1-032-02-1', 0, 1, 1, 1, 33, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-02-2', 0, 'A1-032-02-2', 0, 1, 1, 1, 33, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-02-3', 0, 'A1-032-02-3', 0, 1, 1, 1, 33, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-03-1', 0, 'A1-032-03-1', 0, 1, 1, 1, 33, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-03-2', 0, 'A1-032-03-2', 0, 1, 1, 1, 33, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-03-3', 0, 'A1-032-03-3', 0, 1, 1, 1, 33, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-04-1', 0, 'A1-032-04-1', 0, 1, 1, 1, 33, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-04-2', 0, 'A1-032-04-2', 0, 1, 1, 1, 33, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-04-3', 0, 'A1-032-04-3', 0, 1, 1, 1, 33, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-05-1', 0, 'A1-032-05-1', 0, 1, 1, 1, 33, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-05-2', 0, 'A1-032-05-2', 0, 1, 1, 1, 33, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-05-3', 0, 'A1-032-05-3', 0, 1, 1, 1, 33, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-06-1', 0, 'A1-032-06-1', 0, 1, 1, 1, 33, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-06-2', 0, 'A1-032-06-2', 0, 1, 1, 1, 33, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-032-06-3', 0, 'A1-032-06-3', 0, 1, 1, 1, 33, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-01-1', 0, 'A1-033-01-1', 0, 1, 1, 1, 34, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-01-2', 0, 'A1-033-01-2', 0, 1, 1, 1, 34, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-01-3', 0, 'A1-033-01-3', 0, 1, 1, 1, 34, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-02-1', 0, 'A1-033-02-1', 0, 1, 1, 1, 34, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-02-2', 0, 'A1-033-02-2', 0, 1, 1, 1, 34, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-02-3', 0, 'A1-033-02-3', 0, 1, 1, 1, 34, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-03-1', 0, 'A1-033-03-1', 0, 1, 1, 1, 34, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-03-2', 0, 'A1-033-03-2', 0, 1, 1, 1, 34, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-03-3', 0, 'A1-033-03-3', 0, 1, 1, 1, 34, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-04-1', 0, 'A1-033-04-1', 0, 1, 1, 1, 34, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-04-2', 0, 'A1-033-04-2', 0, 1, 1, 1, 34, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-04-3', 0, 'A1-033-04-3', 0, 1, 1, 1, 34, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-05-1', 0, 'A1-033-05-1', 0, 1, 1, 1, 34, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-05-2', 0, 'A1-033-05-2', 0, 1, 1, 1, 34, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-05-3', 0, 'A1-033-05-3', 0, 1, 1, 1, 34, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-06-1', 0, 'A1-033-06-1', 0, 1, 1, 1, 34, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-06-2', 0, 'A1-033-06-2', 0, 1, 1, 1, 34, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-033-06-3', 0, 'A1-033-06-3', 0, 1, 1, 1, 34, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-01-1', 0, 'A1-034-01-1', 0, 1, 1, 1, 35, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-01-2', 0, 'A1-034-01-2', 0, 1, 1, 1, 35, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-01-3', 0, 'A1-034-01-3', 0, 1, 1, 1, 35, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-02-1', 0, 'A1-034-02-1', 0, 1, 1, 1, 35, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-02-2', 0, 'A1-034-02-2', 0, 1, 1, 1, 35, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-02-3', 0, 'A1-034-02-3', 0, 1, 1, 1, 35, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-03-1', 0, 'A1-034-03-1', 0, 1, 1, 1, 35, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-03-2', 0, 'A1-034-03-2', 0, 1, 1, 1, 35, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-03-3', 0, 'A1-034-03-3', 0, 1, 1, 1, 35, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-04-1', 0, 'A1-034-04-1', 0, 1, 1, 1, 35, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-04-2', 0, 'A1-034-04-2', 0, 1, 1, 1, 35, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-04-3', 0, 'A1-034-04-3', 0, 1, 1, 1, 35, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-05-1', 0, 'A1-034-05-1', 0, 1, 1, 1, 35, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-05-2', 0, 'A1-034-05-2', 0, 1, 1, 1, 35, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-05-3', 0, 'A1-034-05-3', 0, 1, 1, 1, 35, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-06-1', 0, 'A1-034-06-1', 0, 1, 1, 1, 35, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-06-2', 0, 'A1-034-06-2', 0, 1, 1, 1, 35, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-034-06-3', 0, 'A1-034-06-3', 0, 1, 1, 1, 35, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-01-1', 0, 'A1-035-01-1', 0, 1, 1, 1, 36, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-01-2', 0, 'A1-035-01-2', 0, 1, 1, 1, 36, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-01-3', 0, 'A1-035-01-3', 0, 1, 1, 1, 36, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-02-1', 0, 'A1-035-02-1', 0, 1, 1, 1, 36, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-02-2', 0, 'A1-035-02-2', 0, 1, 1, 1, 36, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-02-3', 0, 'A1-035-02-3', 0, 1, 1, 1, 36, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-03-1', 0, 'A1-035-03-1', 0, 1, 1, 1, 36, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-03-2', 0, 'A1-035-03-2', 0, 1, 1, 1, 36, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-03-3', 0, 'A1-035-03-3', 0, 1, 1, 1, 36, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-04-1', 0, 'A1-035-04-1', 0, 1, 1, 1, 36, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-04-2', 0, 'A1-035-04-2', 0, 1, 1, 1, 36, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-04-3', 0, 'A1-035-04-3', 0, 1, 1, 1, 36, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-05-1', 0, 'A1-035-05-1', 0, 1, 1, 1, 36, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-05-2', 0, 'A1-035-05-2', 0, 1, 1, 1, 36, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-05-3', 0, 'A1-035-05-3', 0, 1, 1, 1, 36, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-06-1', 0, 'A1-035-06-1', 0, 1, 1, 1, 36, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-06-2', 0, 'A1-035-06-2', 0, 1, 1, 1, 36, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-035-06-3', 0, 'A1-035-06-3', 0, 1, 1, 1, 36, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-01-1', 0, 'A1-036-01-1', 0, 1, 1, 1, 37, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-01-2', 0, 'A1-036-01-2', 0, 1, 1, 1, 37, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-01-3', 0, 'A1-036-01-3', 0, 1, 1, 1, 37, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-02-1', 0, 'A1-036-02-1', 0, 1, 1, 1, 37, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-02-2', 0, 'A1-036-02-2', 0, 1, 1, 1, 37, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-02-3', 0, 'A1-036-02-3', 0, 1, 1, 1, 37, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-03-1', 0, 'A1-036-03-1', 0, 1, 1, 1, 37, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-03-2', 0, 'A1-036-03-2', 0, 1, 1, 1, 37, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-03-3', 0, 'A1-036-03-3', 0, 1, 1, 1, 37, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-04-1', 0, 'A1-036-04-1', 0, 1, 1, 1, 37, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-04-2', 0, 'A1-036-04-2', 0, 1, 1, 1, 37, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-04-3', 0, 'A1-036-04-3', 0, 1, 1, 1, 37, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-05-1', 0, 'A1-036-05-1', 0, 1, 1, 1, 37, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-05-2', 0, 'A1-036-05-2', 0, 1, 1, 1, 37, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-05-3', 0, 'A1-036-05-3', 0, 1, 1, 1, 37, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-06-1', 0, 'A1-036-06-1', 0, 1, 1, 1, 37, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-06-2', 0, 'A1-036-06-2', 0, 1, 1, 1, 37, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-036-06-3', 0, 'A1-036-06-3', 0, 1, 1, 1, 37, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-01-1', 0, 'A1-037-01-1', 0, 1, 1, 1, 38, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-01-2', 0, 'A1-037-01-2', 0, 1, 1, 1, 38, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-01-3', 0, 'A1-037-01-3', 0, 1, 1, 1, 38, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-02-1', 0, 'A1-037-02-1', 0, 1, 1, 1, 38, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-02-2', 0, 'A1-037-02-2', 0, 1, 1, 1, 38, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-02-3', 0, 'A1-037-02-3', 0, 1, 1, 1, 38, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-03-1', 0, 'A1-037-03-1', 0, 1, 1, 1, 38, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-03-2', 0, 'A1-037-03-2', 0, 1, 1, 1, 38, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-03-3', 0, 'A1-037-03-3', 0, 1, 1, 1, 38, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-04-1', 0, 'A1-037-04-1', 0, 1, 1, 1, 38, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-04-2', 0, 'A1-037-04-2', 0, 1, 1, 1, 38, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-04-3', 0, 'A1-037-04-3', 0, 1, 1, 1, 38, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-05-1', 0, 'A1-037-05-1', 0, 1, 1, 1, 38, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-05-2', 0, 'A1-037-05-2', 0, 1, 1, 1, 38, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-05-3', 0, 'A1-037-05-3', 0, 1, 1, 1, 38, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-06-1', 0, 'A1-037-06-1', 0, 1, 1, 1, 38, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-06-2', 0, 'A1-037-06-2', 0, 1, 1, 1, 38, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-037-06-3', 0, 'A1-037-06-3', 0, 1, 1, 1, 38, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-01-1', 0, 'A1-038-01-1', 0, 1, 1, 1, 39, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-01-2', 0, 'A1-038-01-2', 0, 1, 1, 1, 39, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-01-3', 0, 'A1-038-01-3', 0, 1, 1, 1, 39, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-02-1', 0, 'A1-038-02-1', 0, 1, 1, 1, 39, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-02-2', 0, 'A1-038-02-2', 0, 1, 1, 1, 39, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-02-3', 0, 'A1-038-02-3', 0, 1, 1, 1, 39, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-03-1', 0, 'A1-038-03-1', 0, 1, 1, 1, 39, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-03-2', 0, 'A1-038-03-2', 0, 1, 1, 1, 39, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-03-3', 0, 'A1-038-03-3', 0, 1, 1, 1, 39, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-04-1', 0, 'A1-038-04-1', 0, 1, 1, 1, 39, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-04-2', 0, 'A1-038-04-2', 0, 1, 1, 1, 39, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-04-3', 0, 'A1-038-04-3', 0, 1, 1, 1, 39, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-05-1', 0, 'A1-038-05-1', 0, 1, 1, 1, 39, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-05-2', 0, 'A1-038-05-2', 0, 1, 1, 1, 39, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-05-3', 0, 'A1-038-05-3', 0, 1, 1, 1, 39, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-06-1', 0, 'A1-038-06-1', 0, 1, 1, 1, 39, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-06-2', 0, 'A1-038-06-2', 0, 1, 1, 1, 39, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-038-06-3', 0, 'A1-038-06-3', 0, 1, 1, 1, 39, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-01-1', 0, 'A1-039-01-1', 0, 1, 1, 1, 40, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-01-2', 0, 'A1-039-01-2', 0, 1, 1, 1, 40, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-01-3', 0, 'A1-039-01-3', 0, 1, 1, 1, 40, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-02-1', 0, 'A1-039-02-1', 0, 1, 1, 1, 40, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-02-2', 0, 'A1-039-02-2', 0, 1, 1, 1, 40, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-02-3', 0, 'A1-039-02-3', 0, 1, 1, 1, 40, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-03-1', 0, 'A1-039-03-1', 0, 1, 1, 1, 40, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-03-2', 0, 'A1-039-03-2', 0, 1, 1, 1, 40, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-03-3', 0, 'A1-039-03-3', 0, 1, 1, 1, 40, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-04-1', 0, 'A1-039-04-1', 0, 1, 1, 1, 40, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-04-2', 0, 'A1-039-04-2', 0, 1, 1, 1, 40, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-04-3', 0, 'A1-039-04-3', 0, 1, 1, 1, 40, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-05-1', 0, 'A1-039-05-1', 0, 1, 1, 1, 40, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-05-2', 0, 'A1-039-05-2', 0, 1, 1, 1, 40, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-05-3', 0, 'A1-039-05-3', 0, 1, 1, 1, 40, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-06-1', 0, 'A1-039-06-1', 0, 1, 1, 1, 40, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-06-2', 0, 'A1-039-06-2', 0, 1, 1, 1, 40, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-039-06-3', 0, 'A1-039-06-3', 0, 1, 1, 1, 40, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-01-1', 0, 'A1-040-01-1', 0, 1, 1, 1, 41, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-01-2', 0, 'A1-040-01-2', 0, 1, 1, 1, 41, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-01-3', 0, 'A1-040-01-3', 0, 1, 1, 1, 41, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-02-1', 0, 'A1-040-02-1', 0, 1, 1, 1, 41, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-02-2', 0, 'A1-040-02-2', 0, 1, 1, 1, 41, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-02-3', 0, 'A1-040-02-3', 0, 1, 1, 1, 41, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-03-1', 0, 'A1-040-03-1', 0, 1, 1, 1, 41, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-03-2', 0, 'A1-040-03-2', 0, 1, 1, 1, 41, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-03-3', 0, 'A1-040-03-3', 0, 1, 1, 1, 41, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-04-1', 0, 'A1-040-04-1', 0, 1, 1, 1, 41, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-04-2', 0, 'A1-040-04-2', 0, 1, 1, 1, 41, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-04-3', 0, 'A1-040-04-3', 0, 1, 1, 1, 41, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-05-1', 0, 'A1-040-05-1', 0, 1, 1, 1, 41, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-05-2', 0, 'A1-040-05-2', 0, 1, 1, 1, 41, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-05-3', 0, 'A1-040-05-3', 0, 1, 1, 1, 41, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-06-1', 0, 'A1-040-06-1', 0, 1, 1, 1, 41, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-06-2', 0, 'A1-040-06-2', 0, 1, 1, 1, 41, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-040-06-3', 0, 'A1-040-06-3', 0, 1, 1, 1, 41, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-01-1', 0, 'A1-041-01-1', 0, 1, 1, 1, 42, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-01-2', 0, 'A1-041-01-2', 0, 1, 1, 1, 42, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-01-3', 0, 'A1-041-01-3', 0, 1, 1, 1, 42, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-02-1', 0, 'A1-041-02-1', 0, 1, 1, 1, 42, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-02-2', 0, 'A1-041-02-2', 0, 1, 1, 1, 42, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-02-3', 0, 'A1-041-02-3', 0, 1, 1, 1, 42, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-03-1', 0, 'A1-041-03-1', 0, 1, 1, 1, 42, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-03-2', 0, 'A1-041-03-2', 0, 1, 1, 1, 42, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-03-3', 0, 'A1-041-03-3', 0, 1, 1, 1, 42, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-04-1', 0, 'A1-041-04-1', 0, 1, 1, 1, 42, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-04-2', 0, 'A1-041-04-2', 0, 1, 1, 1, 42, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-04-3', 0, 'A1-041-04-3', 0, 1, 1, 1, 42, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-05-1', 0, 'A1-041-05-1', 0, 1, 1, 1, 42, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-05-2', 0, 'A1-041-05-2', 0, 1, 1, 1, 42, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-05-3', 0, 'A1-041-05-3', 0, 1, 1, 1, 42, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-06-1', 0, 'A1-041-06-1', 0, 1, 1, 1, 42, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-06-2', 0, 'A1-041-06-2', 0, 1, 1, 1, 42, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-041-06-3', 0, 'A1-041-06-3', 0, 1, 1, 1, 42, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-01-1', 0, 'A1-042-01-1', 0, 1, 1, 1, 43, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-01-2', 0, 'A1-042-01-2', 0, 1, 1, 1, 43, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-01-3', 0, 'A1-042-01-3', 0, 1, 1, 1, 43, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-02-1', 0, 'A1-042-02-1', 0, 1, 1, 1, 43, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-02-2', 0, 'A1-042-02-2', 0, 1, 1, 1, 43, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-02-3', 0, 'A1-042-02-3', 0, 1, 1, 1, 43, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-03-1', 0, 'A1-042-03-1', 0, 1, 1, 1, 43, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-03-2', 0, 'A1-042-03-2', 0, 1, 1, 1, 43, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-03-3', 0, 'A1-042-03-3', 0, 1, 1, 1, 43, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-04-1', 0, 'A1-042-04-1', 0, 1, 1, 1, 43, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-04-2', 0, 'A1-042-04-2', 0, 1, 1, 1, 43, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-04-3', 0, 'A1-042-04-3', 0, 1, 1, 1, 43, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-05-1', 0, 'A1-042-05-1', 0, 1, 1, 1, 43, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-05-2', 0, 'A1-042-05-2', 0, 1, 1, 1, 43, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-05-3', 0, 'A1-042-05-3', 0, 1, 1, 1, 43, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-06-1', 0, 'A1-042-06-1', 0, 1, 1, 1, 43, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-06-2', 0, 'A1-042-06-2', 0, 1, 1, 1, 43, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-042-06-3', 0, 'A1-042-06-3', 0, 1, 1, 1, 43, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-01-1', 0, 'A1-043-01-1', 0, 1, 1, 1, 44, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-01-2', 0, 'A1-043-01-2', 0, 1, 1, 1, 44, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-01-3', 0, 'A1-043-01-3', 0, 1, 1, 1, 44, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-02-1', 0, 'A1-043-02-1', 0, 1, 1, 1, 44, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-02-2', 0, 'A1-043-02-2', 0, 1, 1, 1, 44, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-02-3', 0, 'A1-043-02-3', 0, 1, 1, 1, 44, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-03-1', 0, 'A1-043-03-1', 0, 1, 1, 1, 44, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-03-2', 0, 'A1-043-03-2', 0, 1, 1, 1, 44, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-03-3', 0, 'A1-043-03-3', 0, 1, 1, 1, 44, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-04-1', 0, 'A1-043-04-1', 0, 1, 1, 1, 44, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-04-2', 0, 'A1-043-04-2', 0, 1, 1, 1, 44, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-04-3', 0, 'A1-043-04-3', 0, 1, 1, 1, 44, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-05-1', 0, 'A1-043-05-1', 0, 1, 1, 1, 44, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-05-2', 0, 'A1-043-05-2', 0, 1, 1, 1, 44, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-05-3', 0, 'A1-043-05-3', 0, 1, 1, 1, 44, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-06-1', 0, 'A1-043-06-1', 0, 1, 1, 1, 44, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-06-2', 0, 'A1-043-06-2', 0, 1, 1, 1, 44, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-043-06-3', 0, 'A1-043-06-3', 0, 1, 1, 1, 44, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-01-1', 0, 'A1-044-01-1', 0, 1, 1, 1, 45, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-01-2', 0, 'A1-044-01-2', 0, 1, 1, 1, 45, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-01-3', 0, 'A1-044-01-3', 0, 1, 1, 1, 45, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-02-1', 0, 'A1-044-02-1', 0, 1, 1, 1, 45, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-02-2', 0, 'A1-044-02-2', 0, 1, 1, 1, 45, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-02-3', 0, 'A1-044-02-3', 0, 1, 1, 1, 45, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-03-1', 0, 'A1-044-03-1', 0, 1, 1, 1, 45, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-03-2', 0, 'A1-044-03-2', 0, 1, 1, 1, 45, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-03-3', 0, 'A1-044-03-3', 0, 1, 1, 1, 45, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-04-1', 0, 'A1-044-04-1', 0, 1, 1, 1, 45, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-04-2', 0, 'A1-044-04-2', 0, 1, 1, 1, 45, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-04-3', 0, 'A1-044-04-3', 0, 1, 1, 1, 45, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-05-1', 0, 'A1-044-05-1', 0, 1, 1, 1, 45, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-05-2', 0, 'A1-044-05-2', 0, 1, 1, 1, 45, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-05-3', 0, 'A1-044-05-3', 0, 1, 1, 1, 45, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-06-1', 0, 'A1-044-06-1', 0, 1, 1, 1, 45, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-06-2', 0, 'A1-044-06-2', 0, 1, 1, 1, 45, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-044-06-3', 0, 'A1-044-06-3', 0, 1, 1, 1, 45, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-01-1', 0, 'A1-045-01-1', 0, 1, 1, 1, 46, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-01-2', 0, 'A1-045-01-2', 0, 1, 1, 1, 46, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-01-3', 0, 'A1-045-01-3', 0, 1, 1, 1, 46, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-02-1', 0, 'A1-045-02-1', 0, 1, 1, 1, 46, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-02-2', 0, 'A1-045-02-2', 0, 1, 1, 1, 46, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-02-3', 0, 'A1-045-02-3', 0, 1, 1, 1, 46, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-03-1', 0, 'A1-045-03-1', 0, 1, 1, 1, 46, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-03-2', 0, 'A1-045-03-2', 0, 1, 1, 1, 46, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-03-3', 0, 'A1-045-03-3', 0, 1, 1, 1, 46, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-04-1', 0, 'A1-045-04-1', 0, 1, 1, 1, 46, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-04-2', 0, 'A1-045-04-2', 0, 1, 1, 1, 46, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-04-3', 0, 'A1-045-04-3', 0, 1, 1, 1, 46, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-05-1', 0, 'A1-045-05-1', 0, 1, 1, 1, 46, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-05-2', 0, 'A1-045-05-2', 0, 1, 1, 1, 46, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-05-3', 0, 'A1-045-05-3', 0, 1, 1, 1, 46, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-06-1', 0, 'A1-045-06-1', 0, 1, 1, 1, 46, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-06-2', 0, 'A1-045-06-2', 0, 1, 1, 1, 46, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-045-06-3', 0, 'A1-045-06-3', 0, 1, 1, 1, 46, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-01-1', 0, 'A1-046-01-1', 0, 1, 1, 1, 47, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-01-2', 0, 'A1-046-01-2', 0, 1, 1, 1, 47, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-01-3', 0, 'A1-046-01-3', 0, 1, 1, 1, 47, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-02-1', 0, 'A1-046-02-1', 0, 1, 1, 1, 47, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-02-2', 0, 'A1-046-02-2', 0, 1, 1, 1, 47, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-02-3', 0, 'A1-046-02-3', 0, 1, 1, 1, 47, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-03-1', 0, 'A1-046-03-1', 0, 1, 1, 1, 47, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-03-2', 0, 'A1-046-03-2', 0, 1, 1, 1, 47, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-03-3', 0, 'A1-046-03-3', 0, 1, 1, 1, 47, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-04-1', 0, 'A1-046-04-1', 0, 1, 1, 1, 47, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-04-2', 0, 'A1-046-04-2', 0, 1, 1, 1, 47, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-04-3', 0, 'A1-046-04-3', 0, 1, 1, 1, 47, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-05-1', 0, 'A1-046-05-1', 0, 1, 1, 1, 47, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-05-2', 0, 'A1-046-05-2', 0, 1, 1, 1, 47, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-05-3', 0, 'A1-046-05-3', 0, 1, 1, 1, 47, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-06-1', 0, 'A1-046-06-1', 0, 1, 1, 1, 47, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-06-2', 0, 'A1-046-06-2', 0, 1, 1, 1, 47, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-046-06-3', 0, 'A1-046-06-3', 0, 1, 1, 1, 47, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-01-1', 0, 'A1-047-01-1', 0, 1, 1, 1, 48, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-01-2', 0, 'A1-047-01-2', 0, 1, 1, 1, 48, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-01-3', 0, 'A1-047-01-3', 0, 1, 1, 1, 48, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-02-1', 0, 'A1-047-02-1', 0, 1, 1, 1, 48, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-02-2', 0, 'A1-047-02-2', 0, 1, 1, 1, 48, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-02-3', 0, 'A1-047-02-3', 0, 1, 1, 1, 48, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-03-1', 0, 'A1-047-03-1', 0, 1, 1, 1, 48, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-03-2', 0, 'A1-047-03-2', 0, 1, 1, 1, 48, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-03-3', 0, 'A1-047-03-3', 0, 1, 1, 1, 48, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-04-1', 0, 'A1-047-04-1', 0, 1, 1, 1, 48, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-04-2', 0, 'A1-047-04-2', 0, 1, 1, 1, 48, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-04-3', 0, 'A1-047-04-3', 0, 1, 1, 1, 48, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-05-1', 0, 'A1-047-05-1', 0, 1, 1, 1, 48, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-05-2', 0, 'A1-047-05-2', 0, 1, 1, 1, 48, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-05-3', 0, 'A1-047-05-3', 0, 1, 1, 1, 48, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-06-1', 0, 'A1-047-06-1', 0, 1, 1, 1, 48, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-06-2', 0, 'A1-047-06-2', 0, 1, 1, 1, 48, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-047-06-3', 0, 'A1-047-06-3', 0, 1, 1, 1, 48, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-01-1', 0, 'A1-048-01-1', 0, 1, 1, 1, 49, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-01-2', 0, 'A1-048-01-2', 0, 1, 1, 1, 49, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-01-3', 0, 'A1-048-01-3', 0, 1, 1, 1, 49, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-02-1', 0, 'A1-048-02-1', 0, 1, 1, 1, 49, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-02-2', 0, 'A1-048-02-2', 0, 1, 1, 1, 49, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-02-3', 0, 'A1-048-02-3', 0, 1, 1, 1, 49, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-03-1', 0, 'A1-048-03-1', 0, 1, 1, 1, 49, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-03-2', 0, 'A1-048-03-2', 0, 1, 1, 1, 49, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-03-3', 0, 'A1-048-03-3', 0, 1, 1, 1, 49, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-04-1', 0, 'A1-048-04-1', 0, 1, 1, 1, 49, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-04-2', 0, 'A1-048-04-2', 0, 1, 1, 1, 49, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-04-3', 0, 'A1-048-04-3', 0, 1, 1, 1, 49, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-05-1', 0, 'A1-048-05-1', 0, 1, 1, 1, 49, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-05-2', 0, 'A1-048-05-2', 0, 1, 1, 1, 49, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-05-3', 0, 'A1-048-05-3', 0, 1, 1, 1, 49, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-06-1', 0, 'A1-048-06-1', 0, 1, 1, 1, 49, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-06-2', 0, 'A1-048-06-2', 0, 1, 1, 1, 49, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-048-06-3', 0, 'A1-048-06-3', 0, 1, 1, 1, 49, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-01-1', 0, 'A1-049-01-1', 0, 1, 1, 1, 50, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-01-2', 0, 'A1-049-01-2', 0, 1, 1, 1, 50, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-01-3', 0, 'A1-049-01-3', 0, 1, 1, 1, 50, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-02-1', 0, 'A1-049-02-1', 0, 1, 1, 1, 50, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-02-2', 0, 'A1-049-02-2', 0, 1, 1, 1, 50, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-02-3', 0, 'A1-049-02-3', 0, 1, 1, 1, 50, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-03-1', 0, 'A1-049-03-1', 0, 1, 1, 1, 50, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-03-2', 0, 'A1-049-03-2', 0, 1, 1, 1, 50, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-03-3', 0, 'A1-049-03-3', 0, 1, 1, 1, 50, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-04-1', 0, 'A1-049-04-1', 0, 1, 1, 1, 50, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-04-2', 0, 'A1-049-04-2', 0, 1, 1, 1, 50, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-04-3', 0, 'A1-049-04-3', 0, 1, 1, 1, 50, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-05-1', 0, 'A1-049-05-1', 0, 1, 1, 1, 50, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-05-2', 0, 'A1-049-05-2', 0, 1, 1, 1, 50, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-05-3', 0, 'A1-049-05-3', 0, 1, 1, 1, 50, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-06-1', 0, 'A1-049-06-1', 0, 1, 1, 1, 50, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-06-2', 0, 'A1-049-06-2', 0, 1, 1, 1, 50, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-049-06-3', 0, 'A1-049-06-3', 0, 1, 1, 1, 50, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-01-1', 0, 'A1-050-01-1', 0, 1, 1, 1, 51, 1, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-01-2', 0, 'A1-050-01-2', 0, 1, 1, 1, 51, 1, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-01-3', 0, 'A1-050-01-3', 0, 1, 1, 1, 51, 1, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-02-1', 0, 'A1-050-02-1', 0, 1, 1, 1, 51, 2, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-02-2', 0, 'A1-050-02-2', 0, 1, 1, 1, 51, 2, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-02-3', 0, 'A1-050-02-3', 0, 1, 1, 1, 51, 2, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-03-1', 0, 'A1-050-03-1', 0, 1, 1, 1, 51, 3, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-03-2', 0, 'A1-050-03-2', 0, 1, 1, 1, 51, 3, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-03-3', 0, 'A1-050-03-3', 0, 1, 1, 1, 51, 3, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-04-1', 0, 'A1-050-04-1', 0, 1, 1, 1, 51, 4, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-04-2', 0, 'A1-050-04-2', 0, 1, 1, 1, 51, 4, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-04-3', 0, 'A1-050-04-3', 0, 1, 1, 1, 51, 4, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-05-1', 0, 'A1-050-05-1', 0, 1, 1, 1, 51, 5, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-05-2', 0, 'A1-050-05-2', 0, 1, 1, 1, 51, 5, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-05-3', 0, 'A1-050-05-3', 0, 1, 1, 1, 51, 5, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-06-1', 0, 'A1-050-06-1', 0, 1, 1, 1, 51, 6, 1, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-06-2', 0, 'A1-050-06-2', 0, 1, 1, 1, 51, 6, 2, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A1-050-06-3', 0, 'A1-050-06-3', 0, 1, 1, 1, 51, 6, 3, NULL, NULL, '2025-10-05 15:25:52', '2025-10-05 15:25:52', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-01-1', 0, 'A2-001-01-1', 0, 1, 1, 2, 2, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-01-2', 0, 'A2-001-01-2', 0, 1, 1, 2, 2, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-01-3', 0, 'A2-001-01-3', 0, 1, 1, 2, 2, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-02-1', 0, 'A2-001-02-1', 0, 1, 1, 2, 2, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-02-2', 0, 'A2-001-02-2', 0, 1, 1, 2, 2, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-02-3', 0, 'A2-001-02-3', 0, 1, 1, 2, 2, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-03-1', 0, 'A2-001-03-1', 0, 1, 1, 2, 2, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-03-2', 0, 'A2-001-03-2', 0, 1, 1, 2, 2, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-03-3', 0, 'A2-001-03-3', 0, 1, 1, 2, 2, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-04-1', 0, 'A2-001-04-1', 0, 1, 1, 2, 2, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-04-2', 0, 'A2-001-04-2', 0, 1, 1, 2, 2, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-04-3', 0, 'A2-001-04-3', 0, 1, 1, 2, 2, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-05-1', 0, 'A2-001-05-1', 0, 1, 1, 2, 2, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-05-2', 0, 'A2-001-05-2', 0, 1, 1, 2, 2, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-05-3', 0, 'A2-001-05-3', 0, 1, 1, 2, 2, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-06-1', 0, 'A2-001-06-1', 0, 1, 1, 2, 2, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-06-2', 0, 'A2-001-06-2', 0, 1, 1, 2, 2, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-001-06-3', 0, 'A2-001-06-3', 0, 1, 1, 2, 2, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-01-1', 0, 'A2-002-01-1', 0, 1, 1, 2, 3, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-01-2', 0, 'A2-002-01-2', 0, 1, 1, 2, 3, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-01-3', 0, 'A2-002-01-3', 0, 1, 1, 2, 3, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-02-1', 0, 'A2-002-02-1', 0, 1, 1, 2, 3, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-02-2', 0, 'A2-002-02-2', 0, 1, 1, 2, 3, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-02-3', 0, 'A2-002-02-3', 0, 1, 1, 2, 3, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-03-1', 0, 'A2-002-03-1', 0, 1, 1, 2, 3, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-03-2', 0, 'A2-002-03-2', 0, 1, 1, 2, 3, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-03-3', 0, 'A2-002-03-3', 0, 1, 1, 2, 3, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-04-1', 0, 'A2-002-04-1', 0, 1, 1, 2, 3, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-04-2', 0, 'A2-002-04-2', 0, 1, 1, 2, 3, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-04-3', 0, 'A2-002-04-3', 0, 1, 1, 2, 3, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-05-1', 0, 'A2-002-05-1', 0, 1, 1, 2, 3, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-05-2', 0, 'A2-002-05-2', 0, 1, 1, 2, 3, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-05-3', 0, 'A2-002-05-3', 0, 1, 1, 2, 3, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-06-1', 0, 'A2-002-06-1', 0, 1, 1, 2, 3, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-06-2', 0, 'A2-002-06-2', 0, 1, 1, 2, 3, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-002-06-3', 0, 'A2-002-06-3', 0, 1, 1, 2, 3, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-01-1', 0, 'A2-003-01-1', 0, 1, 1, 2, 4, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-01-2', 0, 'A2-003-01-2', 0, 1, 1, 2, 4, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-01-3', 0, 'A2-003-01-3', 0, 1, 1, 2, 4, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-02-1', 0, 'A2-003-02-1', 0, 1, 1, 2, 4, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-02-2', 0, 'A2-003-02-2', 0, 1, 1, 2, 4, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-02-3', 0, 'A2-003-02-3', 0, 1, 1, 2, 4, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-03-1', 0, 'A2-003-03-1', 0, 1, 1, 2, 4, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-03-2', 0, 'A2-003-03-2', 0, 1, 1, 2, 4, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-03-3', 0, 'A2-003-03-3', 0, 1, 1, 2, 4, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-04-1', 0, 'A2-003-04-1', 0, 1, 1, 2, 4, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-04-2', 0, 'A2-003-04-2', 0, 1, 1, 2, 4, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-04-3', 0, 'A2-003-04-3', 0, 1, 1, 2, 4, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-05-1', 0, 'A2-003-05-1', 0, 1, 1, 2, 4, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-05-2', 0, 'A2-003-05-2', 0, 1, 1, 2, 4, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-05-3', 0, 'A2-003-05-3', 0, 1, 1, 2, 4, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-06-1', 0, 'A2-003-06-1', 0, 1, 1, 2, 4, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-06-2', 0, 'A2-003-06-2', 0, 1, 1, 2, 4, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-003-06-3', 0, 'A2-003-06-3', 0, 1, 1, 2, 4, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-01-1', 0, 'A2-004-01-1', 0, 1, 1, 2, 5, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-01-2', 0, 'A2-004-01-2', 0, 1, 1, 2, 5, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-01-3', 0, 'A2-004-01-3', 0, 1, 1, 2, 5, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-02-1', 0, 'A2-004-02-1', 0, 1, 1, 2, 5, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-02-2', 0, 'A2-004-02-2', 0, 1, 1, 2, 5, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-02-3', 0, 'A2-004-02-3', 0, 1, 1, 2, 5, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-03-1', 0, 'A2-004-03-1', 0, 1, 1, 2, 5, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-03-2', 0, 'A2-004-03-2', 0, 1, 1, 2, 5, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-03-3', 0, 'A2-004-03-3', 0, 1, 1, 2, 5, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-04-1', 0, 'A2-004-04-1', 0, 1, 1, 2, 5, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-04-2', 0, 'A2-004-04-2', 0, 1, 1, 2, 5, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-04-3', 0, 'A2-004-04-3', 0, 1, 1, 2, 5, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-05-1', 0, 'A2-004-05-1', 0, 1, 1, 2, 5, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-05-2', 0, 'A2-004-05-2', 0, 1, 1, 2, 5, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-05-3', 0, 'A2-004-05-3', 0, 1, 1, 2, 5, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-06-1', 0, 'A2-004-06-1', 0, 1, 1, 2, 5, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-06-2', 0, 'A2-004-06-2', 0, 1, 1, 2, 5, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-004-06-3', 0, 'A2-004-06-3', 0, 1, 1, 2, 5, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-01-1', 0, 'A2-005-01-1', 0, 1, 1, 2, 6, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-01-2', 0, 'A2-005-01-2', 0, 1, 1, 2, 6, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-01-3', 0, 'A2-005-01-3', 0, 1, 1, 2, 6, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-02-1', 0, 'A2-005-02-1', 0, 1, 1, 2, 6, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-02-2', 0, 'A2-005-02-2', 0, 1, 1, 2, 6, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-02-3', 0, 'A2-005-02-3', 0, 1, 1, 2, 6, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-03-1', 0, 'A2-005-03-1', 0, 1, 1, 2, 6, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-03-2', 0, 'A2-005-03-2', 0, 1, 1, 2, 6, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-03-3', 0, 'A2-005-03-3', 0, 1, 1, 2, 6, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-04-1', 0, 'A2-005-04-1', 0, 1, 1, 2, 6, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-04-2', 0, 'A2-005-04-2', 0, 1, 1, 2, 6, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-04-3', 0, 'A2-005-04-3', 0, 1, 1, 2, 6, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-05-1', 0, 'A2-005-05-1', 0, 1, 1, 2, 6, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-05-2', 0, 'A2-005-05-2', 0, 1, 1, 2, 6, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-05-3', 0, 'A2-005-05-3', 0, 1, 1, 2, 6, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-06-1', 0, 'A2-005-06-1', 0, 1, 1, 2, 6, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-06-2', 0, 'A2-005-06-2', 0, 1, 1, 2, 6, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-005-06-3', 0, 'A2-005-06-3', 0, 1, 1, 2, 6, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-01-1', 0, 'A2-006-01-1', 0, 1, 1, 2, 7, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-01-2', 0, 'A2-006-01-2', 0, 1, 1, 2, 7, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-01-3', 0, 'A2-006-01-3', 0, 1, 1, 2, 7, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-02-1', 0, 'A2-006-02-1', 0, 1, 1, 2, 7, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-02-2', 0, 'A2-006-02-2', 0, 1, 1, 2, 7, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-02-3', 0, 'A2-006-02-3', 0, 1, 1, 2, 7, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-03-1', 0, 'A2-006-03-1', 0, 1, 1, 2, 7, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-03-2', 0, 'A2-006-03-2', 0, 1, 1, 2, 7, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-03-3', 0, 'A2-006-03-3', 0, 1, 1, 2, 7, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-04-1', 0, 'A2-006-04-1', 0, 1, 1, 2, 7, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-04-2', 0, 'A2-006-04-2', 0, 1, 1, 2, 7, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-04-3', 0, 'A2-006-04-3', 0, 1, 1, 2, 7, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-05-1', 0, 'A2-006-05-1', 0, 1, 1, 2, 7, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-05-2', 0, 'A2-006-05-2', 0, 1, 1, 2, 7, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-05-3', 0, 'A2-006-05-3', 0, 1, 1, 2, 7, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-06-1', 0, 'A2-006-06-1', 0, 1, 1, 2, 7, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-06-2', 0, 'A2-006-06-2', 0, 1, 1, 2, 7, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-006-06-3', 0, 'A2-006-06-3', 0, 1, 1, 2, 7, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-01-1', 0, 'A2-007-01-1', 0, 1, 1, 2, 8, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-01-2', 0, 'A2-007-01-2', 0, 1, 1, 2, 8, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-01-3', 0, 'A2-007-01-3', 0, 1, 1, 2, 8, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-02-1', 0, 'A2-007-02-1', 0, 1, 1, 2, 8, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-02-2', 0, 'A2-007-02-2', 0, 1, 1, 2, 8, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-02-3', 0, 'A2-007-02-3', 0, 1, 1, 2, 8, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-03-1', 0, 'A2-007-03-1', 0, 1, 1, 2, 8, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-03-2', 0, 'A2-007-03-2', 0, 1, 1, 2, 8, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-03-3', 0, 'A2-007-03-3', 0, 1, 1, 2, 8, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-04-1', 0, 'A2-007-04-1', 0, 1, 1, 2, 8, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-04-2', 0, 'A2-007-04-2', 0, 1, 1, 2, 8, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-04-3', 0, 'A2-007-04-3', 0, 1, 1, 2, 8, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-05-1', 0, 'A2-007-05-1', 0, 1, 1, 2, 8, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-05-2', 0, 'A2-007-05-2', 0, 1, 1, 2, 8, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-05-3', 0, 'A2-007-05-3', 0, 1, 1, 2, 8, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-06-1', 0, 'A2-007-06-1', 0, 1, 1, 2, 8, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-06-2', 0, 'A2-007-06-2', 0, 1, 1, 2, 8, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-007-06-3', 0, 'A2-007-06-3', 0, 1, 1, 2, 8, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-01-1', 0, 'A2-008-01-1', 0, 1, 1, 2, 9, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-01-2', 0, 'A2-008-01-2', 0, 1, 1, 2, 9, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-01-3', 0, 'A2-008-01-3', 0, 1, 1, 2, 9, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-02-1', 0, 'A2-008-02-1', 0, 1, 1, 2, 9, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-02-2', 0, 'A2-008-02-2', 0, 1, 1, 2, 9, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-02-3', 0, 'A2-008-02-3', 0, 1, 1, 2, 9, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-03-1', 0, 'A2-008-03-1', 0, 1, 1, 2, 9, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-03-2', 0, 'A2-008-03-2', 0, 1, 1, 2, 9, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-03-3', 0, 'A2-008-03-3', 0, 1, 1, 2, 9, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-04-1', 0, 'A2-008-04-1', 0, 1, 1, 2, 9, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-04-2', 0, 'A2-008-04-2', 0, 1, 1, 2, 9, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-04-3', 0, 'A2-008-04-3', 0, 1, 1, 2, 9, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-05-1', 0, 'A2-008-05-1', 0, 1, 1, 2, 9, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-05-2', 0, 'A2-008-05-2', 0, 1, 1, 2, 9, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-05-3', 0, 'A2-008-05-3', 0, 1, 1, 2, 9, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-06-1', 0, 'A2-008-06-1', 0, 1, 1, 2, 9, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-06-2', 0, 'A2-008-06-2', 0, 1, 1, 2, 9, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-008-06-3', 0, 'A2-008-06-3', 0, 1, 1, 2, 9, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-01-1', 0, 'A2-009-01-1', 0, 1, 1, 2, 10, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-01-2', 0, 'A2-009-01-2', 0, 1, 1, 2, 10, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-01-3', 0, 'A2-009-01-3', 0, 1, 1, 2, 10, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-02-1', 0, 'A2-009-02-1', 0, 1, 1, 2, 10, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-02-2', 0, 'A2-009-02-2', 0, 1, 1, 2, 10, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-02-3', 0, 'A2-009-02-3', 0, 1, 1, 2, 10, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-03-1', 0, 'A2-009-03-1', 0, 1, 1, 2, 10, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-03-2', 0, 'A2-009-03-2', 0, 1, 1, 2, 10, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-03-3', 0, 'A2-009-03-3', 0, 1, 1, 2, 10, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-04-1', 0, 'A2-009-04-1', 0, 1, 1, 2, 10, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-04-2', 0, 'A2-009-04-2', 0, 1, 1, 2, 10, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-04-3', 0, 'A2-009-04-3', 0, 1, 1, 2, 10, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-05-1', 0, 'A2-009-05-1', 0, 1, 1, 2, 10, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-05-2', 0, 'A2-009-05-2', 0, 1, 1, 2, 10, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-05-3', 0, 'A2-009-05-3', 0, 1, 1, 2, 10, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-06-1', 0, 'A2-009-06-1', 0, 1, 1, 2, 10, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-06-2', 0, 'A2-009-06-2', 0, 1, 1, 2, 10, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-009-06-3', 0, 'A2-009-06-3', 0, 1, 1, 2, 10, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-01-1', 0, 'A2-010-01-1', 0, 1, 1, 2, 11, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-01-2', 0, 'A2-010-01-2', 0, 1, 1, 2, 11, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-01-3', 0, 'A2-010-01-3', 0, 1, 1, 2, 11, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-02-1', 0, 'A2-010-02-1', 0, 1, 1, 2, 11, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-02-2', 0, 'A2-010-02-2', 0, 1, 1, 2, 11, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-02-3', 0, 'A2-010-02-3', 0, 1, 1, 2, 11, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-03-1', 0, 'A2-010-03-1', 0, 1, 1, 2, 11, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-03-2', 0, 'A2-010-03-2', 0, 1, 1, 2, 11, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-03-3', 0, 'A2-010-03-3', 0, 1, 1, 2, 11, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-04-1', 0, 'A2-010-04-1', 0, 1, 1, 2, 11, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-04-2', 0, 'A2-010-04-2', 0, 1, 1, 2, 11, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-04-3', 0, 'A2-010-04-3', 0, 1, 1, 2, 11, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-05-1', 0, 'A2-010-05-1', 0, 1, 1, 2, 11, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-05-2', 0, 'A2-010-05-2', 0, 1, 1, 2, 11, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-05-3', 0, 'A2-010-05-3', 0, 1, 1, 2, 11, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-06-1', 0, 'A2-010-06-1', 0, 1, 1, 2, 11, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-06-2', 0, 'A2-010-06-2', 0, 1, 1, 2, 11, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-010-06-3', 0, 'A2-010-06-3', 0, 1, 1, 2, 11, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-01-1', 0, 'A2-011-01-1', 0, 1, 1, 2, 12, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-01-2', 0, 'A2-011-01-2', 0, 1, 1, 2, 12, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-01-3', 0, 'A2-011-01-3', 0, 1, 1, 2, 12, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-02-1', 0, 'A2-011-02-1', 0, 1, 1, 2, 12, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-02-2', 0, 'A2-011-02-2', 0, 1, 1, 2, 12, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-02-3', 0, 'A2-011-02-3', 0, 1, 1, 2, 12, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-03-1', 0, 'A2-011-03-1', 0, 1, 1, 2, 12, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-03-2', 0, 'A2-011-03-2', 0, 1, 1, 2, 12, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-03-3', 0, 'A2-011-03-3', 0, 1, 1, 2, 12, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-04-1', 0, 'A2-011-04-1', 0, 1, 1, 2, 12, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-04-2', 0, 'A2-011-04-2', 0, 1, 1, 2, 12, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-04-3', 0, 'A2-011-04-3', 0, 1, 1, 2, 12, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-05-1', 0, 'A2-011-05-1', 0, 1, 1, 2, 12, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-05-2', 0, 'A2-011-05-2', 0, 1, 1, 2, 12, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-05-3', 0, 'A2-011-05-3', 0, 1, 1, 2, 12, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-06-1', 0, 'A2-011-06-1', 0, 1, 1, 2, 12, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-06-2', 0, 'A2-011-06-2', 0, 1, 1, 2, 12, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-011-06-3', 0, 'A2-011-06-3', 0, 1, 1, 2, 12, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-01-1', 0, 'A2-012-01-1', 0, 1, 1, 2, 13, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-01-2', 0, 'A2-012-01-2', 0, 1, 1, 2, 13, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-01-3', 0, 'A2-012-01-3', 0, 1, 1, 2, 13, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-02-1', 0, 'A2-012-02-1', 0, 1, 1, 2, 13, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-02-2', 0, 'A2-012-02-2', 0, 1, 1, 2, 13, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-02-3', 0, 'A2-012-02-3', 0, 1, 1, 2, 13, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-03-1', 0, 'A2-012-03-1', 0, 1, 1, 2, 13, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-03-2', 0, 'A2-012-03-2', 0, 1, 1, 2, 13, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-03-3', 0, 'A2-012-03-3', 0, 1, 1, 2, 13, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-04-1', 0, 'A2-012-04-1', 0, 1, 1, 2, 13, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-04-2', 0, 'A2-012-04-2', 0, 1, 1, 2, 13, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-04-3', 0, 'A2-012-04-3', 0, 1, 1, 2, 13, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-05-1', 0, 'A2-012-05-1', 0, 1, 1, 2, 13, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-05-2', 0, 'A2-012-05-2', 0, 1, 1, 2, 13, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-05-3', 0, 'A2-012-05-3', 0, 1, 1, 2, 13, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-06-1', 0, 'A2-012-06-1', 0, 1, 1, 2, 13, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-06-2', 0, 'A2-012-06-2', 0, 1, 1, 2, 13, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-012-06-3', 0, 'A2-012-06-3', 0, 1, 1, 2, 13, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-01-1', 0, 'A2-013-01-1', 0, 1, 1, 2, 14, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-01-2', 0, 'A2-013-01-2', 0, 1, 1, 2, 14, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-01-3', 0, 'A2-013-01-3', 0, 1, 1, 2, 14, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-02-1', 0, 'A2-013-02-1', 0, 1, 1, 2, 14, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-02-2', 0, 'A2-013-02-2', 0, 1, 1, 2, 14, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-02-3', 0, 'A2-013-02-3', 0, 1, 1, 2, 14, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-03-1', 0, 'A2-013-03-1', 0, 1, 1, 2, 14, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-03-2', 0, 'A2-013-03-2', 0, 1, 1, 2, 14, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-03-3', 0, 'A2-013-03-3', 0, 1, 1, 2, 14, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-04-1', 0, 'A2-013-04-1', 0, 1, 1, 2, 14, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-04-2', 0, 'A2-013-04-2', 0, 1, 1, 2, 14, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-04-3', 0, 'A2-013-04-3', 0, 1, 1, 2, 14, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-05-1', 0, 'A2-013-05-1', 0, 1, 1, 2, 14, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-05-2', 0, 'A2-013-05-2', 0, 1, 1, 2, 14, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-05-3', 0, 'A2-013-05-3', 0, 1, 1, 2, 14, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-06-1', 0, 'A2-013-06-1', 0, 1, 1, 2, 14, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-06-2', 0, 'A2-013-06-2', 0, 1, 1, 2, 14, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-013-06-3', 0, 'A2-013-06-3', 0, 1, 1, 2, 14, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-01-1', 0, 'A2-014-01-1', 0, 1, 1, 2, 15, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-01-2', 0, 'A2-014-01-2', 0, 1, 1, 2, 15, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-01-3', 0, 'A2-014-01-3', 0, 1, 1, 2, 15, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-02-1', 0, 'A2-014-02-1', 0, 1, 1, 2, 15, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-02-2', 0, 'A2-014-02-2', 0, 1, 1, 2, 15, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-02-3', 0, 'A2-014-02-3', 0, 1, 1, 2, 15, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-03-1', 0, 'A2-014-03-1', 0, 1, 1, 2, 15, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-03-2', 0, 'A2-014-03-2', 0, 1, 1, 2, 15, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-03-3', 0, 'A2-014-03-3', 0, 1, 1, 2, 15, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-04-1', 0, 'A2-014-04-1', 0, 1, 1, 2, 15, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-04-2', 0, 'A2-014-04-2', 0, 1, 1, 2, 15, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-04-3', 0, 'A2-014-04-3', 0, 1, 1, 2, 15, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-05-1', 0, 'A2-014-05-1', 0, 1, 1, 2, 15, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-05-2', 0, 'A2-014-05-2', 0, 1, 1, 2, 15, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-05-3', 0, 'A2-014-05-3', 0, 1, 1, 2, 15, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-06-1', 0, 'A2-014-06-1', 0, 1, 1, 2, 15, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-06-2', 0, 'A2-014-06-2', 0, 1, 1, 2, 15, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-014-06-3', 0, 'A2-014-06-3', 0, 1, 1, 2, 15, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-01-1', 0, 'A2-015-01-1', 0, 1, 1, 2, 16, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-01-2', 0, 'A2-015-01-2', 0, 1, 1, 2, 16, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-01-3', 0, 'A2-015-01-3', 0, 1, 1, 2, 16, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-02-1', 0, 'A2-015-02-1', 0, 1, 1, 2, 16, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-02-2', 0, 'A2-015-02-2', 0, 1, 1, 2, 16, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-02-3', 0, 'A2-015-02-3', 0, 1, 1, 2, 16, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-03-1', 0, 'A2-015-03-1', 0, 1, 1, 2, 16, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-03-2', 0, 'A2-015-03-2', 0, 1, 1, 2, 16, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-03-3', 0, 'A2-015-03-3', 0, 1, 1, 2, 16, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-04-1', 0, 'A2-015-04-1', 0, 1, 1, 2, 16, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-04-2', 0, 'A2-015-04-2', 0, 1, 1, 2, 16, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-04-3', 0, 'A2-015-04-3', 0, 1, 1, 2, 16, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-05-1', 0, 'A2-015-05-1', 0, 1, 1, 2, 16, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-05-2', 0, 'A2-015-05-2', 0, 1, 1, 2, 16, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-05-3', 0, 'A2-015-05-3', 0, 1, 1, 2, 16, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-06-1', 0, 'A2-015-06-1', 0, 1, 1, 2, 16, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-06-2', 0, 'A2-015-06-2', 0, 1, 1, 2, 16, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-015-06-3', 0, 'A2-015-06-3', 0, 1, 1, 2, 16, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-01-1', 0, 'A2-016-01-1', 0, 1, 1, 2, 17, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-01-2', 0, 'A2-016-01-2', 0, 1, 1, 2, 17, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-01-3', 0, 'A2-016-01-3', 0, 1, 1, 2, 17, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-02-1', 0, 'A2-016-02-1', 0, 1, 1, 2, 17, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-02-2', 0, 'A2-016-02-2', 0, 1, 1, 2, 17, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-02-3', 0, 'A2-016-02-3', 0, 1, 1, 2, 17, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-03-1', 0, 'A2-016-03-1', 0, 1, 1, 2, 17, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-03-2', 0, 'A2-016-03-2', 0, 1, 1, 2, 17, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-03-3', 0, 'A2-016-03-3', 0, 1, 1, 2, 17, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-04-1', 0, 'A2-016-04-1', 0, 1, 1, 2, 17, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-04-2', 0, 'A2-016-04-2', 0, 1, 1, 2, 17, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-04-3', 0, 'A2-016-04-3', 0, 1, 1, 2, 17, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-05-1', 0, 'A2-016-05-1', 0, 1, 1, 2, 17, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-05-2', 0, 'A2-016-05-2', 0, 1, 1, 2, 17, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-05-3', 0, 'A2-016-05-3', 0, 1, 1, 2, 17, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-06-1', 0, 'A2-016-06-1', 0, 1, 1, 2, 17, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-06-2', 0, 'A2-016-06-2', 0, 1, 1, 2, 17, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-016-06-3', 0, 'A2-016-06-3', 0, 1, 1, 2, 17, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-01-1', 0, 'A2-017-01-1', 0, 1, 1, 2, 18, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-01-2', 0, 'A2-017-01-2', 0, 1, 1, 2, 18, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-01-3', 0, 'A2-017-01-3', 0, 1, 1, 2, 18, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-02-1', 0, 'A2-017-02-1', 0, 1, 1, 2, 18, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-02-2', 0, 'A2-017-02-2', 0, 1, 1, 2, 18, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-02-3', 0, 'A2-017-02-3', 0, 1, 1, 2, 18, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-03-1', 0, 'A2-017-03-1', 0, 1, 1, 2, 18, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-03-2', 0, 'A2-017-03-2', 0, 1, 1, 2, 18, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-03-3', 0, 'A2-017-03-3', 0, 1, 1, 2, 18, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-04-1', 0, 'A2-017-04-1', 0, 1, 1, 2, 18, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-04-2', 0, 'A2-017-04-2', 0, 1, 1, 2, 18, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-04-3', 0, 'A2-017-04-3', 0, 1, 1, 2, 18, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-05-1', 0, 'A2-017-05-1', 0, 1, 1, 2, 18, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-05-2', 0, 'A2-017-05-2', 0, 1, 1, 2, 18, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-05-3', 0, 'A2-017-05-3', 0, 1, 1, 2, 18, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-06-1', 0, 'A2-017-06-1', 0, 1, 1, 2, 18, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-06-2', 0, 'A2-017-06-2', 0, 1, 1, 2, 18, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-017-06-3', 0, 'A2-017-06-3', 0, 1, 1, 2, 18, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-01-1', 0, 'A2-018-01-1', 0, 1, 1, 2, 19, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-01-2', 0, 'A2-018-01-2', 0, 1, 1, 2, 19, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-01-3', 0, 'A2-018-01-3', 0, 1, 1, 2, 19, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-02-1', 0, 'A2-018-02-1', 0, 1, 1, 2, 19, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-02-2', 0, 'A2-018-02-2', 0, 1, 1, 2, 19, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-02-3', 0, 'A2-018-02-3', 0, 1, 1, 2, 19, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-03-1', 0, 'A2-018-03-1', 0, 1, 1, 2, 19, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-03-2', 0, 'A2-018-03-2', 0, 1, 1, 2, 19, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-03-3', 0, 'A2-018-03-3', 0, 1, 1, 2, 19, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-04-1', 0, 'A2-018-04-1', 0, 1, 1, 2, 19, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-04-2', 0, 'A2-018-04-2', 0, 1, 1, 2, 19, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-04-3', 0, 'A2-018-04-3', 0, 1, 1, 2, 19, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-05-1', 0, 'A2-018-05-1', 0, 1, 1, 2, 19, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-05-2', 0, 'A2-018-05-2', 0, 1, 1, 2, 19, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-05-3', 0, 'A2-018-05-3', 0, 1, 1, 2, 19, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-06-1', 0, 'A2-018-06-1', 0, 1, 1, 2, 19, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-06-2', 0, 'A2-018-06-2', 0, 1, 1, 2, 19, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-018-06-3', 0, 'A2-018-06-3', 0, 1, 1, 2, 19, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-01-1', 0, 'A2-019-01-1', 0, 1, 1, 2, 20, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-01-2', 0, 'A2-019-01-2', 0, 1, 1, 2, 20, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-01-3', 0, 'A2-019-01-3', 0, 1, 1, 2, 20, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-02-1', 0, 'A2-019-02-1', 0, 1, 1, 2, 20, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-02-2', 0, 'A2-019-02-2', 0, 1, 1, 2, 20, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-02-3', 0, 'A2-019-02-3', 0, 1, 1, 2, 20, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-03-1', 0, 'A2-019-03-1', 0, 1, 1, 2, 20, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-03-2', 0, 'A2-019-03-2', 0, 1, 1, 2, 20, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-03-3', 0, 'A2-019-03-3', 0, 1, 1, 2, 20, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-04-1', 0, 'A2-019-04-1', 0, 1, 1, 2, 20, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-04-2', 0, 'A2-019-04-2', 0, 1, 1, 2, 20, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-04-3', 0, 'A2-019-04-3', 0, 1, 1, 2, 20, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-05-1', 0, 'A2-019-05-1', 0, 1, 1, 2, 20, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-05-2', 0, 'A2-019-05-2', 0, 1, 1, 2, 20, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-05-3', 0, 'A2-019-05-3', 0, 1, 1, 2, 20, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-06-1', 0, 'A2-019-06-1', 0, 1, 1, 2, 20, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-06-2', 0, 'A2-019-06-2', 0, 1, 1, 2, 20, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-019-06-3', 0, 'A2-019-06-3', 0, 1, 1, 2, 20, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-01-1', 0, 'A2-020-01-1', 0, 1, 1, 2, 21, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-01-2', 0, 'A2-020-01-2', 0, 1, 1, 2, 21, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-01-3', 0, 'A2-020-01-3', 0, 1, 1, 2, 21, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-02-1', 0, 'A2-020-02-1', 0, 1, 1, 2, 21, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-02-2', 0, 'A2-020-02-2', 0, 1, 1, 2, 21, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-02-3', 0, 'A2-020-02-3', 0, 1, 1, 2, 21, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-03-1', 0, 'A2-020-03-1', 0, 1, 1, 2, 21, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-03-2', 0, 'A2-020-03-2', 0, 1, 1, 2, 21, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-03-3', 0, 'A2-020-03-3', 0, 1, 1, 2, 21, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-04-1', 0, 'A2-020-04-1', 0, 1, 1, 2, 21, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-04-2', 0, 'A2-020-04-2', 0, 1, 1, 2, 21, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-04-3', 0, 'A2-020-04-3', 0, 1, 1, 2, 21, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-05-1', 0, 'A2-020-05-1', 0, 1, 1, 2, 21, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-05-2', 0, 'A2-020-05-2', 0, 1, 1, 2, 21, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-05-3', 0, 'A2-020-05-3', 0, 1, 1, 2, 21, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-06-1', 0, 'A2-020-06-1', 0, 1, 1, 2, 21, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-06-2', 0, 'A2-020-06-2', 0, 1, 1, 2, 21, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-020-06-3', 0, 'A2-020-06-3', 0, 1, 1, 2, 21, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-01-1', 0, 'A2-021-01-1', 0, 1, 1, 2, 22, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-01-2', 0, 'A2-021-01-2', 0, 1, 1, 2, 22, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-01-3', 0, 'A2-021-01-3', 0, 1, 1, 2, 22, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-02-1', 0, 'A2-021-02-1', 0, 1, 1, 2, 22, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-02-2', 0, 'A2-021-02-2', 0, 1, 1, 2, 22, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-02-3', 0, 'A2-021-02-3', 0, 1, 1, 2, 22, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-03-1', 0, 'A2-021-03-1', 0, 1, 1, 2, 22, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-03-2', 0, 'A2-021-03-2', 0, 1, 1, 2, 22, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-03-3', 0, 'A2-021-03-3', 0, 1, 1, 2, 22, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-04-1', 0, 'A2-021-04-1', 0, 1, 1, 2, 22, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-04-2', 0, 'A2-021-04-2', 0, 1, 1, 2, 22, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-04-3', 0, 'A2-021-04-3', 0, 1, 1, 2, 22, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-05-1', 0, 'A2-021-05-1', 0, 1, 1, 2, 22, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-05-2', 0, 'A2-021-05-2', 0, 1, 1, 2, 22, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-05-3', 0, 'A2-021-05-3', 0, 1, 1, 2, 22, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-06-1', 0, 'A2-021-06-1', 0, 1, 1, 2, 22, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-06-2', 0, 'A2-021-06-2', 0, 1, 1, 2, 22, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-021-06-3', 0, 'A2-021-06-3', 0, 1, 1, 2, 22, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-01-1', 0, 'A2-022-01-1', 0, 1, 1, 2, 23, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-01-2', 0, 'A2-022-01-2', 0, 1, 1, 2, 23, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-01-3', 0, 'A2-022-01-3', 0, 1, 1, 2, 23, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-02-1', 0, 'A2-022-02-1', 0, 1, 1, 2, 23, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-02-2', 0, 'A2-022-02-2', 0, 1, 1, 2, 23, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-02-3', 0, 'A2-022-02-3', 0, 1, 1, 2, 23, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-03-1', 0, 'A2-022-03-1', 0, 1, 1, 2, 23, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-03-2', 0, 'A2-022-03-2', 0, 1, 1, 2, 23, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-03-3', 0, 'A2-022-03-3', 0, 1, 1, 2, 23, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-04-1', 0, 'A2-022-04-1', 0, 1, 1, 2, 23, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-04-2', 0, 'A2-022-04-2', 0, 1, 1, 2, 23, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-04-3', 0, 'A2-022-04-3', 0, 1, 1, 2, 23, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-05-1', 0, 'A2-022-05-1', 0, 1, 1, 2, 23, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-05-2', 0, 'A2-022-05-2', 0, 1, 1, 2, 23, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-05-3', 0, 'A2-022-05-3', 0, 1, 1, 2, 23, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-06-1', 0, 'A2-022-06-1', 0, 1, 1, 2, 23, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-06-2', 0, 'A2-022-06-2', 0, 1, 1, 2, 23, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-022-06-3', 0, 'A2-022-06-3', 0, 1, 1, 2, 23, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-01-1', 0, 'A2-023-01-1', 0, 1, 1, 2, 24, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-01-2', 0, 'A2-023-01-2', 0, 1, 1, 2, 24, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-01-3', 0, 'A2-023-01-3', 0, 1, 1, 2, 24, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-02-1', 0, 'A2-023-02-1', 0, 1, 1, 2, 24, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-02-2', 0, 'A2-023-02-2', 0, 1, 1, 2, 24, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-02-3', 0, 'A2-023-02-3', 0, 1, 1, 2, 24, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-03-1', 0, 'A2-023-03-1', 0, 1, 1, 2, 24, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-03-2', 0, 'A2-023-03-2', 0, 1, 1, 2, 24, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-03-3', 0, 'A2-023-03-3', 0, 1, 1, 2, 24, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-04-1', 0, 'A2-023-04-1', 0, 1, 1, 2, 24, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-04-2', 0, 'A2-023-04-2', 0, 1, 1, 2, 24, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-04-3', 0, 'A2-023-04-3', 0, 1, 1, 2, 24, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-05-1', 0, 'A2-023-05-1', 0, 1, 1, 2, 24, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-05-2', 0, 'A2-023-05-2', 0, 1, 1, 2, 24, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-05-3', 0, 'A2-023-05-3', 0, 1, 1, 2, 24, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-06-1', 0, 'A2-023-06-1', 0, 1, 1, 2, 24, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-06-2', 0, 'A2-023-06-2', 0, 1, 1, 2, 24, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-023-06-3', 0, 'A2-023-06-3', 0, 1, 1, 2, 24, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-01-1', 0, 'A2-024-01-1', 0, 1, 1, 2, 25, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-01-2', 0, 'A2-024-01-2', 0, 1, 1, 2, 25, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-01-3', 0, 'A2-024-01-3', 0, 1, 1, 2, 25, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-02-1', 0, 'A2-024-02-1', 0, 1, 1, 2, 25, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-02-2', 0, 'A2-024-02-2', 0, 1, 1, 2, 25, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-02-3', 0, 'A2-024-02-3', 0, 1, 1, 2, 25, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-03-1', 0, 'A2-024-03-1', 0, 1, 1, 2, 25, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-03-2', 0, 'A2-024-03-2', 0, 1, 1, 2, 25, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-03-3', 0, 'A2-024-03-3', 0, 1, 1, 2, 25, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-04-1', 0, 'A2-024-04-1', 0, 1, 1, 2, 25, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-04-2', 0, 'A2-024-04-2', 0, 1, 1, 2, 25, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-04-3', 0, 'A2-024-04-3', 0, 1, 1, 2, 25, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-05-1', 0, 'A2-024-05-1', 0, 1, 1, 2, 25, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-05-2', 0, 'A2-024-05-2', 0, 1, 1, 2, 25, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-05-3', 0, 'A2-024-05-3', 0, 1, 1, 2, 25, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-06-1', 0, 'A2-024-06-1', 0, 1, 1, 2, 25, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-06-2', 0, 'A2-024-06-2', 0, 1, 1, 2, 25, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-024-06-3', 0, 'A2-024-06-3', 0, 1, 1, 2, 25, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-01-1', 0, 'A2-025-01-1', 0, 1, 1, 2, 26, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-01-2', 0, 'A2-025-01-2', 0, 1, 1, 2, 26, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-01-3', 0, 'A2-025-01-3', 0, 1, 1, 2, 26, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-02-1', 0, 'A2-025-02-1', 0, 1, 1, 2, 26, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-02-2', 0, 'A2-025-02-2', 0, 1, 1, 2, 26, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-02-3', 0, 'A2-025-02-3', 0, 1, 1, 2, 26, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-03-1', 0, 'A2-025-03-1', 0, 1, 1, 2, 26, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-03-2', 0, 'A2-025-03-2', 0, 1, 1, 2, 26, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-03-3', 0, 'A2-025-03-3', 0, 1, 1, 2, 26, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-04-1', 0, 'A2-025-04-1', 0, 1, 1, 2, 26, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-04-2', 0, 'A2-025-04-2', 0, 1, 1, 2, 26, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-04-3', 0, 'A2-025-04-3', 0, 1, 1, 2, 26, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-05-1', 0, 'A2-025-05-1', 0, 1, 1, 2, 26, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-05-2', 0, 'A2-025-05-2', 0, 1, 1, 2, 26, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-05-3', 0, 'A2-025-05-3', 0, 1, 1, 2, 26, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-06-1', 0, 'A2-025-06-1', 0, 1, 1, 2, 26, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-06-2', 0, 'A2-025-06-2', 0, 1, 1, 2, 26, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-025-06-3', 0, 'A2-025-06-3', 0, 1, 1, 2, 26, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-01-1', 0, 'A2-026-01-1', 0, 1, 1, 2, 27, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-01-2', 0, 'A2-026-01-2', 0, 1, 1, 2, 27, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-01-3', 0, 'A2-026-01-3', 0, 1, 1, 2, 27, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-02-1', 0, 'A2-026-02-1', 0, 1, 1, 2, 27, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-02-2', 0, 'A2-026-02-2', 0, 1, 1, 2, 27, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-02-3', 0, 'A2-026-02-3', 0, 1, 1, 2, 27, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-03-1', 0, 'A2-026-03-1', 0, 1, 1, 2, 27, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-03-2', 0, 'A2-026-03-2', 0, 1, 1, 2, 27, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-03-3', 0, 'A2-026-03-3', 0, 1, 1, 2, 27, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-04-1', 0, 'A2-026-04-1', 0, 1, 1, 2, 27, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-04-2', 0, 'A2-026-04-2', 0, 1, 1, 2, 27, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-04-3', 0, 'A2-026-04-3', 0, 1, 1, 2, 27, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-05-1', 0, 'A2-026-05-1', 0, 1, 1, 2, 27, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-05-2', 0, 'A2-026-05-2', 0, 1, 1, 2, 27, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-05-3', 0, 'A2-026-05-3', 0, 1, 1, 2, 27, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-06-1', 0, 'A2-026-06-1', 0, 1, 1, 2, 27, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-06-2', 0, 'A2-026-06-2', 0, 1, 1, 2, 27, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-026-06-3', 0, 'A2-026-06-3', 0, 1, 1, 2, 27, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-01-1', 0, 'A2-027-01-1', 0, 1, 1, 2, 28, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-01-2', 0, 'A2-027-01-2', 0, 1, 1, 2, 28, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-01-3', 0, 'A2-027-01-3', 0, 1, 1, 2, 28, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-02-1', 0, 'A2-027-02-1', 0, 1, 1, 2, 28, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-02-2', 0, 'A2-027-02-2', 0, 1, 1, 2, 28, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-02-3', 0, 'A2-027-02-3', 0, 1, 1, 2, 28, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-03-1', 0, 'A2-027-03-1', 0, 1, 1, 2, 28, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-03-2', 0, 'A2-027-03-2', 0, 1, 1, 2, 28, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-03-3', 0, 'A2-027-03-3', 0, 1, 1, 2, 28, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-04-1', 0, 'A2-027-04-1', 0, 1, 1, 2, 28, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-04-2', 0, 'A2-027-04-2', 0, 1, 1, 2, 28, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-04-3', 0, 'A2-027-04-3', 0, 1, 1, 2, 28, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-05-1', 0, 'A2-027-05-1', 0, 1, 1, 2, 28, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-05-2', 0, 'A2-027-05-2', 0, 1, 1, 2, 28, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-05-3', 0, 'A2-027-05-3', 0, 1, 1, 2, 28, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-06-1', 0, 'A2-027-06-1', 0, 1, 1, 2, 28, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-06-2', 0, 'A2-027-06-2', 0, 1, 1, 2, 28, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-027-06-3', 0, 'A2-027-06-3', 0, 1, 1, 2, 28, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-01-1', 0, 'A2-028-01-1', 0, 1, 1, 2, 29, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-01-2', 0, 'A2-028-01-2', 0, 1, 1, 2, 29, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-01-3', 0, 'A2-028-01-3', 0, 1, 1, 2, 29, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-02-1', 0, 'A2-028-02-1', 0, 1, 1, 2, 29, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-02-2', 0, 'A2-028-02-2', 0, 1, 1, 2, 29, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-02-3', 0, 'A2-028-02-3', 0, 1, 1, 2, 29, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-03-1', 0, 'A2-028-03-1', 0, 1, 1, 2, 29, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-03-2', 0, 'A2-028-03-2', 0, 1, 1, 2, 29, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-03-3', 0, 'A2-028-03-3', 0, 1, 1, 2, 29, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-04-1', 0, 'A2-028-04-1', 0, 1, 1, 2, 29, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-04-2', 0, 'A2-028-04-2', 0, 1, 1, 2, 29, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-04-3', 0, 'A2-028-04-3', 0, 1, 1, 2, 29, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-05-1', 0, 'A2-028-05-1', 0, 1, 1, 2, 29, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-05-2', 0, 'A2-028-05-2', 0, 1, 1, 2, 29, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-05-3', 0, 'A2-028-05-3', 0, 1, 1, 2, 29, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-06-1', 0, 'A2-028-06-1', 0, 1, 1, 2, 29, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-06-2', 0, 'A2-028-06-2', 0, 1, 1, 2, 29, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-028-06-3', 0, 'A2-028-06-3', 0, 1, 1, 2, 29, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-01-1', 0, 'A2-029-01-1', 0, 1, 1, 2, 30, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-01-2', 0, 'A2-029-01-2', 0, 1, 1, 2, 30, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-01-3', 0, 'A2-029-01-3', 0, 1, 1, 2, 30, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-02-1', 0, 'A2-029-02-1', 0, 1, 1, 2, 30, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-02-2', 0, 'A2-029-02-2', 0, 1, 1, 2, 30, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-02-3', 0, 'A2-029-02-3', 0, 1, 1, 2, 30, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-03-1', 0, 'A2-029-03-1', 0, 1, 1, 2, 30, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-03-2', 0, 'A2-029-03-2', 0, 1, 1, 2, 30, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-03-3', 0, 'A2-029-03-3', 0, 1, 1, 2, 30, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-04-1', 0, 'A2-029-04-1', 0, 1, 1, 2, 30, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-04-2', 0, 'A2-029-04-2', 0, 1, 1, 2, 30, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-04-3', 0, 'A2-029-04-3', 0, 1, 1, 2, 30, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-05-1', 0, 'A2-029-05-1', 0, 1, 1, 2, 30, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-05-2', 0, 'A2-029-05-2', 0, 1, 1, 2, 30, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-05-3', 0, 'A2-029-05-3', 0, 1, 1, 2, 30, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-06-1', 0, 'A2-029-06-1', 0, 1, 1, 2, 30, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-06-2', 0, 'A2-029-06-2', 0, 1, 1, 2, 30, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-029-06-3', 0, 'A2-029-06-3', 0, 1, 1, 2, 30, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-01-1', 0, 'A2-030-01-1', 0, 1, 1, 2, 31, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-01-2', 0, 'A2-030-01-2', 0, 1, 1, 2, 31, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-01-3', 0, 'A2-030-01-3', 0, 1, 1, 2, 31, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-02-1', 0, 'A2-030-02-1', 0, 1, 1, 2, 31, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-02-2', 0, 'A2-030-02-2', 0, 1, 1, 2, 31, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-02-3', 0, 'A2-030-02-3', 0, 1, 1, 2, 31, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-03-1', 0, 'A2-030-03-1', 0, 1, 1, 2, 31, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-03-2', 0, 'A2-030-03-2', 0, 1, 1, 2, 31, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-03-3', 0, 'A2-030-03-3', 0, 1, 1, 2, 31, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-04-1', 0, 'A2-030-04-1', 0, 1, 1, 2, 31, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-04-2', 0, 'A2-030-04-2', 0, 1, 1, 2, 31, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-04-3', 0, 'A2-030-04-3', 0, 1, 1, 2, 31, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-05-1', 0, 'A2-030-05-1', 0, 1, 1, 2, 31, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-05-2', 0, 'A2-030-05-2', 0, 1, 1, 2, 31, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-05-3', 0, 'A2-030-05-3', 0, 1, 1, 2, 31, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-06-1', 0, 'A2-030-06-1', 0, 1, 1, 2, 31, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-06-2', 0, 'A2-030-06-2', 0, 1, 1, 2, 31, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-030-06-3', 0, 'A2-030-06-3', 0, 1, 1, 2, 31, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-01-1', 0, 'A2-031-01-1', 0, 1, 1, 2, 32, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-01-2', 0, 'A2-031-01-2', 0, 1, 1, 2, 32, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-01-3', 0, 'A2-031-01-3', 0, 1, 1, 2, 32, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-02-1', 0, 'A2-031-02-1', 0, 1, 1, 2, 32, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-02-2', 0, 'A2-031-02-2', 0, 1, 1, 2, 32, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-02-3', 0, 'A2-031-02-3', 0, 1, 1, 2, 32, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-03-1', 0, 'A2-031-03-1', 0, 1, 1, 2, 32, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-03-2', 0, 'A2-031-03-2', 0, 1, 1, 2, 32, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-03-3', 0, 'A2-031-03-3', 0, 1, 1, 2, 32, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-04-1', 0, 'A2-031-04-1', 0, 1, 1, 2, 32, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-04-2', 0, 'A2-031-04-2', 0, 1, 1, 2, 32, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-04-3', 0, 'A2-031-04-3', 0, 1, 1, 2, 32, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-05-1', 0, 'A2-031-05-1', 0, 1, 1, 2, 32, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-05-2', 0, 'A2-031-05-2', 0, 1, 1, 2, 32, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-05-3', 0, 'A2-031-05-3', 0, 1, 1, 2, 32, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-06-1', 0, 'A2-031-06-1', 0, 1, 1, 2, 32, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-06-2', 0, 'A2-031-06-2', 0, 1, 1, 2, 32, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-031-06-3', 0, 'A2-031-06-3', 0, 1, 1, 2, 32, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-01-1', 0, 'A2-032-01-1', 0, 1, 1, 2, 33, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-01-2', 0, 'A2-032-01-2', 0, 1, 1, 2, 33, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-01-3', 0, 'A2-032-01-3', 0, 1, 1, 2, 33, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-02-1', 0, 'A2-032-02-1', 0, 1, 1, 2, 33, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-02-2', 0, 'A2-032-02-2', 0, 1, 1, 2, 33, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-02-3', 0, 'A2-032-02-3', 0, 1, 1, 2, 33, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-03-1', 0, 'A2-032-03-1', 0, 1, 1, 2, 33, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-03-2', 0, 'A2-032-03-2', 0, 1, 1, 2, 33, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-03-3', 0, 'A2-032-03-3', 0, 1, 1, 2, 33, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-04-1', 0, 'A2-032-04-1', 0, 1, 1, 2, 33, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-04-2', 0, 'A2-032-04-2', 0, 1, 1, 2, 33, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-04-3', 0, 'A2-032-04-3', 0, 1, 1, 2, 33, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-05-1', 0, 'A2-032-05-1', 0, 1, 1, 2, 33, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-05-2', 0, 'A2-032-05-2', 0, 1, 1, 2, 33, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-05-3', 0, 'A2-032-05-3', 0, 1, 1, 2, 33, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-06-1', 0, 'A2-032-06-1', 0, 1, 1, 2, 33, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-06-2', 0, 'A2-032-06-2', 0, 1, 1, 2, 33, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-032-06-3', 0, 'A2-032-06-3', 0, 1, 1, 2, 33, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-01-1', 0, 'A2-033-01-1', 0, 1, 1, 2, 34, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-01-2', 0, 'A2-033-01-2', 0, 1, 1, 2, 34, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-01-3', 0, 'A2-033-01-3', 0, 1, 1, 2, 34, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-02-1', 0, 'A2-033-02-1', 0, 1, 1, 2, 34, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-02-2', 0, 'A2-033-02-2', 0, 1, 1, 2, 34, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-02-3', 0, 'A2-033-02-3', 0, 1, 1, 2, 34, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-03-1', 0, 'A2-033-03-1', 0, 1, 1, 2, 34, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-03-2', 0, 'A2-033-03-2', 0, 1, 1, 2, 34, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-03-3', 0, 'A2-033-03-3', 0, 1, 1, 2, 34, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-04-1', 0, 'A2-033-04-1', 0, 1, 1, 2, 34, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-04-2', 0, 'A2-033-04-2', 0, 1, 1, 2, 34, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-04-3', 0, 'A2-033-04-3', 0, 1, 1, 2, 34, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-05-1', 0, 'A2-033-05-1', 0, 1, 1, 2, 34, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-05-2', 0, 'A2-033-05-2', 0, 1, 1, 2, 34, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-05-3', 0, 'A2-033-05-3', 0, 1, 1, 2, 34, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-06-1', 0, 'A2-033-06-1', 0, 1, 1, 2, 34, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-06-2', 0, 'A2-033-06-2', 0, 1, 1, 2, 34, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-033-06-3', 0, 'A2-033-06-3', 0, 1, 1, 2, 34, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-01-1', 0, 'A2-034-01-1', 0, 1, 1, 2, 35, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-01-2', 0, 'A2-034-01-2', 0, 1, 1, 2, 35, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-01-3', 0, 'A2-034-01-3', 0, 1, 1, 2, 35, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-02-1', 0, 'A2-034-02-1', 0, 1, 1, 2, 35, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-02-2', 0, 'A2-034-02-2', 0, 1, 1, 2, 35, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-02-3', 0, 'A2-034-02-3', 0, 1, 1, 2, 35, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-03-1', 0, 'A2-034-03-1', 0, 1, 1, 2, 35, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-03-2', 0, 'A2-034-03-2', 0, 1, 1, 2, 35, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-03-3', 0, 'A2-034-03-3', 0, 1, 1, 2, 35, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-04-1', 0, 'A2-034-04-1', 0, 1, 1, 2, 35, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-04-2', 0, 'A2-034-04-2', 0, 1, 1, 2, 35, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-04-3', 0, 'A2-034-04-3', 0, 1, 1, 2, 35, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-05-1', 0, 'A2-034-05-1', 0, 1, 1, 2, 35, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-05-2', 0, 'A2-034-05-2', 0, 1, 1, 2, 35, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-05-3', 0, 'A2-034-05-3', 0, 1, 1, 2, 35, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-06-1', 0, 'A2-034-06-1', 0, 1, 1, 2, 35, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-06-2', 0, 'A2-034-06-2', 0, 1, 1, 2, 35, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-034-06-3', 0, 'A2-034-06-3', 0, 1, 1, 2, 35, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-01-1', 0, 'A2-035-01-1', 0, 1, 1, 2, 36, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-01-2', 0, 'A2-035-01-2', 0, 1, 1, 2, 36, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-01-3', 0, 'A2-035-01-3', 0, 1, 1, 2, 36, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-02-1', 0, 'A2-035-02-1', 0, 1, 1, 2, 36, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-02-2', 0, 'A2-035-02-2', 0, 1, 1, 2, 36, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-02-3', 0, 'A2-035-02-3', 0, 1, 1, 2, 36, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-03-1', 0, 'A2-035-03-1', 0, 1, 1, 2, 36, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-03-2', 0, 'A2-035-03-2', 0, 1, 1, 2, 36, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-03-3', 0, 'A2-035-03-3', 0, 1, 1, 2, 36, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-04-1', 0, 'A2-035-04-1', 0, 1, 1, 2, 36, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-04-2', 0, 'A2-035-04-2', 0, 1, 1, 2, 36, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-04-3', 0, 'A2-035-04-3', 0, 1, 1, 2, 36, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-05-1', 0, 'A2-035-05-1', 0, 1, 1, 2, 36, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-05-2', 0, 'A2-035-05-2', 0, 1, 1, 2, 36, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-05-3', 0, 'A2-035-05-3', 0, 1, 1, 2, 36, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-06-1', 0, 'A2-035-06-1', 0, 1, 1, 2, 36, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-06-2', 0, 'A2-035-06-2', 0, 1, 1, 2, 36, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-035-06-3', 0, 'A2-035-06-3', 0, 1, 1, 2, 36, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-01-1', 0, 'A2-036-01-1', 0, 1, 1, 2, 37, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-01-2', 0, 'A2-036-01-2', 0, 1, 1, 2, 37, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-01-3', 0, 'A2-036-01-3', 0, 1, 1, 2, 37, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-02-1', 0, 'A2-036-02-1', 0, 1, 1, 2, 37, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-02-2', 0, 'A2-036-02-2', 0, 1, 1, 2, 37, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-02-3', 0, 'A2-036-02-3', 0, 1, 1, 2, 37, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-03-1', 0, 'A2-036-03-1', 0, 1, 1, 2, 37, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-03-2', 0, 'A2-036-03-2', 0, 1, 1, 2, 37, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-03-3', 0, 'A2-036-03-3', 0, 1, 1, 2, 37, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-04-1', 0, 'A2-036-04-1', 0, 1, 1, 2, 37, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-04-2', 0, 'A2-036-04-2', 0, 1, 1, 2, 37, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-04-3', 0, 'A2-036-04-3', 0, 1, 1, 2, 37, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-05-1', 0, 'A2-036-05-1', 0, 1, 1, 2, 37, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-05-2', 0, 'A2-036-05-2', 0, 1, 1, 2, 37, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-05-3', 0, 'A2-036-05-3', 0, 1, 1, 2, 37, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-06-1', 0, 'A2-036-06-1', 0, 1, 1, 2, 37, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-06-2', 0, 'A2-036-06-2', 0, 1, 1, 2, 37, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-036-06-3', 0, 'A2-036-06-3', 0, 1, 1, 2, 37, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-01-1', 0, 'A2-037-01-1', 0, 1, 1, 2, 38, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-01-2', 0, 'A2-037-01-2', 0, 1, 1, 2, 38, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-01-3', 0, 'A2-037-01-3', 0, 1, 1, 2, 38, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-02-1', 0, 'A2-037-02-1', 0, 1, 1, 2, 38, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-02-2', 0, 'A2-037-02-2', 0, 1, 1, 2, 38, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-02-3', 0, 'A2-037-02-3', 0, 1, 1, 2, 38, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-03-1', 0, 'A2-037-03-1', 0, 1, 1, 2, 38, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-03-2', 0, 'A2-037-03-2', 0, 1, 1, 2, 38, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-03-3', 0, 'A2-037-03-3', 0, 1, 1, 2, 38, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-04-1', 0, 'A2-037-04-1', 0, 1, 1, 2, 38, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-04-2', 0, 'A2-037-04-2', 0, 1, 1, 2, 38, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-04-3', 0, 'A2-037-04-3', 0, 1, 1, 2, 38, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-05-1', 0, 'A2-037-05-1', 0, 1, 1, 2, 38, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-05-2', 0, 'A2-037-05-2', 0, 1, 1, 2, 38, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-05-3', 0, 'A2-037-05-3', 0, 1, 1, 2, 38, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-06-1', 0, 'A2-037-06-1', 0, 1, 1, 2, 38, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-06-2', 0, 'A2-037-06-2', 0, 1, 1, 2, 38, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-037-06-3', 0, 'A2-037-06-3', 0, 1, 1, 2, 38, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-01-1', 0, 'A2-038-01-1', 0, 1, 1, 2, 39, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-01-2', 0, 'A2-038-01-2', 0, 1, 1, 2, 39, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-01-3', 0, 'A2-038-01-3', 0, 1, 1, 2, 39, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-02-1', 0, 'A2-038-02-1', 0, 1, 1, 2, 39, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-02-2', 0, 'A2-038-02-2', 0, 1, 1, 2, 39, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-02-3', 0, 'A2-038-02-3', 0, 1, 1, 2, 39, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-03-1', 0, 'A2-038-03-1', 0, 1, 1, 2, 39, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-03-2', 0, 'A2-038-03-2', 0, 1, 1, 2, 39, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-03-3', 0, 'A2-038-03-3', 0, 1, 1, 2, 39, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-04-1', 0, 'A2-038-04-1', 0, 1, 1, 2, 39, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-04-2', 0, 'A2-038-04-2', 0, 1, 1, 2, 39, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-04-3', 0, 'A2-038-04-3', 0, 1, 1, 2, 39, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-05-1', 0, 'A2-038-05-1', 0, 1, 1, 2, 39, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-05-2', 0, 'A2-038-05-2', 0, 1, 1, 2, 39, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-05-3', 0, 'A2-038-05-3', 0, 1, 1, 2, 39, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-06-1', 0, 'A2-038-06-1', 0, 1, 1, 2, 39, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-06-2', 0, 'A2-038-06-2', 0, 1, 1, 2, 39, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-038-06-3', 0, 'A2-038-06-3', 0, 1, 1, 2, 39, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-01-1', 0, 'A2-039-01-1', 0, 1, 1, 2, 40, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-01-2', 0, 'A2-039-01-2', 0, 1, 1, 2, 40, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-01-3', 0, 'A2-039-01-3', 0, 1, 1, 2, 40, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-02-1', 0, 'A2-039-02-1', 0, 1, 1, 2, 40, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-02-2', 0, 'A2-039-02-2', 0, 1, 1, 2, 40, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-02-3', 0, 'A2-039-02-3', 0, 1, 1, 2, 40, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-03-1', 0, 'A2-039-03-1', 0, 1, 1, 2, 40, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-03-2', 0, 'A2-039-03-2', 0, 1, 1, 2, 40, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-03-3', 0, 'A2-039-03-3', 0, 1, 1, 2, 40, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-04-1', 0, 'A2-039-04-1', 0, 1, 1, 2, 40, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-04-2', 0, 'A2-039-04-2', 0, 1, 1, 2, 40, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-04-3', 0, 'A2-039-04-3', 0, 1, 1, 2, 40, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-05-1', 0, 'A2-039-05-1', 0, 1, 1, 2, 40, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-05-2', 0, 'A2-039-05-2', 0, 1, 1, 2, 40, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-05-3', 0, 'A2-039-05-3', 0, 1, 1, 2, 40, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-06-1', 0, 'A2-039-06-1', 0, 1, 1, 2, 40, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-06-2', 0, 'A2-039-06-2', 0, 1, 1, 2, 40, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-039-06-3', 0, 'A2-039-06-3', 0, 1, 1, 2, 40, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-01-1', 0, 'A2-040-01-1', 0, 1, 1, 2, 41, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-01-2', 0, 'A2-040-01-2', 0, 1, 1, 2, 41, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-01-3', 0, 'A2-040-01-3', 0, 1, 1, 2, 41, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-02-1', 0, 'A2-040-02-1', 0, 1, 1, 2, 41, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-02-2', 0, 'A2-040-02-2', 0, 1, 1, 2, 41, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-02-3', 0, 'A2-040-02-3', 0, 1, 1, 2, 41, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-03-1', 0, 'A2-040-03-1', 0, 1, 1, 2, 41, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-03-2', 0, 'A2-040-03-2', 0, 1, 1, 2, 41, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-03-3', 0, 'A2-040-03-3', 0, 1, 1, 2, 41, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-04-1', 0, 'A2-040-04-1', 0, 1, 1, 2, 41, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-04-2', 0, 'A2-040-04-2', 0, 1, 1, 2, 41, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-04-3', 0, 'A2-040-04-3', 0, 1, 1, 2, 41, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-05-1', 0, 'A2-040-05-1', 0, 1, 1, 2, 41, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-05-2', 0, 'A2-040-05-2', 0, 1, 1, 2, 41, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-05-3', 0, 'A2-040-05-3', 0, 1, 1, 2, 41, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-06-1', 0, 'A2-040-06-1', 0, 1, 1, 2, 41, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-06-2', 0, 'A2-040-06-2', 0, 1, 1, 2, 41, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-040-06-3', 0, 'A2-040-06-3', 0, 1, 1, 2, 41, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-01-1', 0, 'A2-041-01-1', 0, 1, 1, 2, 42, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-01-2', 0, 'A2-041-01-2', 0, 1, 1, 2, 42, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-01-3', 0, 'A2-041-01-3', 0, 1, 1, 2, 42, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-02-1', 0, 'A2-041-02-1', 0, 1, 1, 2, 42, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-02-2', 0, 'A2-041-02-2', 0, 1, 1, 2, 42, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-02-3', 0, 'A2-041-02-3', 0, 1, 1, 2, 42, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-03-1', 0, 'A2-041-03-1', 0, 1, 1, 2, 42, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-03-2', 0, 'A2-041-03-2', 0, 1, 1, 2, 42, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-03-3', 0, 'A2-041-03-3', 0, 1, 1, 2, 42, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-04-1', 0, 'A2-041-04-1', 0, 1, 1, 2, 42, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-04-2', 0, 'A2-041-04-2', 0, 1, 1, 2, 42, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-04-3', 0, 'A2-041-04-3', 0, 1, 1, 2, 42, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-05-1', 0, 'A2-041-05-1', 0, 1, 1, 2, 42, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-05-2', 0, 'A2-041-05-2', 0, 1, 1, 2, 42, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-05-3', 0, 'A2-041-05-3', 0, 1, 1, 2, 42, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-06-1', 0, 'A2-041-06-1', 0, 1, 1, 2, 42, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-06-2', 0, 'A2-041-06-2', 0, 1, 1, 2, 42, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-041-06-3', 0, 'A2-041-06-3', 0, 1, 1, 2, 42, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-01-1', 0, 'A2-042-01-1', 0, 1, 1, 2, 43, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-01-2', 0, 'A2-042-01-2', 0, 1, 1, 2, 43, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-01-3', 0, 'A2-042-01-3', 0, 1, 1, 2, 43, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-02-1', 0, 'A2-042-02-1', 0, 1, 1, 2, 43, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-02-2', 0, 'A2-042-02-2', 0, 1, 1, 2, 43, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-02-3', 0, 'A2-042-02-3', 0, 1, 1, 2, 43, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-03-1', 0, 'A2-042-03-1', 0, 1, 1, 2, 43, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-03-2', 0, 'A2-042-03-2', 0, 1, 1, 2, 43, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-03-3', 0, 'A2-042-03-3', 0, 1, 1, 2, 43, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-04-1', 0, 'A2-042-04-1', 0, 1, 1, 2, 43, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-04-2', 0, 'A2-042-04-2', 0, 1, 1, 2, 43, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-04-3', 0, 'A2-042-04-3', 0, 1, 1, 2, 43, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-05-1', 0, 'A2-042-05-1', 0, 1, 1, 2, 43, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-05-2', 0, 'A2-042-05-2', 0, 1, 1, 2, 43, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-05-3', 0, 'A2-042-05-3', 0, 1, 1, 2, 43, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-06-1', 0, 'A2-042-06-1', 0, 1, 1, 2, 43, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-06-2', 0, 'A2-042-06-2', 0, 1, 1, 2, 43, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-042-06-3', 0, 'A2-042-06-3', 0, 1, 1, 2, 43, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-01-1', 0, 'A2-043-01-1', 0, 1, 1, 2, 44, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-01-2', 0, 'A2-043-01-2', 0, 1, 1, 2, 44, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-01-3', 0, 'A2-043-01-3', 0, 1, 1, 2, 44, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-02-1', 0, 'A2-043-02-1', 0, 1, 1, 2, 44, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-02-2', 0, 'A2-043-02-2', 0, 1, 1, 2, 44, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-02-3', 0, 'A2-043-02-3', 0, 1, 1, 2, 44, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-03-1', 0, 'A2-043-03-1', 0, 1, 1, 2, 44, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-03-2', 0, 'A2-043-03-2', 0, 1, 1, 2, 44, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-03-3', 0, 'A2-043-03-3', 0, 1, 1, 2, 44, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-04-1', 0, 'A2-043-04-1', 0, 1, 1, 2, 44, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-04-2', 0, 'A2-043-04-2', 0, 1, 1, 2, 44, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-04-3', 0, 'A2-043-04-3', 0, 1, 1, 2, 44, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-05-1', 0, 'A2-043-05-1', 0, 1, 1, 2, 44, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-05-2', 0, 'A2-043-05-2', 0, 1, 1, 2, 44, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-05-3', 0, 'A2-043-05-3', 0, 1, 1, 2, 44, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-06-1', 0, 'A2-043-06-1', 0, 1, 1, 2, 44, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-06-2', 0, 'A2-043-06-2', 0, 1, 1, 2, 44, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-043-06-3', 0, 'A2-043-06-3', 0, 1, 1, 2, 44, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-01-1', 0, 'A2-044-01-1', 0, 1, 1, 2, 45, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-01-2', 0, 'A2-044-01-2', 0, 1, 1, 2, 45, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-01-3', 0, 'A2-044-01-3', 0, 1, 1, 2, 45, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-02-1', 0, 'A2-044-02-1', 0, 1, 1, 2, 45, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-02-2', 0, 'A2-044-02-2', 0, 1, 1, 2, 45, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-02-3', 0, 'A2-044-02-3', 0, 1, 1, 2, 45, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-03-1', 0, 'A2-044-03-1', 0, 1, 1, 2, 45, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-03-2', 0, 'A2-044-03-2', 0, 1, 1, 2, 45, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-03-3', 0, 'A2-044-03-3', 0, 1, 1, 2, 45, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-04-1', 0, 'A2-044-04-1', 0, 1, 1, 2, 45, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-04-2', 0, 'A2-044-04-2', 0, 1, 1, 2, 45, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-04-3', 0, 'A2-044-04-3', 0, 1, 1, 2, 45, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-05-1', 0, 'A2-044-05-1', 0, 1, 1, 2, 45, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-05-2', 0, 'A2-044-05-2', 0, 1, 1, 2, 45, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-05-3', 0, 'A2-044-05-3', 0, 1, 1, 2, 45, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-06-1', 0, 'A2-044-06-1', 0, 1, 1, 2, 45, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-06-2', 0, 'A2-044-06-2', 0, 1, 1, 2, 45, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-044-06-3', 0, 'A2-044-06-3', 0, 1, 1, 2, 45, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-01-1', 0, 'A2-045-01-1', 0, 1, 1, 2, 46, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-01-2', 0, 'A2-045-01-2', 0, 1, 1, 2, 46, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-01-3', 0, 'A2-045-01-3', 0, 1, 1, 2, 46, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-02-1', 0, 'A2-045-02-1', 0, 1, 1, 2, 46, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-02-2', 0, 'A2-045-02-2', 0, 1, 1, 2, 46, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-02-3', 0, 'A2-045-02-3', 0, 1, 1, 2, 46, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-03-1', 0, 'A2-045-03-1', 0, 1, 1, 2, 46, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-03-2', 0, 'A2-045-03-2', 0, 1, 1, 2, 46, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-03-3', 0, 'A2-045-03-3', 0, 1, 1, 2, 46, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-04-1', 0, 'A2-045-04-1', 0, 1, 1, 2, 46, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-04-2', 0, 'A2-045-04-2', 0, 1, 1, 2, 46, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-04-3', 0, 'A2-045-04-3', 0, 1, 1, 2, 46, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-05-1', 0, 'A2-045-05-1', 0, 1, 1, 2, 46, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-05-2', 0, 'A2-045-05-2', 0, 1, 1, 2, 46, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-05-3', 0, 'A2-045-05-3', 0, 1, 1, 2, 46, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-06-1', 0, 'A2-045-06-1', 0, 1, 1, 2, 46, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-06-2', 0, 'A2-045-06-2', 0, 1, 1, 2, 46, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-045-06-3', 0, 'A2-045-06-3', 0, 1, 1, 2, 46, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-01-1', 0, 'A2-046-01-1', 0, 1, 1, 2, 47, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-01-2', 0, 'A2-046-01-2', 0, 1, 1, 2, 47, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-01-3', 0, 'A2-046-01-3', 0, 1, 1, 2, 47, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-02-1', 0, 'A2-046-02-1', 0, 1, 1, 2, 47, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-02-2', 0, 'A2-046-02-2', 0, 1, 1, 2, 47, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-02-3', 0, 'A2-046-02-3', 0, 1, 1, 2, 47, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-03-1', 0, 'A2-046-03-1', 0, 1, 1, 2, 47, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-03-2', 0, 'A2-046-03-2', 0, 1, 1, 2, 47, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-03-3', 0, 'A2-046-03-3', 0, 1, 1, 2, 47, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-04-1', 0, 'A2-046-04-1', 0, 1, 1, 2, 47, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-04-2', 0, 'A2-046-04-2', 0, 1, 1, 2, 47, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-04-3', 0, 'A2-046-04-3', 0, 1, 1, 2, 47, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-05-1', 0, 'A2-046-05-1', 0, 1, 1, 2, 47, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-05-2', 0, 'A2-046-05-2', 0, 1, 1, 2, 47, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-05-3', 0, 'A2-046-05-3', 0, 1, 1, 2, 47, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-06-1', 0, 'A2-046-06-1', 0, 1, 1, 2, 47, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-06-2', 0, 'A2-046-06-2', 0, 1, 1, 2, 47, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-046-06-3', 0, 'A2-046-06-3', 0, 1, 1, 2, 47, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-01-1', 0, 'A2-047-01-1', 0, 1, 1, 2, 48, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-01-2', 0, 'A2-047-01-2', 0, 1, 1, 2, 48, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-01-3', 0, 'A2-047-01-3', 0, 1, 1, 2, 48, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-02-1', 0, 'A2-047-02-1', 0, 1, 1, 2, 48, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-02-2', 0, 'A2-047-02-2', 0, 1, 1, 2, 48, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-02-3', 0, 'A2-047-02-3', 0, 1, 1, 2, 48, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-03-1', 0, 'A2-047-03-1', 0, 1, 1, 2, 48, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-03-2', 0, 'A2-047-03-2', 0, 1, 1, 2, 48, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-03-3', 0, 'A2-047-03-3', 0, 1, 1, 2, 48, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-04-1', 0, 'A2-047-04-1', 0, 1, 1, 2, 48, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-04-2', 0, 'A2-047-04-2', 0, 1, 1, 2, 48, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-04-3', 0, 'A2-047-04-3', 0, 1, 1, 2, 48, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-05-1', 0, 'A2-047-05-1', 0, 1, 1, 2, 48, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-05-2', 0, 'A2-047-05-2', 0, 1, 1, 2, 48, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-05-3', 0, 'A2-047-05-3', 0, 1, 1, 2, 48, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-06-1', 0, 'A2-047-06-1', 0, 1, 1, 2, 48, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-06-2', 0, 'A2-047-06-2', 0, 1, 1, 2, 48, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-047-06-3', 0, 'A2-047-06-3', 0, 1, 1, 2, 48, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-01-1', 0, 'A2-048-01-1', 0, 1, 1, 2, 49, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-01-2', 0, 'A2-048-01-2', 0, 1, 1, 2, 49, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-01-3', 0, 'A2-048-01-3', 0, 1, 1, 2, 49, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-02-1', 0, 'A2-048-02-1', 0, 1, 1, 2, 49, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-02-2', 0, 'A2-048-02-2', 0, 1, 1, 2, 49, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-02-3', 0, 'A2-048-02-3', 0, 1, 1, 2, 49, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-03-1', 0, 'A2-048-03-1', 0, 1, 1, 2, 49, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-03-2', 0, 'A2-048-03-2', 0, 1, 1, 2, 49, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-03-3', 0, 'A2-048-03-3', 0, 1, 1, 2, 49, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-04-1', 0, 'A2-048-04-1', 0, 1, 1, 2, 49, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-04-2', 0, 'A2-048-04-2', 0, 1, 1, 2, 49, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-04-3', 0, 'A2-048-04-3', 0, 1, 1, 2, 49, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-05-1', 0, 'A2-048-05-1', 0, 1, 1, 2, 49, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-05-2', 0, 'A2-048-05-2', 0, 1, 1, 2, 49, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-05-3', 0, 'A2-048-05-3', 0, 1, 1, 2, 49, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-06-1', 0, 'A2-048-06-1', 0, 1, 1, 2, 49, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-06-2', 0, 'A2-048-06-2', 0, 1, 1, 2, 49, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-048-06-3', 0, 'A2-048-06-3', 0, 1, 1, 2, 49, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-01-1', 0, 'A2-049-01-1', 0, 1, 1, 2, 50, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-01-2', 0, 'A2-049-01-2', 0, 1, 1, 2, 50, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-01-3', 0, 'A2-049-01-3', 0, 1, 1, 2, 50, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-02-1', 0, 'A2-049-02-1', 0, 1, 1, 2, 50, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-02-2', 0, 'A2-049-02-2', 0, 1, 1, 2, 50, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-02-3', 0, 'A2-049-02-3', 0, 1, 1, 2, 50, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-03-1', 0, 'A2-049-03-1', 0, 1, 1, 2, 50, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-03-2', 0, 'A2-049-03-2', 0, 1, 1, 2, 50, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-03-3', 0, 'A2-049-03-3', 0, 1, 1, 2, 50, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-04-1', 0, 'A2-049-04-1', 0, 1, 1, 2, 50, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-04-2', 0, 'A2-049-04-2', 0, 1, 1, 2, 50, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-04-3', 0, 'A2-049-04-3', 0, 1, 1, 2, 50, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-05-1', 0, 'A2-049-05-1', 0, 1, 1, 2, 50, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-05-2', 0, 'A2-049-05-2', 0, 1, 1, 2, 50, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-05-3', 0, 'A2-049-05-3', 0, 1, 1, 2, 50, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-06-1', 0, 'A2-049-06-1', 0, 1, 1, 2, 50, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-06-2', 0, 'A2-049-06-2', 0, 1, 1, 2, 50, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-049-06-3', 0, 'A2-049-06-3', 0, 1, 1, 2, 50, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-01-1', 0, 'A2-050-01-1', 0, 1, 1, 2, 51, 1, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-01-2', 0, 'A2-050-01-2', 0, 1, 1, 2, 51, 1, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-01-3', 0, 'A2-050-01-3', 0, 1, 1, 2, 51, 1, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-02-1', 0, 'A2-050-02-1', 0, 1, 1, 2, 51, 2, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-02-2', 0, 'A2-050-02-2', 0, 1, 1, 2, 51, 2, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-02-3', 0, 'A2-050-02-3', 0, 1, 1, 2, 51, 2, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-03-1', 0, 'A2-050-03-1', 0, 1, 1, 2, 51, 3, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-03-2', 0, 'A2-050-03-2', 0, 1, 1, 2, 51, 3, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-03-3', 0, 'A2-050-03-3', 0, 1, 1, 2, 51, 3, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-04-1', 0, 'A2-050-04-1', 0, 1, 1, 2, 51, 4, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-04-2', 0, 'A2-050-04-2', 0, 1, 1, 2, 51, 4, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-04-3', 0, 'A2-050-04-3', 0, 1, 1, 2, 51, 4, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-05-1', 0, 'A2-050-05-1', 0, 1, 1, 2, 51, 5, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-05-2', 0, 'A2-050-05-2', 0, 1, 1, 2, 51, 5, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-05-3', 0, 'A2-050-05-3', 0, 1, 1, 2, 51, 5, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-06-1', 0, 'A2-050-06-1', 0, 1, 1, 2, 51, 6, 1, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-06-2', 0, 'A2-050-06-2', 0, 1, 1, 2, 51, 6, 2, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('A2-050-06-3', 0, 'A2-050-06-3', 0, 1, 1, 2, 51, 6, 3, NULL, NULL, '2025-10-05 15:25:40', '2025-10-05 15:25:40', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-001-01', 0, 'B2-001-001-01', 0, 2, 1, 1, 3, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-002-01', 0, 'B2-001-002-01', 0, 2, 1, 1, 3, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-003-01', 0, 'B2-001-003-01', 0, 2, 1, 1, 3, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-004-01', 0, 'B2-001-004-01', 0, 2, 1, 1, 3, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-005-01', 0, 'B2-001-005-01', 0, 2, 1, 1, 3, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-006-01', 0, 'B2-001-006-01', 0, 2, 1, 1, 3, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-007-01', 0, 'B2-001-007-01', 0, 2, 1, 1, 3, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-008-01', 0, 'B2-001-008-01', 0, 2, 1, 1, 3, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-009-01', 0, 'B2-001-009-01', 0, 2, 1, 1, 3, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-010-01', 0, 'B2-001-010-01', 0, 2, 1, 1, 3, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-011-01', 0, 'B2-001-011-01', 0, 2, 1, 1, 3, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-001-012-01', 0, 'B2-001-012-01', 0, 2, 1, 1, 3, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-001-01', 0, 'B2-002-001-01', 0, 2, 1, 1, 4, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-002-01', 0, 'B2-002-002-01', 0, 2, 1, 1, 4, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-003-01', 0, 'B2-002-003-01', 0, 2, 1, 1, 4, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-004-01', 0, 'B2-002-004-01', 0, 2, 1, 1, 4, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-005-01', 0, 'B2-002-005-01', 0, 2, 1, 1, 4, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-006-01', 0, 'B2-002-006-01', 0, 2, 1, 1, 4, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-007-01', 0, 'B2-002-007-01', 0, 2, 1, 1, 4, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-008-01', 0, 'B2-002-008-01', 0, 2, 1, 1, 4, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-009-01', 0, 'B2-002-009-01', 0, 2, 1, 1, 4, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-010-01', 0, 'B2-002-010-01', 0, 2, 1, 1, 4, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-011-01', 0, 'B2-002-011-01', 0, 2, 1, 1, 4, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-002-012-01', 0, 'B2-002-012-01', 0, 2, 1, 1, 4, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-001-01', 0, 'B2-003-001-01', 0, 2, 1, 1, 5, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-002-01', 0, 'B2-003-002-01', 0, 2, 1, 1, 5, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-003-01', 0, 'B2-003-003-01', 0, 2, 1, 1, 5, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-004-01', 0, 'B2-003-004-01', 0, 2, 1, 1, 5, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-005-01', 0, 'B2-003-005-01', 0, 2, 1, 1, 5, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-006-01', 0, 'B2-003-006-01', 0, 2, 1, 1, 5, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-007-01', 0, 'B2-003-007-01', 0, 2, 1, 1, 5, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-008-01', 0, 'B2-003-008-01', 0, 2, 1, 1, 5, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-009-01', 0, 'B2-003-009-01', 0, 2, 1, 1, 5, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-010-01', 0, 'B2-003-010-01', 0, 2, 1, 1, 5, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-011-01', 0, 'B2-003-011-01', 0, 2, 1, 1, 5, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-003-012-01', 0, 'B2-003-012-01', 0, 2, 1, 1, 5, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-001-01', 0, 'B2-004-001-01', 0, 2, 1, 1, 6, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-002-01', 0, 'B2-004-002-01', 0, 2, 1, 1, 6, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-003-01', 0, 'B2-004-003-01', 0, 2, 1, 1, 6, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-004-01', 0, 'B2-004-004-01', 0, 2, 1, 1, 6, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-005-01', 0, 'B2-004-005-01', 0, 2, 1, 1, 6, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-006-01', 0, 'B2-004-006-01', 0, 2, 1, 1, 6, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-007-01', 0, 'B2-004-007-01', 0, 2, 1, 1, 6, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-008-01', 0, 'B2-004-008-01', 0, 2, 1, 1, 6, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-009-01', 0, 'B2-004-009-01', 0, 2, 1, 1, 6, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-010-01', 0, 'B2-004-010-01', 0, 2, 1, 1, 6, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-011-01', 0, 'B2-004-011-01', 0, 2, 1, 1, 6, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-004-012-01', 0, 'B2-004-012-01', 0, 2, 1, 1, 6, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-001-01', 0, 'B2-005-001-01', 0, 2, 1, 1, 7, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-002-01', 0, 'B2-005-002-01', 0, 2, 1, 1, 7, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-003-01', 0, 'B2-005-003-01', 0, 2, 1, 1, 7, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-004-01', 0, 'B2-005-004-01', 0, 2, 1, 1, 7, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-005-01', 0, 'B2-005-005-01', 0, 2, 1, 1, 7, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-006-01', 0, 'B2-005-006-01', 0, 2, 1, 1, 7, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-007-01', 0, 'B2-005-007-01', 0, 2, 1, 1, 7, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-008-01', 0, 'B2-005-008-01', 0, 2, 1, 1, 7, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-009-01', 0, 'B2-005-009-01', 0, 2, 1, 1, 7, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-010-01', 0, 'B2-005-010-01', 0, 2, 1, 1, 7, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-011-01', 0, 'B2-005-011-01', 0, 2, 1, 1, 7, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-005-012-01', 0, 'B2-005-012-01', 0, 2, 1, 1, 7, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-001-01', 0, 'B2-006-001-01', 0, 2, 1, 1, 8, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-002-01', 0, 'B2-006-002-01', 0, 2, 1, 1, 8, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-003-01', 0, 'B2-006-003-01', 0, 2, 1, 1, 8, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-004-01', 0, 'B2-006-004-01', 0, 2, 1, 1, 8, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-005-01', 0, 'B2-006-005-01', 0, 2, 1, 1, 8, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-006-01', 0, 'B2-006-006-01', 0, 2, 1, 1, 8, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-007-01', 0, 'B2-006-007-01', 0, 2, 1, 1, 8, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-008-01', 0, 'B2-006-008-01', 0, 2, 1, 1, 8, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-009-01', 0, 'B2-006-009-01', 0, 2, 1, 1, 8, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-010-01', 0, 'B2-006-010-01', 0, 2, 1, 1, 8, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-011-01', 0, 'B2-006-011-01', 0, 2, 1, 1, 8, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-006-012-01', 0, 'B2-006-012-01', 0, 2, 1, 1, 8, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-001-01', 0, 'B2-007-001-01', 0, 2, 1, 1, 9, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-002-01', 0, 'B2-007-002-01', 0, 2, 1, 1, 9, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-003-01', 0, 'B2-007-003-01', 0, 2, 1, 1, 9, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-004-01', 0, 'B2-007-004-01', 0, 2, 1, 1, 9, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-005-01', 0, 'B2-007-005-01', 0, 2, 1, 1, 9, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-006-01', 0, 'B2-007-006-01', 0, 2, 1, 1, 9, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-007-01', 0, 'B2-007-007-01', 0, 2, 1, 1, 9, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-008-01', 0, 'B2-007-008-01', 0, 2, 1, 1, 9, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-009-01', 0, 'B2-007-009-01', 0, 2, 1, 1, 9, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-010-01', 0, 'B2-007-010-01', 0, 2, 1, 1, 9, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-011-01', 0, 'B2-007-011-01', 0, 2, 1, 1, 9, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-007-012-01', 0, 'B2-007-012-01', 0, 2, 1, 1, 9, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-001-01', 0, 'B2-008-001-01', 0, 2, 1, 1, 10, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-002-01', 0, 'B2-008-002-01', 0, 2, 1, 1, 10, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-003-01', 0, 'B2-008-003-01', 0, 2, 1, 1, 10, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-004-01', 0, 'B2-008-004-01', 0, 2, 1, 1, 10, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-005-01', 0, 'B2-008-005-01', 0, 2, 1, 1, 10, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-006-01', 0, 'B2-008-006-01', 0, 2, 1, 1, 10, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-007-01', 0, 'B2-008-007-01', 0, 2, 1, 1, 10, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-008-01', 0, 'B2-008-008-01', 0, 2, 1, 1, 10, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-009-01', 0, 'B2-008-009-01', 0, 2, 1, 1, 10, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-010-01', 0, 'B2-008-010-01', 0, 2, 1, 1, 10, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-011-01', 0, 'B2-008-011-01', 0, 2, 1, 1, 10, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-008-012-01', 0, 'B2-008-012-01', 0, 2, 1, 1, 10, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-001-01', 0, 'B2-009-001-01', 0, 2, 1, 1, 11, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-002-01', 0, 'B2-009-002-01', 0, 2, 1, 1, 11, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-003-01', 0, 'B2-009-003-01', 0, 2, 1, 1, 11, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-004-01', 0, 'B2-009-004-01', 0, 2, 1, 1, 11, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-005-01', 0, 'B2-009-005-01', 0, 2, 1, 1, 11, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-006-01', 0, 'B2-009-006-01', 0, 2, 1, 1, 11, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-007-01', 0, 'B2-009-007-01', 0, 2, 1, 1, 11, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-008-01', 0, 'B2-009-008-01', 0, 2, 1, 1, 11, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-009-01', 0, 'B2-009-009-01', 0, 2, 1, 1, 11, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-010-01', 0, 'B2-009-010-01', 0, 2, 1, 1, 11, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-011-01', 0, 'B2-009-011-01', 0, 2, 1, 1, 11, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-009-012-01', 0, 'B2-009-012-01', 0, 2, 1, 1, 11, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-001-01', 0, 'B2-010-001-01', 0, 2, 1, 1, 12, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-002-01', 0, 'B2-010-002-01', 0, 2, 1, 1, 12, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-003-01', 0, 'B2-010-003-01', 0, 2, 1, 1, 12, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-004-01', 0, 'B2-010-004-01', 0, 2, 1, 1, 12, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-005-01', 0, 'B2-010-005-01', 0, 2, 1, 1, 12, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-006-01', 0, 'B2-010-006-01', 0, 2, 1, 1, 12, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-007-01', 0, 'B2-010-007-01', 0, 2, 1, 1, 12, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-008-01', 0, 'B2-010-008-01', 0, 2, 1, 1, 12, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-009-01', 0, 'B2-010-009-01', 0, 2, 1, 1, 12, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-010-01', 0, 'B2-010-010-01', 0, 2, 1, 1, 12, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-011-01', 0, 'B2-010-011-01', 0, 2, 1, 1, 12, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-010-012-01', 0, 'B2-010-012-01', 0, 2, 1, 1, 12, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-001-01', 0, 'B2-011-001-01', 0, 2, 1, 1, 13, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-002-01', 0, 'B2-011-002-01', 0, 2, 1, 1, 13, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-003-01', 0, 'B2-011-003-01', 0, 2, 1, 1, 13, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-004-01', 0, 'B2-011-004-01', 0, 2, 1, 1, 13, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-005-01', 0, 'B2-011-005-01', 0, 2, 1, 1, 13, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-006-01', 0, 'B2-011-006-01', 0, 2, 1, 1, 13, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-007-01', 0, 'B2-011-007-01', 0, 2, 1, 1, 13, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-008-01', 0, 'B2-011-008-01', 0, 2, 1, 1, 13, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-009-01', 0, 'B2-011-009-01', 0, 2, 1, 1, 13, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-010-01', 0, 'B2-011-010-01', 0, 2, 1, 1, 13, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-011-01', 0, 'B2-011-011-01', 0, 2, 1, 1, 13, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-011-012-01', 0, 'B2-011-012-01', 0, 2, 1, 1, 13, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-001-01', 0, 'B2-012-001-01', 0, 2, 1, 1, 14, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-002-01', 0, 'B2-012-002-01', 0, 2, 1, 1, 14, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-003-01', 0, 'B2-012-003-01', 0, 2, 1, 1, 14, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-004-01', 0, 'B2-012-004-01', 0, 2, 1, 1, 14, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-005-01', 0, 'B2-012-005-01', 0, 2, 1, 1, 14, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-006-01', 0, 'B2-012-006-01', 0, 2, 1, 1, 14, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-007-01', 0, 'B2-012-007-01', 0, 2, 1, 1, 14, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-008-01', 0, 'B2-012-008-01', 0, 2, 1, 1, 14, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-009-01', 0, 'B2-012-009-01', 0, 2, 1, 1, 14, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-010-01', 0, 'B2-012-010-01', 0, 2, 1, 1, 14, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-011-01', 0, 'B2-012-011-01', 0, 2, 1, 1, 14, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-012-012-01', 0, 'B2-012-012-01', 0, 2, 1, 1, 14, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-001-01', 0, 'B2-013-001-01', 0, 2, 1, 1, 15, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-002-01', 0, 'B2-013-002-01', 0, 2, 1, 1, 15, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-003-01', 0, 'B2-013-003-01', 0, 2, 1, 1, 15, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-004-01', 0, 'B2-013-004-01', 0, 2, 1, 1, 15, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-005-01', 0, 'B2-013-005-01', 0, 2, 1, 1, 15, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-006-01', 0, 'B2-013-006-01', 0, 2, 1, 1, 15, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-007-01', 0, 'B2-013-007-01', 0, 2, 1, 1, 15, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-008-01', 0, 'B2-013-008-01', 0, 2, 1, 1, 15, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-009-01', 0, 'B2-013-009-01', 0, 2, 1, 1, 15, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-010-01', 0, 'B2-013-010-01', 0, 2, 1, 1, 15, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-011-01', 0, 'B2-013-011-01', 0, 2, 1, 1, 15, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-013-012-01', 0, 'B2-013-012-01', 0, 2, 1, 1, 15, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-001-01', 0, 'B2-014-001-01', 0, 2, 1, 1, 16, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-002-01', 0, 'B2-014-002-01', 0, 2, 1, 1, 16, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-003-01', 0, 'B2-014-003-01', 0, 2, 1, 1, 16, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-004-01', 0, 'B2-014-004-01', 0, 2, 1, 1, 16, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-005-01', 0, 'B2-014-005-01', 0, 2, 1, 1, 16, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-006-01', 0, 'B2-014-006-01', 0, 2, 1, 1, 16, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-007-01', 0, 'B2-014-007-01', 0, 2, 1, 1, 16, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-008-01', 0, 'B2-014-008-01', 0, 2, 1, 1, 16, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-009-01', 0, 'B2-014-009-01', 0, 2, 1, 1, 16, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-010-01', 0, 'B2-014-010-01', 0, 2, 1, 1, 16, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-011-01', 0, 'B2-014-011-01', 0, 2, 1, 1, 16, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-014-012-01', 0, 'B2-014-012-01', 0, 2, 1, 1, 16, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-001-01', 0, 'B2-015-001-01', 0, 2, 1, 1, 17, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-002-01', 0, 'B2-015-002-01', 0, 2, 1, 1, 17, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-003-01', 0, 'B2-015-003-01', 0, 2, 1, 1, 17, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-004-01', 0, 'B2-015-004-01', 0, 2, 1, 1, 17, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-005-01', 0, 'B2-015-005-01', 0, 2, 1, 1, 17, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-006-01', 0, 'B2-015-006-01', 0, 2, 1, 1, 17, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-007-01', 0, 'B2-015-007-01', 0, 2, 1, 1, 17, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-008-01', 0, 'B2-015-008-01', 0, 2, 1, 1, 17, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-009-01', 0, 'B2-015-009-01', 0, 2, 1, 1, 17, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-010-01', 0, 'B2-015-010-01', 0, 2, 1, 1, 17, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-011-01', 0, 'B2-015-011-01', 0, 2, 1, 1, 17, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-015-012-01', 0, 'B2-015-012-01', 0, 2, 1, 1, 17, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-001-01', 0, 'B2-016-001-01', 0, 2, 1, 1, 18, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-002-01', 0, 'B2-016-002-01', 0, 2, 1, 1, 18, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-003-01', 0, 'B2-016-003-01', 0, 2, 1, 1, 18, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-004-01', 0, 'B2-016-004-01', 0, 2, 1, 1, 18, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-005-01', 0, 'B2-016-005-01', 0, 2, 1, 1, 18, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-006-01', 0, 'B2-016-006-01', 0, 2, 1, 1, 18, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-007-01', 0, 'B2-016-007-01', 0, 2, 1, 1, 18, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-008-01', 0, 'B2-016-008-01', 0, 2, 1, 1, 18, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-009-01', 0, 'B2-016-009-01', 0, 2, 1, 1, 18, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-010-01', 0, 'B2-016-010-01', 0, 2, 1, 1, 18, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-011-01', 0, 'B2-016-011-01', 0, 2, 1, 1, 18, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-016-012-01', 0, 'B2-016-012-01', 0, 2, 1, 1, 18, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-001-01', 0, 'B2-017-001-01', 0, 2, 1, 1, 19, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-002-01', 0, 'B2-017-002-01', 0, 2, 1, 1, 19, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-003-01', 0, 'B2-017-003-01', 0, 2, 1, 1, 19, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-004-01', 0, 'B2-017-004-01', 0, 2, 1, 1, 19, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-005-01', 0, 'B2-017-005-01', 0, 2, 1, 1, 19, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-006-01', 0, 'B2-017-006-01', 0, 2, 1, 1, 19, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-007-01', 0, 'B2-017-007-01', 0, 2, 1, 1, 19, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-008-01', 0, 'B2-017-008-01', 0, 2, 1, 1, 19, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-009-01', 0, 'B2-017-009-01', 0, 2, 1, 1, 19, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-010-01', 0, 'B2-017-010-01', 0, 2, 1, 1, 19, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-011-01', 0, 'B2-017-011-01', 0, 2, 1, 1, 19, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-017-012-01', 0, 'B2-017-012-01', 0, 2, 1, 1, 19, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-001-01', 0, 'B2-018-001-01', 0, 2, 1, 1, 20, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-002-01', 0, 'B2-018-002-01', 0, 2, 1, 1, 20, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-003-01', 0, 'B2-018-003-01', 0, 2, 1, 1, 20, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-004-01', 0, 'B2-018-004-01', 0, 2, 1, 1, 20, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-005-01', 0, 'B2-018-005-01', 0, 2, 1, 1, 20, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-006-01', 0, 'B2-018-006-01', 0, 2, 1, 1, 20, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-007-01', 0, 'B2-018-007-01', 0, 2, 1, 1, 20, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-008-01', 0, 'B2-018-008-01', 0, 2, 1, 1, 20, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-009-01', 0, 'B2-018-009-01', 0, 2, 1, 1, 20, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-010-01', 0, 'B2-018-010-01', 0, 2, 1, 1, 20, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-011-01', 0, 'B2-018-011-01', 0, 2, 1, 1, 20, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-018-012-01', 0, 'B2-018-012-01', 0, 2, 1, 1, 20, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-001-01', 0, 'B2-019-001-01', 0, 2, 1, 1, 21, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-002-01', 0, 'B2-019-002-01', 0, 2, 1, 1, 21, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-003-01', 0, 'B2-019-003-01', 0, 2, 1, 1, 21, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-004-01', 0, 'B2-019-004-01', 0, 2, 1, 1, 21, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-005-01', 0, 'B2-019-005-01', 0, 2, 1, 1, 21, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-006-01', 0, 'B2-019-006-01', 0, 2, 1, 1, 21, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-007-01', 0, 'B2-019-007-01', 0, 2, 1, 1, 21, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-008-01', 0, 'B2-019-008-01', 0, 2, 1, 1, 21, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-009-01', 0, 'B2-019-009-01', 0, 2, 1, 1, 21, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-010-01', 0, 'B2-019-010-01', 0, 2, 1, 1, 21, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-011-01', 0, 'B2-019-011-01', 0, 2, 1, 1, 21, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-019-012-01', 0, 'B2-019-012-01', 0, 2, 1, 1, 21, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-001-01', 0, 'B2-020-001-01', 0, 2, 1, 1, 22, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-002-01', 0, 'B2-020-002-01', 0, 2, 1, 1, 22, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-003-01', 0, 'B2-020-003-01', 0, 2, 1, 1, 22, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-004-01', 0, 'B2-020-004-01', 0, 2, 1, 1, 22, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-005-01', 0, 'B2-020-005-01', 0, 2, 1, 1, 22, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-006-01', 0, 'B2-020-006-01', 0, 2, 1, 1, 22, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-007-01', 0, 'B2-020-007-01', 0, 2, 1, 1, 22, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-008-01', 0, 'B2-020-008-01', 0, 2, 1, 1, 22, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-009-01', 0, 'B2-020-009-01', 0, 2, 1, 1, 22, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-010-01', 0, 'B2-020-010-01', 0, 2, 1, 1, 22, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-011-01', 0, 'B2-020-011-01', 0, 2, 1, 1, 22, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-020-012-01', 0, 'B2-020-012-01', 0, 2, 1, 1, 22, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-001-01', 0, 'B2-021-001-01', 0, 2, 1, 1, 23, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-002-01', 0, 'B2-021-002-01', 0, 2, 1, 1, 23, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-003-01', 0, 'B2-021-003-01', 0, 2, 1, 1, 23, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-004-01', 0, 'B2-021-004-01', 0, 2, 1, 1, 23, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-005-01', 0, 'B2-021-005-01', 0, 2, 1, 1, 23, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-006-01', 0, 'B2-021-006-01', 0, 2, 1, 1, 23, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-007-01', 0, 'B2-021-007-01', 0, 2, 1, 1, 23, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-008-01', 0, 'B2-021-008-01', 0, 2, 1, 1, 23, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-009-01', 0, 'B2-021-009-01', 0, 2, 1, 1, 23, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-010-01', 0, 'B2-021-010-01', 0, 2, 1, 1, 23, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-011-01', 0, 'B2-021-011-01', 0, 2, 1, 1, 23, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-021-012-01', 0, 'B2-021-012-01', 0, 2, 1, 1, 23, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-001-01', 0, 'B2-022-001-01', 0, 2, 1, 1, 24, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-002-01', 0, 'B2-022-002-01', 0, 2, 1, 1, 24, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-003-01', 0, 'B2-022-003-01', 0, 2, 1, 1, 24, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-004-01', 0, 'B2-022-004-01', 0, 2, 1, 1, 24, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-005-01', 0, 'B2-022-005-01', 0, 2, 1, 1, 24, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-006-01', 0, 'B2-022-006-01', 0, 2, 1, 1, 24, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-007-01', 0, 'B2-022-007-01', 0, 2, 1, 1, 24, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-008-01', 0, 'B2-022-008-01', 0, 2, 1, 1, 24, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-009-01', 0, 'B2-022-009-01', 0, 2, 1, 1, 24, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-010-01', 0, 'B2-022-010-01', 0, 2, 1, 1, 24, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-011-01', 0, 'B2-022-011-01', 0, 2, 1, 1, 24, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-022-012-01', 0, 'B2-022-012-01', 0, 2, 1, 1, 24, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-001-01', 0, 'B2-023-001-01', 0, 2, 1, 1, 25, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-002-01', 0, 'B2-023-002-01', 0, 2, 1, 1, 25, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-003-01', 0, 'B2-023-003-01', 0, 2, 1, 1, 25, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-004-01', 0, 'B2-023-004-01', 0, 2, 1, 1, 25, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-005-01', 0, 'B2-023-005-01', 0, 2, 1, 1, 25, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-006-01', 0, 'B2-023-006-01', 0, 2, 1, 1, 25, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-007-01', 0, 'B2-023-007-01', 0, 2, 1, 1, 25, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-008-01', 0, 'B2-023-008-01', 0, 2, 1, 1, 25, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-009-01', 0, 'B2-023-009-01', 0, 2, 1, 1, 25, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-010-01', 0, 'B2-023-010-01', 0, 2, 1, 1, 25, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-011-01', 0, 'B2-023-011-01', 0, 2, 1, 1, 25, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-023-012-01', 0, 'B2-023-012-01', 0, 2, 1, 1, 25, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-001-01', 0, 'B2-024-001-01', 0, 2, 1, 1, 26, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-002-01', 0, 'B2-024-002-01', 0, 2, 1, 1, 26, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-003-01', 0, 'B2-024-003-01', 0, 2, 1, 1, 26, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-004-01', 0, 'B2-024-004-01', 0, 2, 1, 1, 26, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-005-01', 0, 'B2-024-005-01', 0, 2, 1, 1, 26, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-006-01', 0, 'B2-024-006-01', 0, 2, 1, 1, 26, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-007-01', 0, 'B2-024-007-01', 0, 2, 1, 1, 26, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-008-01', 0, 'B2-024-008-01', 0, 2, 1, 1, 26, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-009-01', 0, 'B2-024-009-01', 0, 2, 1, 1, 26, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-010-01', 0, 'B2-024-010-01', 0, 2, 1, 1, 26, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-011-01', 0, 'B2-024-011-01', 0, 2, 1, 1, 26, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-024-012-01', 0, 'B2-024-012-01', 0, 2, 1, 1, 26, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-001-01', 0, 'B2-025-001-01', 0, 2, 1, 1, 27, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-002-01', 0, 'B2-025-002-01', 0, 2, 1, 1, 27, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-003-01', 0, 'B2-025-003-01', 0, 2, 1, 1, 27, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-004-01', 0, 'B2-025-004-01', 0, 2, 1, 1, 27, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-005-01', 0, 'B2-025-005-01', 0, 2, 1, 1, 27, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-006-01', 0, 'B2-025-006-01', 0, 2, 1, 1, 27, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-007-01', 0, 'B2-025-007-01', 0, 2, 1, 1, 27, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-008-01', 0, 'B2-025-008-01', 0, 2, 1, 1, 27, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-009-01', 0, 'B2-025-009-01', 0, 2, 1, 1, 27, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-010-01', 0, 'B2-025-010-01', 0, 2, 1, 1, 27, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-011-01', 0, 'B2-025-011-01', 0, 2, 1, 1, 27, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-025-012-01', 0, 'B2-025-012-01', 0, 2, 1, 1, 27, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-001-01', 0, 'B2-026-001-01', 0, 2, 1, 1, 28, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-002-01', 0, 'B2-026-002-01', 0, 2, 1, 1, 28, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-003-01', 0, 'B2-026-003-01', 0, 2, 1, 1, 28, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-004-01', 0, 'B2-026-004-01', 0, 2, 1, 1, 28, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-005-01', 0, 'B2-026-005-01', 0, 2, 1, 1, 28, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-006-01', 0, 'B2-026-006-01', 0, 2, 1, 1, 28, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-007-01', 0, 'B2-026-007-01', 0, 2, 1, 1, 28, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-008-01', 0, 'B2-026-008-01', 0, 2, 1, 1, 28, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-009-01', 0, 'B2-026-009-01', 0, 2, 1, 1, 28, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-010-01', 0, 'B2-026-010-01', 0, 2, 1, 1, 28, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-011-01', 0, 'B2-026-011-01', 0, 2, 1, 1, 28, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-026-012-01', 0, 'B2-026-012-01', 0, 2, 1, 1, 28, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-001-01', 0, 'B2-027-001-01', 0, 2, 1, 1, 29, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-002-01', 0, 'B2-027-002-01', 0, 2, 1, 1, 29, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-003-01', 0, 'B2-027-003-01', 0, 2, 1, 1, 29, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-004-01', 0, 'B2-027-004-01', 0, 2, 1, 1, 29, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-005-01', 0, 'B2-027-005-01', 0, 2, 1, 1, 29, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-006-01', 0, 'B2-027-006-01', 0, 2, 1, 1, 29, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-007-01', 0, 'B2-027-007-01', 0, 2, 1, 1, 29, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-008-01', 0, 'B2-027-008-01', 0, 2, 1, 1, 29, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-009-01', 0, 'B2-027-009-01', 0, 2, 1, 1, 29, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-010-01', 0, 'B2-027-010-01', 0, 2, 1, 1, 29, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-011-01', 0, 'B2-027-011-01', 0, 2, 1, 1, 29, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-027-012-01', 0, 'B2-027-012-01', 0, 2, 1, 1, 29, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-001-01', 0, 'B2-028-001-01', 0, 2, 1, 1, 30, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-002-01', 0, 'B2-028-002-01', 0, 2, 1, 1, 30, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-003-01', 0, 'B2-028-003-01', 0, 2, 1, 1, 30, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-004-01', 0, 'B2-028-004-01', 0, 2, 1, 1, 30, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-005-01', 0, 'B2-028-005-01', 0, 2, 1, 1, 30, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-006-01', 0, 'B2-028-006-01', 0, 2, 1, 1, 30, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-007-01', 0, 'B2-028-007-01', 0, 2, 1, 1, 30, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-008-01', 0, 'B2-028-008-01', 0, 2, 1, 1, 30, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-009-01', 0, 'B2-028-009-01', 0, 2, 1, 1, 30, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-010-01', 0, 'B2-028-010-01', 0, 2, 1, 1, 30, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-011-01', 0, 'B2-028-011-01', 0, 2, 1, 1, 30, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-028-012-01', 0, 'B2-028-012-01', 0, 2, 1, 1, 30, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-001-01', 0, 'B2-029-001-01', 0, 2, 1, 1, 31, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-002-01', 0, 'B2-029-002-01', 0, 2, 1, 1, 31, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-003-01', 0, 'B2-029-003-01', 0, 2, 1, 1, 31, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-004-01', 0, 'B2-029-004-01', 0, 2, 1, 1, 31, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-005-01', 0, 'B2-029-005-01', 0, 2, 1, 1, 31, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-006-01', 0, 'B2-029-006-01', 0, 2, 1, 1, 31, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-007-01', 0, 'B2-029-007-01', 0, 2, 1, 1, 31, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-008-01', 0, 'B2-029-008-01', 0, 2, 1, 1, 31, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-009-01', 0, 'B2-029-009-01', 0, 2, 1, 1, 31, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-010-01', 0, 'B2-029-010-01', 0, 2, 1, 1, 31, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-011-01', 0, 'B2-029-011-01', 0, 2, 1, 1, 31, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-029-012-01', 0, 'B2-029-012-01', 0, 2, 1, 1, 31, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-001-01', 0, 'B2-030-001-01', 0, 2, 1, 1, 32, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-002-01', 0, 'B2-030-002-01', 0, 2, 1, 1, 32, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-003-01', 0, 'B2-030-003-01', 0, 2, 1, 1, 32, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-004-01', 0, 'B2-030-004-01', 0, 2, 1, 1, 32, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-005-01', 0, 'B2-030-005-01', 0, 2, 1, 1, 32, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-006-01', 0, 'B2-030-006-01', 0, 2, 1, 1, 32, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-007-01', 0, 'B2-030-007-01', 0, 2, 1, 1, 32, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-008-01', 0, 'B2-030-008-01', 0, 2, 1, 1, 32, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-009-01', 0, 'B2-030-009-01', 0, 2, 1, 1, 32, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-010-01', 0, 'B2-030-010-01', 0, 2, 1, 1, 32, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-011-01', 0, 'B2-030-011-01', 0, 2, 1, 1, 32, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-030-012-01', 0, 'B2-030-012-01', 0, 2, 1, 1, 32, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-001-01', 0, 'B2-031-001-01', 0, 2, 1, 1, 33, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-002-01', 0, 'B2-031-002-01', 0, 2, 1, 1, 33, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-003-01', 0, 'B2-031-003-01', 0, 2, 1, 1, 33, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-004-01', 0, 'B2-031-004-01', 0, 2, 1, 1, 33, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-005-01', 0, 'B2-031-005-01', 0, 2, 1, 1, 33, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-006-01', 0, 'B2-031-006-01', 0, 2, 1, 1, 33, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-007-01', 0, 'B2-031-007-01', 0, 2, 1, 1, 33, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-008-01', 0, 'B2-031-008-01', 0, 2, 1, 1, 33, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-009-01', 0, 'B2-031-009-01', 0, 2, 1, 1, 33, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-010-01', 0, 'B2-031-010-01', 0, 2, 1, 1, 33, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-011-01', 0, 'B2-031-011-01', 0, 2, 1, 1, 33, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-031-012-01', 0, 'B2-031-012-01', 0, 2, 1, 1, 33, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-001-01', 0, 'B2-032-001-01', 0, 2, 1, 1, 34, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-002-01', 0, 'B2-032-002-01', 0, 2, 1, 1, 34, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-003-01', 0, 'B2-032-003-01', 0, 2, 1, 1, 34, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-004-01', 0, 'B2-032-004-01', 0, 2, 1, 1, 34, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-005-01', 0, 'B2-032-005-01', 0, 2, 1, 1, 34, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-006-01', 0, 'B2-032-006-01', 0, 2, 1, 1, 34, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-007-01', 0, 'B2-032-007-01', 0, 2, 1, 1, 34, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-008-01', 0, 'B2-032-008-01', 0, 2, 1, 1, 34, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-009-01', 0, 'B2-032-009-01', 0, 2, 1, 1, 34, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-010-01', 0, 'B2-032-010-01', 0, 2, 1, 1, 34, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-011-01', 0, 'B2-032-011-01', 0, 2, 1, 1, 34, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-032-012-01', 0, 'B2-032-012-01', 0, 2, 1, 1, 34, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-001-01', 0, 'B2-033-001-01', 0, 2, 1, 1, 35, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-002-01', 0, 'B2-033-002-01', 0, 2, 1, 1, 35, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-003-01', 0, 'B2-033-003-01', 0, 2, 1, 1, 35, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-004-01', 0, 'B2-033-004-01', 0, 2, 1, 1, 35, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-005-01', 0, 'B2-033-005-01', 0, 2, 1, 1, 35, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-006-01', 0, 'B2-033-006-01', 0, 2, 1, 1, 35, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-007-01', 0, 'B2-033-007-01', 0, 2, 1, 1, 35, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-008-01', 0, 'B2-033-008-01', 0, 2, 1, 1, 35, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-009-01', 0, 'B2-033-009-01', 0, 2, 1, 1, 35, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-010-01', 0, 'B2-033-010-01', 0, 2, 1, 1, 35, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-011-01', 0, 'B2-033-011-01', 0, 2, 1, 1, 35, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-033-012-01', 0, 'B2-033-012-01', 0, 2, 1, 1, 35, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-001-01', 0, 'B2-034-001-01', 0, 2, 1, 1, 36, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-002-01', 0, 'B2-034-002-01', 0, 2, 1, 1, 36, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-003-01', 0, 'B2-034-003-01', 0, 2, 1, 1, 36, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-004-01', 0, 'B2-034-004-01', 0, 2, 1, 1, 36, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-005-01', 0, 'B2-034-005-01', 0, 2, 1, 1, 36, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-006-01', 0, 'B2-034-006-01', 0, 2, 1, 1, 36, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-007-01', 0, 'B2-034-007-01', 0, 2, 1, 1, 36, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-008-01', 0, 'B2-034-008-01', 0, 2, 1, 1, 36, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-009-01', 0, 'B2-034-009-01', 0, 2, 1, 1, 36, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-010-01', 0, 'B2-034-010-01', 0, 2, 1, 1, 36, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-011-01', 0, 'B2-034-011-01', 0, 2, 1, 1, 36, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-034-012-01', 0, 'B2-034-012-01', 0, 2, 1, 1, 36, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-001-01', 0, 'B2-035-001-01', 0, 2, 1, 1, 37, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-002-01', 0, 'B2-035-002-01', 0, 2, 1, 1, 37, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-003-01', 0, 'B2-035-003-01', 0, 2, 1, 1, 37, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-004-01', 0, 'B2-035-004-01', 0, 2, 1, 1, 37, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-005-01', 0, 'B2-035-005-01', 0, 2, 1, 1, 37, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-006-01', 0, 'B2-035-006-01', 0, 2, 1, 1, 37, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-007-01', 0, 'B2-035-007-01', 0, 2, 1, 1, 37, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-008-01', 0, 'B2-035-008-01', 0, 2, 1, 1, 37, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-009-01', 0, 'B2-035-009-01', 0, 2, 1, 1, 37, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-010-01', 0, 'B2-035-010-01', 0, 2, 1, 1, 37, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-011-01', 0, 'B2-035-011-01', 0, 2, 1, 1, 37, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-035-012-01', 0, 'B2-035-012-01', 0, 2, 1, 1, 37, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-001-01', 0, 'B2-036-001-01', 0, 2, 1, 1, 38, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-002-01', 0, 'B2-036-002-01', 0, 2, 1, 1, 38, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-003-01', 0, 'B2-036-003-01', 0, 2, 1, 1, 38, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-004-01', 0, 'B2-036-004-01', 0, 2, 1, 1, 38, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-005-01', 0, 'B2-036-005-01', 0, 2, 1, 1, 38, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-006-01', 0, 'B2-036-006-01', 0, 2, 1, 1, 38, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-007-01', 0, 'B2-036-007-01', 0, 2, 1, 1, 38, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-008-01', 0, 'B2-036-008-01', 0, 2, 1, 1, 38, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-009-01', 0, 'B2-036-009-01', 0, 2, 1, 1, 38, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-010-01', 0, 'B2-036-010-01', 0, 2, 1, 1, 38, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-011-01', 0, 'B2-036-011-01', 0, 2, 1, 1, 38, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-036-012-01', 0, 'B2-036-012-01', 0, 2, 1, 1, 38, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-001-01', 0, 'B2-037-001-01', 0, 2, 1, 1, 39, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-002-01', 0, 'B2-037-002-01', 0, 2, 1, 1, 39, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-003-01', 0, 'B2-037-003-01', 0, 2, 1, 1, 39, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-004-01', 0, 'B2-037-004-01', 0, 2, 1, 1, 39, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-005-01', 0, 'B2-037-005-01', 0, 2, 1, 1, 39, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-006-01', 0, 'B2-037-006-01', 0, 2, 1, 1, 39, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-007-01', 0, 'B2-037-007-01', 0, 2, 1, 1, 39, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-008-01', 0, 'B2-037-008-01', 0, 2, 1, 1, 39, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-009-01', 0, 'B2-037-009-01', 0, 2, 1, 1, 39, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-010-01', 0, 'B2-037-010-01', 0, 2, 1, 1, 39, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-011-01', 0, 'B2-037-011-01', 0, 2, 1, 1, 39, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-037-012-01', 0, 'B2-037-012-01', 0, 2, 1, 1, 39, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-001-01', 0, 'B2-038-001-01', 0, 2, 1, 1, 40, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-002-01', 0, 'B2-038-002-01', 0, 2, 1, 1, 40, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-003-01', 0, 'B2-038-003-01', 0, 2, 1, 1, 40, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-004-01', 0, 'B2-038-004-01', 0, 2, 1, 1, 40, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-005-01', 0, 'B2-038-005-01', 0, 2, 1, 1, 40, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-006-01', 0, 'B2-038-006-01', 0, 2, 1, 1, 40, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-007-01', 0, 'B2-038-007-01', 0, 2, 1, 1, 40, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-008-01', 0, 'B2-038-008-01', 0, 2, 1, 1, 40, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-009-01', 0, 'B2-038-009-01', 0, 2, 1, 1, 40, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-010-01', 0, 'B2-038-010-01', 0, 2, 1, 1, 40, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-011-01', 0, 'B2-038-011-01', 0, 2, 1, 1, 40, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-038-012-01', 0, 'B2-038-012-01', 0, 2, 1, 1, 40, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-001-01', 0, 'B2-039-001-01', 0, 2, 1, 1, 41, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-002-01', 0, 'B2-039-002-01', 0, 2, 1, 1, 41, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-003-01', 0, 'B2-039-003-01', 0, 2, 1, 1, 41, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-004-01', 0, 'B2-039-004-01', 0, 2, 1, 1, 41, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-005-01', 0, 'B2-039-005-01', 0, 2, 1, 1, 41, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-006-01', 0, 'B2-039-006-01', 0, 2, 1, 1, 41, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-007-01', 0, 'B2-039-007-01', 0, 2, 1, 1, 41, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-008-01', 0, 'B2-039-008-01', 0, 2, 1, 1, 41, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-009-01', 0, 'B2-039-009-01', 0, 2, 1, 1, 41, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-010-01', 0, 'B2-039-010-01', 0, 2, 1, 1, 41, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-011-01', 0, 'B2-039-011-01', 0, 2, 1, 1, 41, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-039-012-01', 0, 'B2-039-012-01', 0, 2, 1, 1, 41, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-001-01', 0, 'B2-040-001-01', 0, 2, 1, 1, 42, 1, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-002-01', 0, 'B2-040-002-01', 0, 2, 1, 1, 42, 2, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-003-01', 0, 'B2-040-003-01', 0, 2, 1, 1, 42, 3, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-004-01', 0, 'B2-040-004-01', 0, 2, 1, 1, 42, 4, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-005-01', 0, 'B2-040-005-01', 0, 2, 1, 1, 42, 5, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-006-01', 0, 'B2-040-006-01', 0, 2, 1, 1, 42, 6, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-007-01', 0, 'B2-040-007-01', 0, 2, 1, 1, 42, 7, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-008-01', 0, 'B2-040-008-01', 0, 2, 1, 1, 42, 8, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-009-01', 0, 'B2-040-009-01', 0, 2, 1, 1, 42, 9, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-010-01', 0, 'B2-040-010-01', 0, 2, 1, 1, 42, 10, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-011-01', 0, 'B2-040-011-01', 0, 2, 1, 1, 42, 11, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('B2-040-012-01', 0, 'B2-040-012-01', 0, 2, 1, 1, 42, 12, 1, NULL, NULL, '2025-06-04 14:09:58', '2025-06-04 14:09:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-01-1', 0, 'C1-001-01-1', 0, 1, 2, 1, 1, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-01-2', 0, 'C1-001-01-2', 0, 1, 2, 1, 1, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-02-1', 0, 'C1-001-02-1', 0, 1, 2, 1, 1, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-02-2', 0, 'C1-001-02-2', 0, 1, 2, 1, 1, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-03-1', 0, 'C1-001-03-1', 0, 1, 2, 1, 1, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-03-2', 0, 'C1-001-03-2', 0, 1, 2, 1, 1, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-04-1', 0, 'C1-001-04-1', 0, 1, 2, 1, 1, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-04-2', 0, 'C1-001-04-2', 0, 1, 2, 1, 1, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-05-1', 0, 'C1-001-05-1', 0, 1, 2, 1, 1, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-05-2', 0, 'C1-001-05-2', 0, 1, 2, 1, 1, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-06-1', 0, 'C1-001-06-1', 0, 1, 2, 1, 1, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-06-2', 0, 'C1-001-06-2', 0, 1, 2, 1, 1, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-07-1', 0, 'C1-001-07-1', 0, 1, 2, 1, 1, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-07-2', 0, 'C1-001-07-2', 0, 1, 2, 1, 1, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-08-1', 2, 'C1-001-08-1', 0, 1, 2, 1, 1, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-08-2', 0, 'C1-001-08-2', 0, 1, 2, 1, 1, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-09-1', 0, 'C1-001-09-1', 0, 1, 2, 1, 1, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-09-2', 0, 'C1-001-09-2', 0, 1, 2, 1, 1, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-10-1', 0, 'C1-001-10-1', 0, 1, 2, 1, 1, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-10-2', 9, 'C1-001-10-2', 0, 1, 2, 1, 1, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-11-1', 0, 'C1-001-11-1', 0, 1, 2, 1, 1, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-11-2', 0, 'C1-001-11-2', 0, 1, 2, 1, 1, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-12-1', 2, 'C1-001-12-1', 0, 1, 2, 1, 1, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-12-2', 0, 'C1-001-12-2', 0, 1, 2, 1, 1, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-13-1', 0, 'C1-001-13-1', 0, 1, 2, 1, 1, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-13-2', 0, 'C1-001-13-2', 0, 1, 2, 1, 1, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-14-1', 0, 'C1-001-14-1', 0, 1, 2, 1, 1, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-14-2', 0, 'C1-001-14-2', 0, 1, 2, 1, 1, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-15-1', 0, 'C1-001-15-1', 0, 1, 2, 1, 1, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-001-15-2', 0, 'C1-001-15-2', 0, 1, 2, 1, 1, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-01-1', 0, 'C1-002-01-1', 0, 1, 2, 1, 2, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-01-2', 0, 'C1-002-01-2', 0, 1, 2, 1, 2, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-02-1', 0, 'C1-002-02-1', 0, 1, 2, 1, 2, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-02-2', 0, 'C1-002-02-2', 0, 1, 2, 1, 2, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-03-1', 0, 'C1-002-03-1', 0, 1, 2, 1, 2, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-03-2', 0, 'C1-002-03-2', 0, 1, 2, 1, 2, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-04-1', 0, 'C1-002-04-1', 0, 1, 2, 1, 2, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-04-2', 0, 'C1-002-04-2', 0, 1, 2, 1, 2, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-05-1', 1, 'C1-002-05-1', 0, 1, 2, 1, 2, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-05-2', 0, 'C1-002-05-2', 0, 1, 2, 1, 2, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-06-1', 0, 'C1-002-06-1', 0, 1, 2, 1, 2, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-06-2', 0, 'C1-002-06-2', 0, 1, 2, 1, 2, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-07-1', 0, 'C1-002-07-1', 0, 1, 2, 1, 2, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-07-2', 0, 'C1-002-07-2', 0, 1, 2, 1, 2, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-08-1', 0, 'C1-002-08-1', 0, 1, 2, 1, 2, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-08-2', 0, 'C1-002-08-2', 0, 1, 2, 1, 2, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-09-1', 0, 'C1-002-09-1', 0, 1, 2, 1, 2, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-09-2', 0, 'C1-002-09-2', 0, 1, 2, 1, 2, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-10-1', 0, 'C1-002-10-1', 0, 1, 2, 1, 2, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-10-2', 0, 'C1-002-10-2', 0, 1, 2, 1, 2, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-11-1', 0, 'C1-002-11-1', 0, 1, 2, 1, 2, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-11-2', 0, 'C1-002-11-2', 0, 1, 2, 1, 2, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-12-1', 0, 'C1-002-12-1', 0, 1, 2, 1, 2, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-12-2', 3, 'C1-002-12-2', 0, 1, 2, 1, 2, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-13-1', 0, 'C1-002-13-1', 0, 1, 2, 1, 2, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-13-2', 0, 'C1-002-13-2', 0, 1, 2, 1, 2, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-14-1', 0, 'C1-002-14-1', 0, 1, 2, 1, 2, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-14-2', 0, 'C1-002-14-2', 0, 1, 2, 1, 2, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-15-1', 0, 'C1-002-15-1', 0, 1, 2, 1, 2, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-002-15-2', 0, 'C1-002-15-2', 0, 1, 2, 1, 2, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-01-1', 0, 'C1-003-01-1', 0, 1, 2, 1, 3, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-01-2', 0, 'C1-003-01-2', 0, 1, 2, 1, 3, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-02-1', 0, 'C1-003-02-1', 0, 1, 2, 1, 3, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-02-2', 0, 'C1-003-02-2', 0, 1, 2, 1, 3, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-03-1', 0, 'C1-003-03-1', 0, 1, 2, 1, 3, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-03-2', 0, 'C1-003-03-2', 0, 1, 2, 1, 3, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-04-1', 0, 'C1-003-04-1', 0, 1, 2, 1, 3, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-04-2', 0, 'C1-003-04-2', 0, 1, 2, 1, 3, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-05-1', 0, 'C1-003-05-1', 0, 1, 2, 1, 3, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-05-2', 0, 'C1-003-05-2', 0, 1, 2, 1, 3, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-06-1', 0, 'C1-003-06-1', 0, 1, 2, 1, 3, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-06-2', 0, 'C1-003-06-2', 0, 1, 2, 1, 3, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-07-1', 0, 'C1-003-07-1', 0, 1, 2, 1, 3, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-07-2', 0, 'C1-003-07-2', 0, 1, 2, 1, 3, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-08-1', 0, 'C1-003-08-1', 0, 1, 2, 1, 3, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-08-2', 3, 'C1-003-08-2', 0, 1, 2, 1, 3, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-09-1', 0, 'C1-003-09-1', 0, 1, 2, 1, 3, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-09-2', 0, 'C1-003-09-2', 0, 1, 2, 1, 3, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-10-1', 0, 'C1-003-10-1', 0, 1, 2, 1, 3, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-10-2', 2, 'C1-003-10-2', 0, 1, 2, 1, 3, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-11-1', 0, 'C1-003-11-1', 0, 1, 2, 1, 3, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-11-2', 0, 'C1-003-11-2', 0, 1, 2, 1, 3, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-12-1', 0, 'C1-003-12-1', 0, 1, 2, 1, 3, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-12-2', 0, 'C1-003-12-2', 0, 1, 2, 1, 3, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-13-1', 0, 'C1-003-13-1', 0, 1, 2, 1, 3, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-13-2', 0, 'C1-003-13-2', 0, 1, 2, 1, 3, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-14-1', 0, 'C1-003-14-1', 0, 1, 2, 1, 3, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-14-2', 0, 'C1-003-14-2', 0, 1, 2, 1, 3, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-15-1', 0, 'C1-003-15-1', 0, 1, 2, 1, 3, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-003-15-2', 0, 'C1-003-15-2', 0, 1, 2, 1, 3, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-01-1', 0, 'C1-004-01-1', 0, 1, 2, 1, 4, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-01-2', 0, 'C1-004-01-2', 0, 1, 2, 1, 4, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-02-1', 0, 'C1-004-02-1', 0, 1, 2, 1, 4, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-02-2', 0, 'C1-004-02-2', 0, 1, 2, 1, 4, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-03-1', 0, 'C1-004-03-1', 0, 1, 2, 1, 4, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-03-2', 0, 'C1-004-03-2', 0, 1, 2, 1, 4, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-04-1', 0, 'C1-004-04-1', 0, 1, 2, 1, 4, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-04-2', 0, 'C1-004-04-2', 0, 1, 2, 1, 4, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-05-1', 0, 'C1-004-05-1', 0, 1, 2, 1, 4, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-05-2', 0, 'C1-004-05-2', 0, 1, 2, 1, 4, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-06-1', 0, 'C1-004-06-1', 0, 1, 2, 1, 4, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-06-2', 0, 'C1-004-06-2', 0, 1, 2, 1, 4, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-07-1', 0, 'C1-004-07-1', 0, 1, 2, 1, 4, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-07-2', 0, 'C1-004-07-2', 0, 1, 2, 1, 4, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-08-1', 0, 'C1-004-08-1', 0, 1, 2, 1, 4, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-08-2', 0, 'C1-004-08-2', 0, 1, 2, 1, 4, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-09-1', 0, 'C1-004-09-1', 0, 1, 2, 1, 4, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-09-2', 0, 'C1-004-09-2', 0, 1, 2, 1, 4, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-10-1', 0, 'C1-004-10-1', 0, 1, 2, 1, 4, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-10-2', 0, 'C1-004-10-2', 0, 1, 2, 1, 4, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-11-1', 0, 'C1-004-11-1', 0, 1, 2, 1, 4, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-11-2', 0, 'C1-004-11-2', 0, 1, 2, 1, 4, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-12-1', 0, 'C1-004-12-1', 0, 1, 2, 1, 4, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-12-2', 0, 'C1-004-12-2', 0, 1, 2, 1, 4, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-13-1', 0, 'C1-004-13-1', 0, 1, 2, 1, 4, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-13-2', 0, 'C1-004-13-2', 0, 1, 2, 1, 4, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-14-1', 0, 'C1-004-14-1', 0, 1, 2, 1, 4, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-14-2', 0, 'C1-004-14-2', 0, 1, 2, 1, 4, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-15-1', 0, 'C1-004-15-1', 0, 1, 2, 1, 4, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-004-15-2', 0, 'C1-004-15-2', 0, 1, 2, 1, 4, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-01-1', 0, 'C1-005-01-1', 0, 1, 2, 1, 5, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-01-2', 0, 'C1-005-01-2', 0, 1, 2, 1, 5, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-02-1', 0, 'C1-005-02-1', 0, 1, 2, 1, 5, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-02-2', 0, 'C1-005-02-2', 0, 1, 2, 1, 5, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-03-1', 0, 'C1-005-03-1', 0, 1, 2, 1, 5, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-03-2', 0, 'C1-005-03-2', 0, 1, 2, 1, 5, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-04-1', 0, 'C1-005-04-1', 0, 1, 2, 1, 5, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-04-2', 0, 'C1-005-04-2', 0, 1, 2, 1, 5, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-05-1', 0, 'C1-005-05-1', 0, 1, 2, 1, 5, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-05-2', 0, 'C1-005-05-2', 0, 1, 2, 1, 5, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-06-1', 0, 'C1-005-06-1', 0, 1, 2, 1, 5, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-06-2', 0, 'C1-005-06-2', 0, 1, 2, 1, 5, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-07-1', 0, 'C1-005-07-1', 0, 1, 2, 1, 5, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-07-2', 0, 'C1-005-07-2', 0, 1, 2, 1, 5, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-08-1', 0, 'C1-005-08-1', 0, 1, 2, 1, 5, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-08-2', 0, 'C1-005-08-2', 0, 1, 2, 1, 5, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-09-1', 0, 'C1-005-09-1', 0, 1, 2, 1, 5, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-09-2', 0, 'C1-005-09-2', 0, 1, 2, 1, 5, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-10-1', 0, 'C1-005-10-1', 0, 1, 2, 1, 5, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-10-2', 0, 'C1-005-10-2', 0, 1, 2, 1, 5, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-11-1', 0, 'C1-005-11-1', 0, 1, 2, 1, 5, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-11-2', 0, 'C1-005-11-2', 0, 1, 2, 1, 5, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-12-1', 0, 'C1-005-12-1', 0, 1, 2, 1, 5, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-12-2', 0, 'C1-005-12-2', 0, 1, 2, 1, 5, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-13-1', 0, 'C1-005-13-1', 0, 1, 2, 1, 5, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-13-2', 0, 'C1-005-13-2', 0, 1, 2, 1, 5, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-14-1', 0, 'C1-005-14-1', 0, 1, 2, 1, 5, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-14-2', 0, 'C1-005-14-2', 0, 1, 2, 1, 5, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-15-1', 0, 'C1-005-15-1', 0, 1, 2, 1, 5, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-005-15-2', 0, 'C1-005-15-2', 0, 1, 2, 1, 5, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-01-1', 0, 'C1-006-01-1', 0, 1, 2, 1, 6, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-01-2', 0, 'C1-006-01-2', 0, 1, 2, 1, 6, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-02-1', 0, 'C1-006-02-1', 0, 1, 2, 1, 6, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-02-2', 0, 'C1-006-02-2', 0, 1, 2, 1, 6, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-03-1', 0, 'C1-006-03-1', 0, 1, 2, 1, 6, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-03-2', 0, 'C1-006-03-2', 0, 1, 2, 1, 6, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-04-1', 0, 'C1-006-04-1', 0, 1, 2, 1, 6, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-04-2', 0, 'C1-006-04-2', 0, 1, 2, 1, 6, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-05-1', 0, 'C1-006-05-1', 0, 1, 2, 1, 6, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-05-2', 0, 'C1-006-05-2', 0, 1, 2, 1, 6, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-06-1', 0, 'C1-006-06-1', 0, 1, 2, 1, 6, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-06-2', 0, 'C1-006-06-2', 0, 1, 2, 1, 6, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-07-1', 0, 'C1-006-07-1', 0, 1, 2, 1, 6, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-07-2', 0, 'C1-006-07-2', 0, 1, 2, 1, 6, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-08-1', 0, 'C1-006-08-1', 0, 1, 2, 1, 6, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-08-2', 0, 'C1-006-08-2', 0, 1, 2, 1, 6, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-09-1', 0, 'C1-006-09-1', 0, 1, 2, 1, 6, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-09-2', 0, 'C1-006-09-2', 0, 1, 2, 1, 6, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-10-1', 0, 'C1-006-10-1', 0, 1, 2, 1, 6, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-10-2', 0, 'C1-006-10-2', 0, 1, 2, 1, 6, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-11-1', 0, 'C1-006-11-1', 0, 1, 2, 1, 6, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-11-2', 0, 'C1-006-11-2', 0, 1, 2, 1, 6, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-12-1', 0, 'C1-006-12-1', 0, 1, 2, 1, 6, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-12-2', 0, 'C1-006-12-2', 0, 1, 2, 1, 6, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-13-1', 0, 'C1-006-13-1', 0, 1, 2, 1, 6, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-13-2', 0, 'C1-006-13-2', 0, 1, 2, 1, 6, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-14-1', 0, 'C1-006-14-1', 0, 1, 2, 1, 6, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-14-2', 0, 'C1-006-14-2', 0, 1, 2, 1, 6, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-15-1', 0, 'C1-006-15-1', 0, 1, 2, 1, 6, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-006-15-2', 0, 'C1-006-15-2', 0, 1, 2, 1, 6, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-01-1', 0, 'C1-007-01-1', 0, 1, 2, 1, 7, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-01-2', 0, 'C1-007-01-2', 0, 1, 2, 1, 7, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-02-1', 0, 'C1-007-02-1', 0, 1, 2, 1, 7, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-02-2', 0, 'C1-007-02-2', 0, 1, 2, 1, 7, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-03-1', 0, 'C1-007-03-1', 0, 1, 2, 1, 7, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-03-2', 0, 'C1-007-03-2', 0, 1, 2, 1, 7, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-04-1', 0, 'C1-007-04-1', 0, 1, 2, 1, 7, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-04-2', 0, 'C1-007-04-2', 0, 1, 2, 1, 7, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-05-1', 0, 'C1-007-05-1', 0, 1, 2, 1, 7, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-05-2', 0, 'C1-007-05-2', 0, 1, 2, 1, 7, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-06-1', 0, 'C1-007-06-1', 0, 1, 2, 1, 7, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-06-2', 0, 'C1-007-06-2', 0, 1, 2, 1, 7, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-07-1', 0, 'C1-007-07-1', 0, 1, 2, 1, 7, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-07-2', 0, 'C1-007-07-2', 0, 1, 2, 1, 7, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-08-1', 0, 'C1-007-08-1', 0, 1, 2, 1, 7, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-08-2', 0, 'C1-007-08-2', 0, 1, 2, 1, 7, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-09-1', 0, 'C1-007-09-1', 0, 1, 2, 1, 7, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-09-2', 0, 'C1-007-09-2', 0, 1, 2, 1, 7, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-10-1', 0, 'C1-007-10-1', 0, 1, 2, 1, 7, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-10-2', 0, 'C1-007-10-2', 0, 1, 2, 1, 7, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-11-1', 0, 'C1-007-11-1', 0, 1, 2, 1, 7, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-11-2', 0, 'C1-007-11-2', 0, 1, 2, 1, 7, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-12-1', 0, 'C1-007-12-1', 0, 1, 2, 1, 7, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-12-2', 0, 'C1-007-12-2', 0, 1, 2, 1, 7, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-13-1', 0, 'C1-007-13-1', 0, 1, 2, 1, 7, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-13-2', 0, 'C1-007-13-2', 0, 1, 2, 1, 7, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-14-1', 0, 'C1-007-14-1', 0, 1, 2, 1, 7, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-14-2', 0, 'C1-007-14-2', 0, 1, 2, 1, 7, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-15-1', 0, 'C1-007-15-1', 0, 1, 2, 1, 7, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-007-15-2', 0, 'C1-007-15-2', 0, 1, 2, 1, 7, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-01-1', 0, 'C1-008-01-1', 0, 1, 2, 1, 8, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-01-2', 0, 'C1-008-01-2', 0, 1, 2, 1, 8, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-02-1', 0, 'C1-008-02-1', 0, 1, 2, 1, 8, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-02-2', 0, 'C1-008-02-2', 0, 1, 2, 1, 8, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-03-1', 0, 'C1-008-03-1', 0, 1, 2, 1, 8, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-03-2', 0, 'C1-008-03-2', 0, 1, 2, 1, 8, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-04-1', 0, 'C1-008-04-1', 0, 1, 2, 1, 8, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-04-2', 0, 'C1-008-04-2', 0, 1, 2, 1, 8, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-05-1', 0, 'C1-008-05-1', 0, 1, 2, 1, 8, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-05-2', 0, 'C1-008-05-2', 0, 1, 2, 1, 8, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-06-1', 0, 'C1-008-06-1', 0, 1, 2, 1, 8, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-06-2', 0, 'C1-008-06-2', 0, 1, 2, 1, 8, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-07-1', 0, 'C1-008-07-1', 0, 1, 2, 1, 8, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-07-2', 0, 'C1-008-07-2', 0, 1, 2, 1, 8, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-08-1', 0, 'C1-008-08-1', 0, 1, 2, 1, 8, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-08-2', 0, 'C1-008-08-2', 0, 1, 2, 1, 8, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-09-1', 0, 'C1-008-09-1', 0, 1, 2, 1, 8, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-09-2', 0, 'C1-008-09-2', 0, 1, 2, 1, 8, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-10-1', 0, 'C1-008-10-1', 0, 1, 2, 1, 8, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-10-2', 0, 'C1-008-10-2', 0, 1, 2, 1, 8, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-11-1', 0, 'C1-008-11-1', 0, 1, 2, 1, 8, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-11-2', 0, 'C1-008-11-2', 0, 1, 2, 1, 8, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-12-1', 0, 'C1-008-12-1', 0, 1, 2, 1, 8, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-12-2', 0, 'C1-008-12-2', 0, 1, 2, 1, 8, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-13-1', 0, 'C1-008-13-1', 0, 1, 2, 1, 8, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-13-2', 0, 'C1-008-13-2', 0, 1, 2, 1, 8, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-14-1', 0, 'C1-008-14-1', 0, 1, 2, 1, 8, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-14-2', 0, 'C1-008-14-2', 0, 1, 2, 1, 8, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-15-1', 0, 'C1-008-15-1', 0, 1, 2, 1, 8, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-008-15-2', 0, 'C1-008-15-2', 0, 1, 2, 1, 8, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-01-1', 0, 'C1-009-01-1', 0, 1, 2, 1, 9, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-01-2', 0, 'C1-009-01-2', 0, 1, 2, 1, 9, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-02-1', 0, 'C1-009-02-1', 0, 1, 2, 1, 9, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-02-2', 0, 'C1-009-02-2', 0, 1, 2, 1, 9, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-03-1', 0, 'C1-009-03-1', 0, 1, 2, 1, 9, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-03-2', 0, 'C1-009-03-2', 0, 1, 2, 1, 9, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-04-1', 0, 'C1-009-04-1', 0, 1, 2, 1, 9, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-04-2', 0, 'C1-009-04-2', 0, 1, 2, 1, 9, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-05-1', 0, 'C1-009-05-1', 0, 1, 2, 1, 9, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-05-2', 0, 'C1-009-05-2', 0, 1, 2, 1, 9, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-06-1', 0, 'C1-009-06-1', 0, 1, 2, 1, 9, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-06-2', 0, 'C1-009-06-2', 0, 1, 2, 1, 9, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-07-1', 0, 'C1-009-07-1', 0, 1, 2, 1, 9, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-07-2', 0, 'C1-009-07-2', 0, 1, 2, 1, 9, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-08-1', 0, 'C1-009-08-1', 0, 1, 2, 1, 9, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-08-2', 0, 'C1-009-08-2', 0, 1, 2, 1, 9, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-09-1', 0, 'C1-009-09-1', 0, 1, 2, 1, 9, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-09-2', 0, 'C1-009-09-2', 0, 1, 2, 1, 9, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-10-1', 0, 'C1-009-10-1', 0, 1, 2, 1, 9, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-10-2', 0, 'C1-009-10-2', 0, 1, 2, 1, 9, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-11-1', 0, 'C1-009-11-1', 0, 1, 2, 1, 9, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-11-2', 0, 'C1-009-11-2', 0, 1, 2, 1, 9, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-12-1', 0, 'C1-009-12-1', 0, 1, 2, 1, 9, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-12-2', 0, 'C1-009-12-2', 0, 1, 2, 1, 9, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-13-1', 0, 'C1-009-13-1', 0, 1, 2, 1, 9, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-13-2', 0, 'C1-009-13-2', 0, 1, 2, 1, 9, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-14-1', 0, 'C1-009-14-1', 0, 1, 2, 1, 9, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-14-2', 0, 'C1-009-14-2', 0, 1, 2, 1, 9, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-15-1', 0, 'C1-009-15-1', 0, 1, 2, 1, 9, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-009-15-2', 0, 'C1-009-15-2', 0, 1, 2, 1, 9, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-01-1', 0, 'C1-010-01-1', 0, 1, 2, 1, 10, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-01-2', 0, 'C1-010-01-2', 0, 1, 2, 1, 10, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-02-1', 0, 'C1-010-02-1', 0, 1, 2, 1, 10, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-02-2', 0, 'C1-010-02-2', 0, 1, 2, 1, 10, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-03-1', 0, 'C1-010-03-1', 0, 1, 2, 1, 10, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-03-2', 0, 'C1-010-03-2', 0, 1, 2, 1, 10, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-04-1', 0, 'C1-010-04-1', 0, 1, 2, 1, 10, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-04-2', 0, 'C1-010-04-2', 0, 1, 2, 1, 10, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-05-1', 0, 'C1-010-05-1', 0, 1, 2, 1, 10, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-05-2', 0, 'C1-010-05-2', 0, 1, 2, 1, 10, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-06-1', 0, 'C1-010-06-1', 0, 1, 2, 1, 10, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-06-2', 0, 'C1-010-06-2', 0, 1, 2, 1, 10, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-07-1', 0, 'C1-010-07-1', 0, 1, 2, 1, 10, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-07-2', 0, 'C1-010-07-2', 0, 1, 2, 1, 10, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-08-1', 0, 'C1-010-08-1', 0, 1, 2, 1, 10, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-08-2', 0, 'C1-010-08-2', 0, 1, 2, 1, 10, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-09-1', 0, 'C1-010-09-1', 0, 1, 2, 1, 10, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-09-2', 0, 'C1-010-09-2', 0, 1, 2, 1, 10, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-10-1', 0, 'C1-010-10-1', 0, 1, 2, 1, 10, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-10-2', 0, 'C1-010-10-2', 0, 1, 2, 1, 10, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-11-1', 0, 'C1-010-11-1', 0, 1, 2, 1, 10, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-11-2', 0, 'C1-010-11-2', 0, 1, 2, 1, 10, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-12-1', 0, 'C1-010-12-1', 0, 1, 2, 1, 10, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-12-2', 0, 'C1-010-12-2', 0, 1, 2, 1, 10, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-13-1', 0, 'C1-010-13-1', 0, 1, 2, 1, 10, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-13-2', 0, 'C1-010-13-2', 0, 1, 2, 1, 10, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-14-1', 0, 'C1-010-14-1', 0, 1, 2, 1, 10, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-14-2', 0, 'C1-010-14-2', 0, 1, 2, 1, 10, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-15-1', 0, 'C1-010-15-1', 0, 1, 2, 1, 10, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-010-15-2', 0, 'C1-010-15-2', 0, 1, 2, 1, 10, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-01-1', 0, 'C1-011-01-1', 0, 1, 2, 1, 11, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-01-2', 0, 'C1-011-01-2', 0, 1, 2, 1, 11, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-02-1', 0, 'C1-011-02-1', 0, 1, 2, 1, 11, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-02-2', 0, 'C1-011-02-2', 0, 1, 2, 1, 11, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-03-1', 0, 'C1-011-03-1', 0, 1, 2, 1, 11, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-03-2', 0, 'C1-011-03-2', 0, 1, 2, 1, 11, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-04-1', 0, 'C1-011-04-1', 0, 1, 2, 1, 11, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-04-2', 0, 'C1-011-04-2', 0, 1, 2, 1, 11, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-05-1', 0, 'C1-011-05-1', 0, 1, 2, 1, 11, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-05-2', 0, 'C1-011-05-2', 0, 1, 2, 1, 11, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-06-1', 0, 'C1-011-06-1', 0, 1, 2, 1, 11, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-06-2', 0, 'C1-011-06-2', 0, 1, 2, 1, 11, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-07-1', 0, 'C1-011-07-1', 0, 1, 2, 1, 11, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-07-2', 0, 'C1-011-07-2', 0, 1, 2, 1, 11, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-08-1', 0, 'C1-011-08-1', 0, 1, 2, 1, 11, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-08-2', 0, 'C1-011-08-2', 0, 1, 2, 1, 11, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-09-1', 0, 'C1-011-09-1', 0, 1, 2, 1, 11, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-09-2', 0, 'C1-011-09-2', 0, 1, 2, 1, 11, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-10-1', 0, 'C1-011-10-1', 0, 1, 2, 1, 11, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-10-2', 0, 'C1-011-10-2', 0, 1, 2, 1, 11, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-11-1', 0, 'C1-011-11-1', 0, 1, 2, 1, 11, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-11-2', 0, 'C1-011-11-2', 0, 1, 2, 1, 11, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-12-1', 0, 'C1-011-12-1', 0, 1, 2, 1, 11, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-12-2', 0, 'C1-011-12-2', 0, 1, 2, 1, 11, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-13-1', 0, 'C1-011-13-1', 0, 1, 2, 1, 11, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-13-2', 0, 'C1-011-13-2', 0, 1, 2, 1, 11, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-14-1', 0, 'C1-011-14-1', 0, 1, 2, 1, 11, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-14-2', 0, 'C1-011-14-2', 0, 1, 2, 1, 11, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-15-1', 0, 'C1-011-15-1', 0, 1, 2, 1, 11, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-011-15-2', 0, 'C1-011-15-2', 0, 1, 2, 1, 11, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-01-1', 0, 'C1-012-01-1', 0, 1, 2, 1, 12, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-01-2', 0, 'C1-012-01-2', 0, 1, 2, 1, 12, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-02-1', 0, 'C1-012-02-1', 0, 1, 2, 1, 12, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-02-2', 0, 'C1-012-02-2', 0, 1, 2, 1, 12, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-03-1', 0, 'C1-012-03-1', 0, 1, 2, 1, 12, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-03-2', 0, 'C1-012-03-2', 0, 1, 2, 1, 12, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-04-1', 0, 'C1-012-04-1', 0, 1, 2, 1, 12, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-04-2', 0, 'C1-012-04-2', 0, 1, 2, 1, 12, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-05-1', 0, 'C1-012-05-1', 0, 1, 2, 1, 12, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-05-2', 0, 'C1-012-05-2', 0, 1, 2, 1, 12, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-06-1', 0, 'C1-012-06-1', 0, 1, 2, 1, 12, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-06-2', 0, 'C1-012-06-2', 0, 1, 2, 1, 12, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-07-1', 0, 'C1-012-07-1', 0, 1, 2, 1, 12, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-07-2', 0, 'C1-012-07-2', 0, 1, 2, 1, 12, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-08-1', 0, 'C1-012-08-1', 0, 1, 2, 1, 12, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-08-2', 0, 'C1-012-08-2', 0, 1, 2, 1, 12, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-09-1', 0, 'C1-012-09-1', 0, 1, 2, 1, 12, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-09-2', 0, 'C1-012-09-2', 0, 1, 2, 1, 12, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-10-1', 0, 'C1-012-10-1', 0, 1, 2, 1, 12, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-10-2', 0, 'C1-012-10-2', 0, 1, 2, 1, 12, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-11-1', 0, 'C1-012-11-1', 0, 1, 2, 1, 12, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-11-2', 0, 'C1-012-11-2', 0, 1, 2, 1, 12, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-12-1', 0, 'C1-012-12-1', 0, 1, 2, 1, 12, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-12-2', 0, 'C1-012-12-2', 0, 1, 2, 1, 12, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-13-1', 0, 'C1-012-13-1', 0, 1, 2, 1, 12, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-13-2', 0, 'C1-012-13-2', 0, 1, 2, 1, 12, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-14-1', 0, 'C1-012-14-1', 0, 1, 2, 1, 12, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-14-2', 0, 'C1-012-14-2', 0, 1, 2, 1, 12, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-15-1', 0, 'C1-012-15-1', 0, 1, 2, 1, 12, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-012-15-2', 0, 'C1-012-15-2', 0, 1, 2, 1, 12, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-01-1', 0, 'C1-013-01-1', 0, 1, 2, 1, 13, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-01-2', 0, 'C1-013-01-2', 0, 1, 2, 1, 13, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-02-1', 0, 'C1-013-02-1', 0, 1, 2, 1, 13, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-02-2', 0, 'C1-013-02-2', 0, 1, 2, 1, 13, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-03-1', 0, 'C1-013-03-1', 0, 1, 2, 1, 13, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-03-2', 0, 'C1-013-03-2', 0, 1, 2, 1, 13, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-04-1', 0, 'C1-013-04-1', 0, 1, 2, 1, 13, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-04-2', 0, 'C1-013-04-2', 0, 1, 2, 1, 13, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-05-1', 0, 'C1-013-05-1', 0, 1, 2, 1, 13, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-05-2', 0, 'C1-013-05-2', 0, 1, 2, 1, 13, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-06-1', 0, 'C1-013-06-1', 0, 1, 2, 1, 13, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-06-2', 0, 'C1-013-06-2', 0, 1, 2, 1, 13, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-07-1', 0, 'C1-013-07-1', 0, 1, 2, 1, 13, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-07-2', 0, 'C1-013-07-2', 0, 1, 2, 1, 13, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-08-1', 0, 'C1-013-08-1', 0, 1, 2, 1, 13, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-08-2', 0, 'C1-013-08-2', 0, 1, 2, 1, 13, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-09-1', 0, 'C1-013-09-1', 0, 1, 2, 1, 13, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-09-2', 0, 'C1-013-09-2', 0, 1, 2, 1, 13, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-10-1', 0, 'C1-013-10-1', 0, 1, 2, 1, 13, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-10-2', 0, 'C1-013-10-2', 0, 1, 2, 1, 13, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-11-1', 0, 'C1-013-11-1', 0, 1, 2, 1, 13, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-11-2', 0, 'C1-013-11-2', 0, 1, 2, 1, 13, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-12-1', 0, 'C1-013-12-1', 0, 1, 2, 1, 13, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-12-2', 0, 'C1-013-12-2', 0, 1, 2, 1, 13, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-13-1', 0, 'C1-013-13-1', 0, 1, 2, 1, 13, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-13-2', 0, 'C1-013-13-2', 0, 1, 2, 1, 13, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-14-1', 0, 'C1-013-14-1', 0, 1, 2, 1, 13, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-14-2', 0, 'C1-013-14-2', 0, 1, 2, 1, 13, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-15-1', 0, 'C1-013-15-1', 0, 1, 2, 1, 13, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-013-15-2', 0, 'C1-013-15-2', 0, 1, 2, 1, 13, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-01-1', 0, 'C1-014-01-1', 0, 1, 2, 1, 14, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-01-2', 0, 'C1-014-01-2', 0, 1, 2, 1, 14, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-02-1', 0, 'C1-014-02-1', 0, 1, 2, 1, 14, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-02-2', 0, 'C1-014-02-2', 0, 1, 2, 1, 14, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-03-1', 0, 'C1-014-03-1', 0, 1, 2, 1, 14, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-03-2', 0, 'C1-014-03-2', 0, 1, 2, 1, 14, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-04-1', 0, 'C1-014-04-1', 0, 1, 2, 1, 14, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-04-2', 0, 'C1-014-04-2', 0, 1, 2, 1, 14, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-05-1', 0, 'C1-014-05-1', 0, 1, 2, 1, 14, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-05-2', 0, 'C1-014-05-2', 0, 1, 2, 1, 14, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-06-1', 0, 'C1-014-06-1', 0, 1, 2, 1, 14, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-06-2', 0, 'C1-014-06-2', 0, 1, 2, 1, 14, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-07-1', 0, 'C1-014-07-1', 0, 1, 2, 1, 14, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-07-2', 0, 'C1-014-07-2', 0, 1, 2, 1, 14, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-08-1', 0, 'C1-014-08-1', 0, 1, 2, 1, 14, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-08-2', 0, 'C1-014-08-2', 0, 1, 2, 1, 14, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-09-1', 0, 'C1-014-09-1', 0, 1, 2, 1, 14, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-09-2', 0, 'C1-014-09-2', 0, 1, 2, 1, 14, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-10-1', 0, 'C1-014-10-1', 0, 1, 2, 1, 14, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-10-2', 0, 'C1-014-10-2', 0, 1, 2, 1, 14, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-11-1', 0, 'C1-014-11-1', 0, 1, 2, 1, 14, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-11-2', 0, 'C1-014-11-2', 0, 1, 2, 1, 14, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-12-1', 0, 'C1-014-12-1', 0, 1, 2, 1, 14, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-12-2', 0, 'C1-014-12-2', 0, 1, 2, 1, 14, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-13-1', 0, 'C1-014-13-1', 0, 1, 2, 1, 14, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-13-2', 0, 'C1-014-13-2', 0, 1, 2, 1, 14, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-14-1', 0, 'C1-014-14-1', 0, 1, 2, 1, 14, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-14-2', 0, 'C1-014-14-2', 0, 1, 2, 1, 14, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-15-1', 0, 'C1-014-15-1', 0, 1, 2, 1, 14, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-014-15-2', 0, 'C1-014-15-2', 0, 1, 2, 1, 14, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-01-1', 0, 'C1-015-01-1', 0, 1, 2, 1, 15, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-01-2', 0, 'C1-015-01-2', 0, 1, 2, 1, 15, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-02-1', 0, 'C1-015-02-1', 0, 1, 2, 1, 15, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-02-2', 0, 'C1-015-02-2', 0, 1, 2, 1, 15, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-03-1', 0, 'C1-015-03-1', 0, 1, 2, 1, 15, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-03-2', 0, 'C1-015-03-2', 0, 1, 2, 1, 15, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-04-1', 0, 'C1-015-04-1', 0, 1, 2, 1, 15, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-04-2', 0, 'C1-015-04-2', 0, 1, 2, 1, 15, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-05-1', 0, 'C1-015-05-1', 0, 1, 2, 1, 15, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-05-2', 0, 'C1-015-05-2', 0, 1, 2, 1, 15, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-06-1', 0, 'C1-015-06-1', 0, 1, 2, 1, 15, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-06-2', 0, 'C1-015-06-2', 0, 1, 2, 1, 15, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-07-1', 0, 'C1-015-07-1', 0, 1, 2, 1, 15, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-07-2', 0, 'C1-015-07-2', 0, 1, 2, 1, 15, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-08-1', 0, 'C1-015-08-1', 0, 1, 2, 1, 15, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-08-2', 0, 'C1-015-08-2', 0, 1, 2, 1, 15, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-09-1', 0, 'C1-015-09-1', 0, 1, 2, 1, 15, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-09-2', 0, 'C1-015-09-2', 0, 1, 2, 1, 15, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-10-1', 0, 'C1-015-10-1', 0, 1, 2, 1, 15, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-10-2', 0, 'C1-015-10-2', 0, 1, 2, 1, 15, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-11-1', 0, 'C1-015-11-1', 0, 1, 2, 1, 15, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-11-2', 0, 'C1-015-11-2', 0, 1, 2, 1, 15, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-12-1', 0, 'C1-015-12-1', 0, 1, 2, 1, 15, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-12-2', 0, 'C1-015-12-2', 0, 1, 2, 1, 15, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-13-1', 0, 'C1-015-13-1', 0, 1, 2, 1, 15, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-13-2', 0, 'C1-015-13-2', 0, 1, 2, 1, 15, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-14-1', 0, 'C1-015-14-1', 0, 1, 2, 1, 15, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-14-2', 0, 'C1-015-14-2', 0, 1, 2, 1, 15, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-15-1', 0, 'C1-015-15-1', 0, 1, 2, 1, 15, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-015-15-2', 0, 'C1-015-15-2', 0, 1, 2, 1, 15, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-01-1', 0, 'C1-016-01-1', 0, 1, 2, 1, 16, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-01-2', 0, 'C1-016-01-2', 0, 1, 2, 1, 16, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-02-1', 0, 'C1-016-02-1', 0, 1, 2, 1, 16, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-02-2', 0, 'C1-016-02-2', 0, 1, 2, 1, 16, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-03-1', 0, 'C1-016-03-1', 0, 1, 2, 1, 16, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-03-2', 0, 'C1-016-03-2', 0, 1, 2, 1, 16, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-04-1', 0, 'C1-016-04-1', 0, 1, 2, 1, 16, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-04-2', 0, 'C1-016-04-2', 0, 1, 2, 1, 16, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-05-1', 0, 'C1-016-05-1', 0, 1, 2, 1, 16, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-05-2', 0, 'C1-016-05-2', 0, 1, 2, 1, 16, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-06-1', 0, 'C1-016-06-1', 0, 1, 2, 1, 16, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-06-2', 0, 'C1-016-06-2', 0, 1, 2, 1, 16, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-07-1', 0, 'C1-016-07-1', 0, 1, 2, 1, 16, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-07-2', 0, 'C1-016-07-2', 0, 1, 2, 1, 16, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-08-1', 0, 'C1-016-08-1', 0, 1, 2, 1, 16, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-08-2', 0, 'C1-016-08-2', 0, 1, 2, 1, 16, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-09-1', 0, 'C1-016-09-1', 0, 1, 2, 1, 16, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-09-2', 0, 'C1-016-09-2', 0, 1, 2, 1, 16, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-10-1', 0, 'C1-016-10-1', 0, 1, 2, 1, 16, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-10-2', 0, 'C1-016-10-2', 0, 1, 2, 1, 16, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-11-1', 0, 'C1-016-11-1', 0, 1, 2, 1, 16, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-11-2', 0, 'C1-016-11-2', 0, 1, 2, 1, 16, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-12-1', 0, 'C1-016-12-1', 0, 1, 2, 1, 16, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-12-2', 0, 'C1-016-12-2', 0, 1, 2, 1, 16, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-13-1', 0, 'C1-016-13-1', 0, 1, 2, 1, 16, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-13-2', 0, 'C1-016-13-2', 0, 1, 2, 1, 16, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-14-1', 0, 'C1-016-14-1', 0, 1, 2, 1, 16, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-14-2', 0, 'C1-016-14-2', 0, 1, 2, 1, 16, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-15-1', 1, 'C1-016-15-1', 0, 1, 2, 1, 16, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-016-15-2', 0, 'C1-016-15-2', 0, 1, 2, 1, 16, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-01-1', 0, 'C1-017-01-1', 0, 1, 2, 1, 17, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-01-2', 0, 'C1-017-01-2', 0, 1, 2, 1, 17, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-02-1', 0, 'C1-017-02-1', 0, 1, 2, 1, 17, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-02-2', 0, 'C1-017-02-2', 0, 1, 2, 1, 17, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-03-1', 0, 'C1-017-03-1', 0, 1, 2, 1, 17, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-03-2', 0, 'C1-017-03-2', 0, 1, 2, 1, 17, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-04-1', 0, 'C1-017-04-1', 0, 1, 2, 1, 17, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-04-2', 0, 'C1-017-04-2', 0, 1, 2, 1, 17, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-05-1', 0, 'C1-017-05-1', 0, 1, 2, 1, 17, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-05-2', 0, 'C1-017-05-2', 0, 1, 2, 1, 17, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-06-1', 0, 'C1-017-06-1', 0, 1, 2, 1, 17, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-06-2', 0, 'C1-017-06-2', 0, 1, 2, 1, 17, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-07-1', 0, 'C1-017-07-1', 0, 1, 2, 1, 17, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-07-2', 0, 'C1-017-07-2', 0, 1, 2, 1, 17, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-08-1', 0, 'C1-017-08-1', 0, 1, 2, 1, 17, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-08-2', 0, 'C1-017-08-2', 0, 1, 2, 1, 17, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-09-1', 0, 'C1-017-09-1', 0, 1, 2, 1, 17, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-09-2', 0, 'C1-017-09-2', 0, 1, 2, 1, 17, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-10-1', 0, 'C1-017-10-1', 0, 1, 2, 1, 17, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-10-2', 0, 'C1-017-10-2', 0, 1, 2, 1, 17, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-11-1', 0, 'C1-017-11-1', 0, 1, 2, 1, 17, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-11-2', 0, 'C1-017-11-2', 0, 1, 2, 1, 17, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-12-1', 0, 'C1-017-12-1', 0, 1, 2, 1, 17, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-12-2', 0, 'C1-017-12-2', 0, 1, 2, 1, 17, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-13-1', 0, 'C1-017-13-1', 0, 1, 2, 1, 17, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-13-2', 0, 'C1-017-13-2', 0, 1, 2, 1, 17, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-14-1', 0, 'C1-017-14-1', 0, 1, 2, 1, 17, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-14-2', 0, 'C1-017-14-2', 0, 1, 2, 1, 17, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-15-1', 0, 'C1-017-15-1', 0, 1, 2, 1, 17, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-017-15-2', 0, 'C1-017-15-2', 0, 1, 2, 1, 17, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-01-1', 0, 'C1-018-01-1', 0, 1, 2, 1, 18, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-01-2', 0, 'C1-018-01-2', 0, 1, 2, 1, 18, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-02-1', 0, 'C1-018-02-1', 0, 1, 2, 1, 18, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-02-2', 0, 'C1-018-02-2', 0, 1, 2, 1, 18, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-03-1', 0, 'C1-018-03-1', 0, 1, 2, 1, 18, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-03-2', 0, 'C1-018-03-2', 0, 1, 2, 1, 18, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-04-1', 0, 'C1-018-04-1', 0, 1, 2, 1, 18, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-04-2', 0, 'C1-018-04-2', 0, 1, 2, 1, 18, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-05-1', 0, 'C1-018-05-1', 0, 1, 2, 1, 18, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-05-2', 0, 'C1-018-05-2', 0, 1, 2, 1, 18, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-06-1', 0, 'C1-018-06-1', 0, 1, 2, 1, 18, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-06-2', 0, 'C1-018-06-2', 0, 1, 2, 1, 18, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-07-1', 0, 'C1-018-07-1', 0, 1, 2, 1, 18, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-07-2', 0, 'C1-018-07-2', 0, 1, 2, 1, 18, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-08-1', 0, 'C1-018-08-1', 0, 1, 2, 1, 18, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-08-2', 0, 'C1-018-08-2', 0, 1, 2, 1, 18, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-09-1', 0, 'C1-018-09-1', 0, 1, 2, 1, 18, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-09-2', 0, 'C1-018-09-2', 0, 1, 2, 1, 18, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-10-1', 0, 'C1-018-10-1', 0, 1, 2, 1, 18, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-10-2', 0, 'C1-018-10-2', 0, 1, 2, 1, 18, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-11-1', 0, 'C1-018-11-1', 0, 1, 2, 1, 18, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-11-2', 0, 'C1-018-11-2', 0, 1, 2, 1, 18, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-12-1', 0, 'C1-018-12-1', 0, 1, 2, 1, 18, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-12-2', 0, 'C1-018-12-2', 0, 1, 2, 1, 18, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-13-1', 0, 'C1-018-13-1', 0, 1, 2, 1, 18, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-13-2', 0, 'C1-018-13-2', 0, 1, 2, 1, 18, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-14-1', 0, 'C1-018-14-1', 0, 1, 2, 1, 18, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-14-2', 0, 'C1-018-14-2', 0, 1, 2, 1, 18, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-15-1', 2, 'C1-018-15-1', 0, 1, 2, 1, 18, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-018-15-2', 0, 'C1-018-15-2', 0, 1, 2, 1, 18, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-01-1', 0, 'C1-019-01-1', 0, 1, 2, 1, 19, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-01-2', 0, 'C1-019-01-2', 0, 1, 2, 1, 19, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-02-1', 0, 'C1-019-02-1', 0, 1, 2, 1, 19, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-02-2', 0, 'C1-019-02-2', 0, 1, 2, 1, 19, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-03-1', 0, 'C1-019-03-1', 0, 1, 2, 1, 19, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-03-2', 0, 'C1-019-03-2', 0, 1, 2, 1, 19, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-04-1', 0, 'C1-019-04-1', 0, 1, 2, 1, 19, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-04-2', 0, 'C1-019-04-2', 0, 1, 2, 1, 19, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-05-1', 0, 'C1-019-05-1', 0, 1, 2, 1, 19, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-05-2', 0, 'C1-019-05-2', 0, 1, 2, 1, 19, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-06-1', 0, 'C1-019-06-1', 0, 1, 2, 1, 19, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-06-2', 0, 'C1-019-06-2', 0, 1, 2, 1, 19, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-07-1', 0, 'C1-019-07-1', 0, 1, 2, 1, 19, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-07-2', 0, 'C1-019-07-2', 0, 1, 2, 1, 19, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-08-1', 0, 'C1-019-08-1', 0, 1, 2, 1, 19, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-08-2', 0, 'C1-019-08-2', 0, 1, 2, 1, 19, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-09-1', 0, 'C1-019-09-1', 0, 1, 2, 1, 19, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-09-2', 0, 'C1-019-09-2', 0, 1, 2, 1, 19, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-10-1', 0, 'C1-019-10-1', 0, 1, 2, 1, 19, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-10-2', 0, 'C1-019-10-2', 0, 1, 2, 1, 19, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-11-1', 0, 'C1-019-11-1', 0, 1, 2, 1, 19, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-11-2', 0, 'C1-019-11-2', 0, 1, 2, 1, 19, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-12-1', 0, 'C1-019-12-1', 0, 1, 2, 1, 19, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-12-2', 0, 'C1-019-12-2', 0, 1, 2, 1, 19, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-13-1', 0, 'C1-019-13-1', 0, 1, 2, 1, 19, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-13-2', 0, 'C1-019-13-2', 0, 1, 2, 1, 19, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-14-1', 0, 'C1-019-14-1', 0, 1, 2, 1, 19, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-14-2', 0, 'C1-019-14-2', 0, 1, 2, 1, 19, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-15-1', 0, 'C1-019-15-1', 0, 1, 2, 1, 19, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-019-15-2', 0, 'C1-019-15-2', 0, 1, 2, 1, 19, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-01-1', 0, 'C1-020-01-1', 0, 1, 2, 1, 20, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-01-2', 0, 'C1-020-01-2', 0, 1, 2, 1, 20, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-02-1', 0, 'C1-020-02-1', 0, 1, 2, 1, 20, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-02-2', 0, 'C1-020-02-2', 0, 1, 2, 1, 20, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-03-1', 0, 'C1-020-03-1', 0, 1, 2, 1, 20, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-03-2', 0, 'C1-020-03-2', 0, 1, 2, 1, 20, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-04-1', 0, 'C1-020-04-1', 0, 1, 2, 1, 20, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-04-2', 0, 'C1-020-04-2', 0, 1, 2, 1, 20, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-05-1', 0, 'C1-020-05-1', 0, 1, 2, 1, 20, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-05-2', 0, 'C1-020-05-2', 0, 1, 2, 1, 20, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-06-1', 0, 'C1-020-06-1', 0, 1, 2, 1, 20, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-06-2', 0, 'C1-020-06-2', 0, 1, 2, 1, 20, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-07-1', 0, 'C1-020-07-1', 0, 1, 2, 1, 20, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-07-2', 0, 'C1-020-07-2', 0, 1, 2, 1, 20, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-08-1', 0, 'C1-020-08-1', 0, 1, 2, 1, 20, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-08-2', 0, 'C1-020-08-2', 0, 1, 2, 1, 20, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-09-1', 0, 'C1-020-09-1', 0, 1, 2, 1, 20, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-09-2', 0, 'C1-020-09-2', 0, 1, 2, 1, 20, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-10-1', 0, 'C1-020-10-1', 0, 1, 2, 1, 20, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-10-2', 0, 'C1-020-10-2', 0, 1, 2, 1, 20, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-11-1', 0, 'C1-020-11-1', 0, 1, 2, 1, 20, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-11-2', 0, 'C1-020-11-2', 0, 1, 2, 1, 20, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-12-1', 0, 'C1-020-12-1', 0, 1, 2, 1, 20, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-12-2', 0, 'C1-020-12-2', 0, 1, 2, 1, 20, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-13-1', 0, 'C1-020-13-1', 0, 1, 2, 1, 20, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-13-2', 0, 'C1-020-13-2', 0, 1, 2, 1, 20, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-14-1', 0, 'C1-020-14-1', 0, 1, 2, 1, 20, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-14-2', 0, 'C1-020-14-2', 0, 1, 2, 1, 20, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-15-1', 0, 'C1-020-15-1', 0, 1, 2, 1, 20, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-020-15-2', 0, 'C1-020-15-2', 0, 1, 2, 1, 20, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-01-1', 0, 'C1-021-01-1', 0, 1, 2, 1, 21, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-01-2', 0, 'C1-021-01-2', 0, 1, 2, 1, 21, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-02-1', 0, 'C1-021-02-1', 0, 1, 2, 1, 21, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-02-2', 0, 'C1-021-02-2', 0, 1, 2, 1, 21, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-03-1', 0, 'C1-021-03-1', 0, 1, 2, 1, 21, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-03-2', 0, 'C1-021-03-2', 0, 1, 2, 1, 21, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-04-1', 0, 'C1-021-04-1', 0, 1, 2, 1, 21, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-04-2', 0, 'C1-021-04-2', 0, 1, 2, 1, 21, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-05-1', 0, 'C1-021-05-1', 0, 1, 2, 1, 21, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-05-2', 0, 'C1-021-05-2', 0, 1, 2, 1, 21, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-06-1', 0, 'C1-021-06-1', 0, 1, 2, 1, 21, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-06-2', 0, 'C1-021-06-2', 0, 1, 2, 1, 21, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-07-1', 0, 'C1-021-07-1', 0, 1, 2, 1, 21, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-07-2', 0, 'C1-021-07-2', 0, 1, 2, 1, 21, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-08-1', 0, 'C1-021-08-1', 0, 1, 2, 1, 21, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-08-2', 0, 'C1-021-08-2', 0, 1, 2, 1, 21, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-09-1', 0, 'C1-021-09-1', 0, 1, 2, 1, 21, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-09-2', 0, 'C1-021-09-2', 0, 1, 2, 1, 21, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-10-1', 0, 'C1-021-10-1', 0, 1, 2, 1, 21, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-10-2', 0, 'C1-021-10-2', 0, 1, 2, 1, 21, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-11-1', 0, 'C1-021-11-1', 0, 1, 2, 1, 21, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-11-2', 0, 'C1-021-11-2', 0, 1, 2, 1, 21, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-12-1', 0, 'C1-021-12-1', 0, 1, 2, 1, 21, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-12-2', 0, 'C1-021-12-2', 0, 1, 2, 1, 21, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-13-1', 0, 'C1-021-13-1', 0, 1, 2, 1, 21, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-13-2', 0, 'C1-021-13-2', 0, 1, 2, 1, 21, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-14-1', 0, 'C1-021-14-1', 0, 1, 2, 1, 21, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-14-2', 0, 'C1-021-14-2', 0, 1, 2, 1, 21, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-15-1', 0, 'C1-021-15-1', 0, 1, 2, 1, 21, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-021-15-2', 0, 'C1-021-15-2', 0, 1, 2, 1, 21, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-01-1', 0, 'C1-022-01-1', 0, 1, 2, 1, 22, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-01-2', 0, 'C1-022-01-2', 0, 1, 2, 1, 22, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-02-1', 0, 'C1-022-02-1', 0, 1, 2, 1, 22, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-02-2', 0, 'C1-022-02-2', 0, 1, 2, 1, 22, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-03-1', 0, 'C1-022-03-1', 0, 1, 2, 1, 22, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-03-2', 0, 'C1-022-03-2', 0, 1, 2, 1, 22, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-04-1', 0, 'C1-022-04-1', 0, 1, 2, 1, 22, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-04-2', 0, 'C1-022-04-2', 0, 1, 2, 1, 22, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-05-1', 0, 'C1-022-05-1', 0, 1, 2, 1, 22, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-05-2', 0, 'C1-022-05-2', 0, 1, 2, 1, 22, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-06-1', 0, 'C1-022-06-1', 0, 1, 2, 1, 22, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-06-2', 0, 'C1-022-06-2', 0, 1, 2, 1, 22, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-07-1', 0, 'C1-022-07-1', 0, 1, 2, 1, 22, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-07-2', 0, 'C1-022-07-2', 0, 1, 2, 1, 22, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-08-1', 0, 'C1-022-08-1', 0, 1, 2, 1, 22, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-08-2', 0, 'C1-022-08-2', 0, 1, 2, 1, 22, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-09-1', 0, 'C1-022-09-1', 0, 1, 2, 1, 22, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-09-2', 0, 'C1-022-09-2', 0, 1, 2, 1, 22, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-10-1', 0, 'C1-022-10-1', 0, 1, 2, 1, 22, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-10-2', 0, 'C1-022-10-2', 0, 1, 2, 1, 22, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-11-1', 0, 'C1-022-11-1', 0, 1, 2, 1, 22, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-11-2', 0, 'C1-022-11-2', 0, 1, 2, 1, 22, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-12-1', 0, 'C1-022-12-1', 0, 1, 2, 1, 22, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-12-2', 0, 'C1-022-12-2', 0, 1, 2, 1, 22, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-13-1', 0, 'C1-022-13-1', 0, 1, 2, 1, 22, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-13-2', 0, 'C1-022-13-2', 0, 1, 2, 1, 22, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-14-1', 0, 'C1-022-14-1', 0, 1, 2, 1, 22, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-14-2', 0, 'C1-022-14-2', 0, 1, 2, 1, 22, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-15-1', 0, 'C1-022-15-1', 0, 1, 2, 1, 22, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-022-15-2', 0, 'C1-022-15-2', 0, 1, 2, 1, 22, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-01-1', 0, 'C1-023-01-1', 0, 1, 2, 1, 23, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-01-2', 0, 'C1-023-01-2', 0, 1, 2, 1, 23, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-02-1', 0, 'C1-023-02-1', 0, 1, 2, 1, 23, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-02-2', 0, 'C1-023-02-2', 0, 1, 2, 1, 23, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-03-1', 0, 'C1-023-03-1', 0, 1, 2, 1, 23, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-03-2', 0, 'C1-023-03-2', 0, 1, 2, 1, 23, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-04-1', 0, 'C1-023-04-1', 0, 1, 2, 1, 23, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-04-2', 0, 'C1-023-04-2', 0, 1, 2, 1, 23, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-05-1', 0, 'C1-023-05-1', 0, 1, 2, 1, 23, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-05-2', 0, 'C1-023-05-2', 0, 1, 2, 1, 23, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-06-1', 0, 'C1-023-06-1', 0, 1, 2, 1, 23, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-06-2', 0, 'C1-023-06-2', 0, 1, 2, 1, 23, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-07-1', 0, 'C1-023-07-1', 0, 1, 2, 1, 23, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-07-2', 0, 'C1-023-07-2', 0, 1, 2, 1, 23, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-08-1', 0, 'C1-023-08-1', 0, 1, 2, 1, 23, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-08-2', 0, 'C1-023-08-2', 0, 1, 2, 1, 23, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-09-1', 0, 'C1-023-09-1', 0, 1, 2, 1, 23, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-09-2', 0, 'C1-023-09-2', 0, 1, 2, 1, 23, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-10-1', 0, 'C1-023-10-1', 0, 1, 2, 1, 23, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-10-2', 0, 'C1-023-10-2', 0, 1, 2, 1, 23, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-11-1', 0, 'C1-023-11-1', 0, 1, 2, 1, 23, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-11-2', 0, 'C1-023-11-2', 0, 1, 2, 1, 23, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-12-1', 0, 'C1-023-12-1', 0, 1, 2, 1, 23, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-12-2', 0, 'C1-023-12-2', 0, 1, 2, 1, 23, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-13-1', 0, 'C1-023-13-1', 0, 1, 2, 1, 23, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-13-2', 0, 'C1-023-13-2', 0, 1, 2, 1, 23, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-14-1', 0, 'C1-023-14-1', 0, 1, 2, 1, 23, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-14-2', 0, 'C1-023-14-2', 0, 1, 2, 1, 23, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-15-1', 0, 'C1-023-15-1', 0, 1, 2, 1, 23, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-023-15-2', 0, 'C1-023-15-2', 0, 1, 2, 1, 23, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-01-1', 0, 'C1-024-01-1', 0, 1, 2, 1, 24, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-01-2', 0, 'C1-024-01-2', 0, 1, 2, 1, 24, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-02-1', 0, 'C1-024-02-1', 0, 1, 2, 1, 24, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-02-2', 0, 'C1-024-02-2', 0, 1, 2, 1, 24, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-03-1', 0, 'C1-024-03-1', 0, 1, 2, 1, 24, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-03-2', 0, 'C1-024-03-2', 0, 1, 2, 1, 24, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-04-1', 0, 'C1-024-04-1', 0, 1, 2, 1, 24, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-04-2', 0, 'C1-024-04-2', 0, 1, 2, 1, 24, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-05-1', 0, 'C1-024-05-1', 0, 1, 2, 1, 24, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-05-2', 0, 'C1-024-05-2', 0, 1, 2, 1, 24, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-06-1', 0, 'C1-024-06-1', 0, 1, 2, 1, 24, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-06-2', 0, 'C1-024-06-2', 0, 1, 2, 1, 24, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-07-1', 0, 'C1-024-07-1', 0, 1, 2, 1, 24, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-07-2', 0, 'C1-024-07-2', 0, 1, 2, 1, 24, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-08-1', 0, 'C1-024-08-1', 0, 1, 2, 1, 24, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-08-2', 0, 'C1-024-08-2', 0, 1, 2, 1, 24, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-09-1', 0, 'C1-024-09-1', 0, 1, 2, 1, 24, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-09-2', 0, 'C1-024-09-2', 0, 1, 2, 1, 24, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-10-1', 0, 'C1-024-10-1', 0, 1, 2, 1, 24, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-10-2', 0, 'C1-024-10-2', 0, 1, 2, 1, 24, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-11-1', 0, 'C1-024-11-1', 0, 1, 2, 1, 24, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-11-2', 0, 'C1-024-11-2', 0, 1, 2, 1, 24, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-12-1', 0, 'C1-024-12-1', 0, 1, 2, 1, 24, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-12-2', 0, 'C1-024-12-2', 0, 1, 2, 1, 24, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-13-1', 0, 'C1-024-13-1', 0, 1, 2, 1, 24, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-13-2', 0, 'C1-024-13-2', 0, 1, 2, 1, 24, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-14-1', 0, 'C1-024-14-1', 0, 1, 2, 1, 24, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-14-2', 0, 'C1-024-14-2', 0, 1, 2, 1, 24, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-15-1', 0, 'C1-024-15-1', 0, 1, 2, 1, 24, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-024-15-2', 3, 'C1-024-15-2', 0, 1, 2, 1, 24, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-01-1', 0, 'C1-025-01-1', 0, 1, 2, 1, 25, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-01-2', 0, 'C1-025-01-2', 0, 1, 2, 1, 25, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-02-1', 0, 'C1-025-02-1', 0, 1, 2, 1, 25, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-02-2', 0, 'C1-025-02-2', 0, 1, 2, 1, 25, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-03-1', 0, 'C1-025-03-1', 0, 1, 2, 1, 25, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-03-2', 0, 'C1-025-03-2', 0, 1, 2, 1, 25, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-04-1', 0, 'C1-025-04-1', 0, 1, 2, 1, 25, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-04-2', 0, 'C1-025-04-2', 0, 1, 2, 1, 25, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-05-1', 0, 'C1-025-05-1', 0, 1, 2, 1, 25, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-05-2', 0, 'C1-025-05-2', 0, 1, 2, 1, 25, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-06-1', 0, 'C1-025-06-1', 0, 1, 2, 1, 25, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-06-2', 0, 'C1-025-06-2', 0, 1, 2, 1, 25, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-07-1', 0, 'C1-025-07-1', 0, 1, 2, 1, 25, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-07-2', 0, 'C1-025-07-2', 0, 1, 2, 1, 25, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-08-1', 0, 'C1-025-08-1', 0, 1, 2, 1, 25, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-08-2', 0, 'C1-025-08-2', 0, 1, 2, 1, 25, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-09-1', 0, 'C1-025-09-1', 0, 1, 2, 1, 25, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-09-2', 0, 'C1-025-09-2', 0, 1, 2, 1, 25, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-10-1', 0, 'C1-025-10-1', 0, 1, 2, 1, 25, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-10-2', 0, 'C1-025-10-2', 0, 1, 2, 1, 25, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-11-1', 0, 'C1-025-11-1', 0, 1, 2, 1, 25, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-11-2', 0, 'C1-025-11-2', 0, 1, 2, 1, 25, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-12-1', 0, 'C1-025-12-1', 0, 1, 2, 1, 25, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-12-2', 0, 'C1-025-12-2', 0, 1, 2, 1, 25, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-13-1', 0, 'C1-025-13-1', 0, 1, 2, 1, 25, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-13-2', 0, 'C1-025-13-2', 0, 1, 2, 1, 25, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-14-1', 0, 'C1-025-14-1', 0, 1, 2, 1, 25, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-14-2', 0, 'C1-025-14-2', 0, 1, 2, 1, 25, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-15-1', 0, 'C1-025-15-1', 0, 1, 2, 1, 25, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-025-15-2', 0, 'C1-025-15-2', 0, 1, 2, 1, 25, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-01-1', 0, 'C1-026-01-1', 0, 1, 2, 1, 26, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-01-2', 0, 'C1-026-01-2', 0, 1, 2, 1, 26, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-02-1', 0, 'C1-026-02-1', 0, 1, 2, 1, 26, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-02-2', 0, 'C1-026-02-2', 0, 1, 2, 1, 26, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-03-1', 0, 'C1-026-03-1', 0, 1, 2, 1, 26, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-03-2', 0, 'C1-026-03-2', 0, 1, 2, 1, 26, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-04-1', 0, 'C1-026-04-1', 0, 1, 2, 1, 26, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-04-2', 0, 'C1-026-04-2', 0, 1, 2, 1, 26, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-05-1', 0, 'C1-026-05-1', 0, 1, 2, 1, 26, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-05-2', 0, 'C1-026-05-2', 0, 1, 2, 1, 26, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-06-1', 0, 'C1-026-06-1', 0, 1, 2, 1, 26, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-06-2', 0, 'C1-026-06-2', 0, 1, 2, 1, 26, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-07-1', 0, 'C1-026-07-1', 0, 1, 2, 1, 26, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-07-2', 0, 'C1-026-07-2', 0, 1, 2, 1, 26, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-08-1', 0, 'C1-026-08-1', 0, 1, 2, 1, 26, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-08-2', 0, 'C1-026-08-2', 0, 1, 2, 1, 26, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-09-1', 0, 'C1-026-09-1', 0, 1, 2, 1, 26, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-09-2', 0, 'C1-026-09-2', 0, 1, 2, 1, 26, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-10-1', 0, 'C1-026-10-1', 0, 1, 2, 1, 26, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-10-2', 0, 'C1-026-10-2', 0, 1, 2, 1, 26, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-11-1', 0, 'C1-026-11-1', 0, 1, 2, 1, 26, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-11-2', 0, 'C1-026-11-2', 0, 1, 2, 1, 26, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-12-1', 0, 'C1-026-12-1', 0, 1, 2, 1, 26, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-12-2', 0, 'C1-026-12-2', 0, 1, 2, 1, 26, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-13-1', 0, 'C1-026-13-1', 0, 1, 2, 1, 26, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-13-2', 0, 'C1-026-13-2', 0, 1, 2, 1, 26, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-14-1', 0, 'C1-026-14-1', 0, 1, 2, 1, 26, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-14-2', 0, 'C1-026-14-2', 0, 1, 2, 1, 26, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-15-1', 0, 'C1-026-15-1', 0, 1, 2, 1, 26, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-026-15-2', 0, 'C1-026-15-2', 0, 1, 2, 1, 26, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-01-1', 0, 'C1-027-01-1', 0, 1, 2, 1, 27, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-01-2', 0, 'C1-027-01-2', 0, 1, 2, 1, 27, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-02-1', 0, 'C1-027-02-1', 0, 1, 2, 1, 27, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-02-2', 0, 'C1-027-02-2', 0, 1, 2, 1, 27, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-03-1', 0, 'C1-027-03-1', 0, 1, 2, 1, 27, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-03-2', 0, 'C1-027-03-2', 0, 1, 2, 1, 27, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-04-1', 0, 'C1-027-04-1', 0, 1, 2, 1, 27, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-04-2', 0, 'C1-027-04-2', 0, 1, 2, 1, 27, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-05-1', 0, 'C1-027-05-1', 0, 1, 2, 1, 27, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-05-2', 0, 'C1-027-05-2', 0, 1, 2, 1, 27, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-06-1', 0, 'C1-027-06-1', 0, 1, 2, 1, 27, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-06-2', 0, 'C1-027-06-2', 0, 1, 2, 1, 27, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-07-1', 0, 'C1-027-07-1', 0, 1, 2, 1, 27, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-07-2', 0, 'C1-027-07-2', 0, 1, 2, 1, 27, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-08-1', 0, 'C1-027-08-1', 0, 1, 2, 1, 27, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-08-2', 0, 'C1-027-08-2', 0, 1, 2, 1, 27, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-09-1', 0, 'C1-027-09-1', 0, 1, 2, 1, 27, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-09-2', 0, 'C1-027-09-2', 0, 1, 2, 1, 27, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-10-1', 0, 'C1-027-10-1', 0, 1, 2, 1, 27, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-10-2', 0, 'C1-027-10-2', 0, 1, 2, 1, 27, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-11-1', 0, 'C1-027-11-1', 0, 1, 2, 1, 27, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-11-2', 0, 'C1-027-11-2', 0, 1, 2, 1, 27, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-12-1', 0, 'C1-027-12-1', 0, 1, 2, 1, 27, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-12-2', 0, 'C1-027-12-2', 0, 1, 2, 1, 27, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-13-1', 0, 'C1-027-13-1', 0, 1, 2, 1, 27, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-13-2', 0, 'C1-027-13-2', 0, 1, 2, 1, 27, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-14-1', 0, 'C1-027-14-1', 0, 1, 2, 1, 27, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-14-2', 0, 'C1-027-14-2', 0, 1, 2, 1, 27, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-15-1', 0, 'C1-027-15-1', 0, 1, 2, 1, 27, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-027-15-2', 0, 'C1-027-15-2', 0, 1, 2, 1, 27, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-01-1', 0, 'C1-028-01-1', 0, 1, 2, 1, 28, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-01-2', 0, 'C1-028-01-2', 0, 1, 2, 1, 28, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-02-1', 0, 'C1-028-02-1', 0, 1, 2, 1, 28, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-02-2', 0, 'C1-028-02-2', 0, 1, 2, 1, 28, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-03-1', 0, 'C1-028-03-1', 0, 1, 2, 1, 28, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-03-2', 0, 'C1-028-03-2', 0, 1, 2, 1, 28, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-04-1', 0, 'C1-028-04-1', 0, 1, 2, 1, 28, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-04-2', 0, 'C1-028-04-2', 0, 1, 2, 1, 28, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-05-1', 0, 'C1-028-05-1', 0, 1, 2, 1, 28, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-05-2', 0, 'C1-028-05-2', 0, 1, 2, 1, 28, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-06-1', 0, 'C1-028-06-1', 0, 1, 2, 1, 28, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-06-2', 0, 'C1-028-06-2', 0, 1, 2, 1, 28, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-07-1', 0, 'C1-028-07-1', 0, 1, 2, 1, 28, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-07-2', 0, 'C1-028-07-2', 0, 1, 2, 1, 28, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-08-1', 0, 'C1-028-08-1', 0, 1, 2, 1, 28, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-08-2', 0, 'C1-028-08-2', 0, 1, 2, 1, 28, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-09-1', 0, 'C1-028-09-1', 0, 1, 2, 1, 28, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-09-2', 0, 'C1-028-09-2', 0, 1, 2, 1, 28, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-10-1', 0, 'C1-028-10-1', 0, 1, 2, 1, 28, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-10-2', 0, 'C1-028-10-2', 0, 1, 2, 1, 28, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-11-1', 0, 'C1-028-11-1', 0, 1, 2, 1, 28, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-11-2', 0, 'C1-028-11-2', 0, 1, 2, 1, 28, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-12-1', 0, 'C1-028-12-1', 0, 1, 2, 1, 28, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-12-2', 0, 'C1-028-12-2', 0, 1, 2, 1, 28, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-13-1', 0, 'C1-028-13-1', 0, 1, 2, 1, 28, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-13-2', 0, 'C1-028-13-2', 0, 1, 2, 1, 28, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-14-1', 0, 'C1-028-14-1', 0, 1, 2, 1, 28, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-14-2', 0, 'C1-028-14-2', 0, 1, 2, 1, 28, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-15-1', 0, 'C1-028-15-1', 0, 1, 2, 1, 28, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-028-15-2', 0, 'C1-028-15-2', 0, 1, 2, 1, 28, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-01-1', 0, 'C1-029-01-1', 0, 1, 2, 1, 29, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-01-2', 0, 'C1-029-01-2', 0, 1, 2, 1, 29, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-02-1', 0, 'C1-029-02-1', 0, 1, 2, 1, 29, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-02-2', 0, 'C1-029-02-2', 0, 1, 2, 1, 29, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-03-1', 0, 'C1-029-03-1', 0, 1, 2, 1, 29, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-03-2', 0, 'C1-029-03-2', 0, 1, 2, 1, 29, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-04-1', 0, 'C1-029-04-1', 0, 1, 2, 1, 29, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-04-2', 0, 'C1-029-04-2', 0, 1, 2, 1, 29, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-05-1', 0, 'C1-029-05-1', 0, 1, 2, 1, 29, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-05-2', 0, 'C1-029-05-2', 0, 1, 2, 1, 29, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-06-1', 0, 'C1-029-06-1', 0, 1, 2, 1, 29, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-06-2', 0, 'C1-029-06-2', 0, 1, 2, 1, 29, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-07-1', 0, 'C1-029-07-1', 0, 1, 2, 1, 29, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-07-2', 0, 'C1-029-07-2', 0, 1, 2, 1, 29, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-08-1', 0, 'C1-029-08-1', 0, 1, 2, 1, 29, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-08-2', 0, 'C1-029-08-2', 0, 1, 2, 1, 29, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-09-1', 0, 'C1-029-09-1', 0, 1, 2, 1, 29, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-09-2', 0, 'C1-029-09-2', 0, 1, 2, 1, 29, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-10-1', 0, 'C1-029-10-1', 0, 1, 2, 1, 29, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-10-2', 0, 'C1-029-10-2', 0, 1, 2, 1, 29, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-11-1', 0, 'C1-029-11-1', 0, 1, 2, 1, 29, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-11-2', 0, 'C1-029-11-2', 0, 1, 2, 1, 29, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-12-1', 0, 'C1-029-12-1', 0, 1, 2, 1, 29, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-12-2', 0, 'C1-029-12-2', 0, 1, 2, 1, 29, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-13-1', 0, 'C1-029-13-1', 0, 1, 2, 1, 29, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-13-2', 0, 'C1-029-13-2', 0, 1, 2, 1, 29, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-14-1', 0, 'C1-029-14-1', 0, 1, 2, 1, 29, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-14-2', 0, 'C1-029-14-2', 0, 1, 2, 1, 29, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-15-1', 0, 'C1-029-15-1', 0, 1, 2, 1, 29, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-029-15-2', 0, 'C1-029-15-2', 0, 1, 2, 1, 29, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-01-1', 0, 'C1-030-01-1', 0, 1, 2, 1, 30, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-01-2', 0, 'C1-030-01-2', 0, 1, 2, 1, 30, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-02-1', 0, 'C1-030-02-1', 0, 1, 2, 1, 30, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-02-2', 0, 'C1-030-02-2', 0, 1, 2, 1, 30, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-03-1', 0, 'C1-030-03-1', 0, 1, 2, 1, 30, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-03-2', 0, 'C1-030-03-2', 0, 1, 2, 1, 30, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-04-1', 0, 'C1-030-04-1', 0, 1, 2, 1, 30, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-04-2', 0, 'C1-030-04-2', 0, 1, 2, 1, 30, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-05-1', 0, 'C1-030-05-1', 0, 1, 2, 1, 30, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-05-2', 0, 'C1-030-05-2', 0, 1, 2, 1, 30, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-06-1', 0, 'C1-030-06-1', 0, 1, 2, 1, 30, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-06-2', 0, 'C1-030-06-2', 0, 1, 2, 1, 30, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-07-1', 0, 'C1-030-07-1', 0, 1, 2, 1, 30, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-07-2', 0, 'C1-030-07-2', 0, 1, 2, 1, 30, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-08-1', 0, 'C1-030-08-1', 0, 1, 2, 1, 30, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-08-2', 0, 'C1-030-08-2', 0, 1, 2, 1, 30, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-09-1', 0, 'C1-030-09-1', 0, 1, 2, 1, 30, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-09-2', 0, 'C1-030-09-2', 0, 1, 2, 1, 30, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-10-1', 0, 'C1-030-10-1', 0, 1, 2, 1, 30, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-10-2', 0, 'C1-030-10-2', 0, 1, 2, 1, 30, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-11-1', 0, 'C1-030-11-1', 0, 1, 2, 1, 30, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-11-2', 0, 'C1-030-11-2', 0, 1, 2, 1, 30, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-12-1', 0, 'C1-030-12-1', 0, 1, 2, 1, 30, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-12-2', 0, 'C1-030-12-2', 0, 1, 2, 1, 30, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-13-1', 0, 'C1-030-13-1', 0, 1, 2, 1, 30, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-13-2', 0, 'C1-030-13-2', 0, 1, 2, 1, 30, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-14-1', 0, 'C1-030-14-1', 0, 1, 2, 1, 30, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-14-2', 0, 'C1-030-14-2', 0, 1, 2, 1, 30, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-15-1', 0, 'C1-030-15-1', 0, 1, 2, 1, 30, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-030-15-2', 0, 'C1-030-15-2', 0, 1, 2, 1, 30, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-01-1', 0, 'C1-031-01-1', 0, 1, 2, 1, 31, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-01-2', 0, 'C1-031-01-2', 0, 1, 2, 1, 31, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-02-1', 0, 'C1-031-02-1', 0, 1, 2, 1, 31, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-02-2', 0, 'C1-031-02-2', 0, 1, 2, 1, 31, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-03-1', 0, 'C1-031-03-1', 0, 1, 2, 1, 31, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-03-2', 0, 'C1-031-03-2', 0, 1, 2, 1, 31, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-04-1', 0, 'C1-031-04-1', 0, 1, 2, 1, 31, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-04-2', 0, 'C1-031-04-2', 0, 1, 2, 1, 31, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-05-1', 0, 'C1-031-05-1', 0, 1, 2, 1, 31, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-05-2', 0, 'C1-031-05-2', 0, 1, 2, 1, 31, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-06-1', 0, 'C1-031-06-1', 0, 1, 2, 1, 31, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-06-2', 0, 'C1-031-06-2', 0, 1, 2, 1, 31, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-07-1', 0, 'C1-031-07-1', 0, 1, 2, 1, 31, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-07-2', 0, 'C1-031-07-2', 0, 1, 2, 1, 31, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-08-1', 0, 'C1-031-08-1', 0, 1, 2, 1, 31, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-08-2', 0, 'C1-031-08-2', 0, 1, 2, 1, 31, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-09-1', 0, 'C1-031-09-1', 0, 1, 2, 1, 31, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-09-2', 0, 'C1-031-09-2', 0, 1, 2, 1, 31, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-10-1', 0, 'C1-031-10-1', 0, 1, 2, 1, 31, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-10-2', 0, 'C1-031-10-2', 0, 1, 2, 1, 31, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-11-1', 0, 'C1-031-11-1', 0, 1, 2, 1, 31, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-11-2', 0, 'C1-031-11-2', 0, 1, 2, 1, 31, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-12-1', 0, 'C1-031-12-1', 0, 1, 2, 1, 31, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-12-2', 0, 'C1-031-12-2', 0, 1, 2, 1, 31, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-13-1', 0, 'C1-031-13-1', 0, 1, 2, 1, 31, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-13-2', 0, 'C1-031-13-2', 0, 1, 2, 1, 31, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-14-1', 0, 'C1-031-14-1', 0, 1, 2, 1, 31, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-14-2', 0, 'C1-031-14-2', 0, 1, 2, 1, 31, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-15-1', 0, 'C1-031-15-1', 0, 1, 2, 1, 31, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-031-15-2', 0, 'C1-031-15-2', 0, 1, 2, 1, 31, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-01-1', 0, 'C1-032-01-1', 0, 1, 2, 1, 32, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-01-2', 0, 'C1-032-01-2', 0, 1, 2, 1, 32, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-02-1', 0, 'C1-032-02-1', 0, 1, 2, 1, 32, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-02-2', 0, 'C1-032-02-2', 0, 1, 2, 1, 32, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-03-1', 0, 'C1-032-03-1', 0, 1, 2, 1, 32, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-03-2', 0, 'C1-032-03-2', 0, 1, 2, 1, 32, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-04-1', 0, 'C1-032-04-1', 0, 1, 2, 1, 32, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-04-2', 0, 'C1-032-04-2', 0, 1, 2, 1, 32, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-05-1', 0, 'C1-032-05-1', 0, 1, 2, 1, 32, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-05-2', 0, 'C1-032-05-2', 0, 1, 2, 1, 32, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-06-1', 0, 'C1-032-06-1', 0, 1, 2, 1, 32, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-06-2', 0, 'C1-032-06-2', 0, 1, 2, 1, 32, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-07-1', 0, 'C1-032-07-1', 0, 1, 2, 1, 32, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-07-2', 0, 'C1-032-07-2', 0, 1, 2, 1, 32, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-08-1', 0, 'C1-032-08-1', 0, 1, 2, 1, 32, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-08-2', 0, 'C1-032-08-2', 0, 1, 2, 1, 32, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-09-1', 0, 'C1-032-09-1', 0, 1, 2, 1, 32, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-09-2', 0, 'C1-032-09-2', 0, 1, 2, 1, 32, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-10-1', 0, 'C1-032-10-1', 0, 1, 2, 1, 32, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-10-2', 0, 'C1-032-10-2', 0, 1, 2, 1, 32, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-11-1', 0, 'C1-032-11-1', 0, 1, 2, 1, 32, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-11-2', 0, 'C1-032-11-2', 0, 1, 2, 1, 32, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-12-1', 0, 'C1-032-12-1', 0, 1, 2, 1, 32, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-12-2', 0, 'C1-032-12-2', 0, 1, 2, 1, 32, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-13-1', 0, 'C1-032-13-1', 0, 1, 2, 1, 32, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-13-2', 0, 'C1-032-13-2', 0, 1, 2, 1, 32, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-14-1', 0, 'C1-032-14-1', 0, 1, 2, 1, 32, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-14-2', 2, 'C1-032-14-2', 0, 1, 2, 1, 32, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-15-1', 0, 'C1-032-15-1', 0, 1, 2, 1, 32, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-032-15-2', 9, 'C1-032-15-2', 0, 1, 2, 1, 32, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-01-1', 0, 'C1-033-01-1', 0, 1, 2, 1, 33, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-01-2', 0, 'C1-033-01-2', 0, 1, 2, 1, 33, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-02-1', 0, 'C1-033-02-1', 0, 1, 2, 1, 33, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-02-2', 0, 'C1-033-02-2', 0, 1, 2, 1, 33, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-03-1', 0, 'C1-033-03-1', 0, 1, 2, 1, 33, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-03-2', 0, 'C1-033-03-2', 0, 1, 2, 1, 33, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-04-1', 0, 'C1-033-04-1', 0, 1, 2, 1, 33, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-04-2', 0, 'C1-033-04-2', 0, 1, 2, 1, 33, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-05-1', 0, 'C1-033-05-1', 0, 1, 2, 1, 33, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-05-2', 0, 'C1-033-05-2', 0, 1, 2, 1, 33, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-06-1', 0, 'C1-033-06-1', 0, 1, 2, 1, 33, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-06-2', 0, 'C1-033-06-2', 0, 1, 2, 1, 33, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-07-1', 0, 'C1-033-07-1', 0, 1, 2, 1, 33, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-07-2', 0, 'C1-033-07-2', 0, 1, 2, 1, 33, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-08-1', 0, 'C1-033-08-1', 0, 1, 2, 1, 33, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-08-2', 0, 'C1-033-08-2', 0, 1, 2, 1, 33, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-09-1', 0, 'C1-033-09-1', 0, 1, 2, 1, 33, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-09-2', 0, 'C1-033-09-2', 0, 1, 2, 1, 33, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-10-1', 0, 'C1-033-10-1', 0, 1, 2, 1, 33, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-10-2', 0, 'C1-033-10-2', 0, 1, 2, 1, 33, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-11-1', 0, 'C1-033-11-1', 0, 1, 2, 1, 33, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-11-2', 0, 'C1-033-11-2', 0, 1, 2, 1, 33, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-12-1', 0, 'C1-033-12-1', 0, 1, 2, 1, 33, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-12-2', 0, 'C1-033-12-2', 0, 1, 2, 1, 33, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-13-1', 0, 'C1-033-13-1', 0, 1, 2, 1, 33, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-13-2', 0, 'C1-033-13-2', 0, 1, 2, 1, 33, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-14-1', 0, 'C1-033-14-1', 0, 1, 2, 1, 33, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-14-2', 0, 'C1-033-14-2', 0, 1, 2, 1, 33, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-15-1', 0, 'C1-033-15-1', 0, 1, 2, 1, 33, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-033-15-2', 0, 'C1-033-15-2', 0, 1, 2, 1, 33, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-01-1', 0, 'C1-034-01-1', 0, 1, 2, 1, 34, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-01-2', 0, 'C1-034-01-2', 0, 1, 2, 1, 34, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-02-1', 0, 'C1-034-02-1', 0, 1, 2, 1, 34, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-02-2', 0, 'C1-034-02-2', 0, 1, 2, 1, 34, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-03-1', 0, 'C1-034-03-1', 0, 1, 2, 1, 34, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-03-2', 0, 'C1-034-03-2', 0, 1, 2, 1, 34, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-04-1', 0, 'C1-034-04-1', 0, 1, 2, 1, 34, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-04-2', 0, 'C1-034-04-2', 0, 1, 2, 1, 34, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-05-1', 0, 'C1-034-05-1', 0, 1, 2, 1, 34, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-05-2', 0, 'C1-034-05-2', 0, 1, 2, 1, 34, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-06-1', 0, 'C1-034-06-1', 0, 1, 2, 1, 34, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-06-2', 0, 'C1-034-06-2', 0, 1, 2, 1, 34, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-07-1', 0, 'C1-034-07-1', 0, 1, 2, 1, 34, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-07-2', 0, 'C1-034-07-2', 0, 1, 2, 1, 34, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-08-1', 0, 'C1-034-08-1', 0, 1, 2, 1, 34, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-08-2', 0, 'C1-034-08-2', 0, 1, 2, 1, 34, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-09-1', 0, 'C1-034-09-1', 0, 1, 2, 1, 34, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-09-2', 0, 'C1-034-09-2', 0, 1, 2, 1, 34, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-10-1', 0, 'C1-034-10-1', 0, 1, 2, 1, 34, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-10-2', 0, 'C1-034-10-2', 0, 1, 2, 1, 34, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-11-1', 0, 'C1-034-11-1', 0, 1, 2, 1, 34, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-11-2', 0, 'C1-034-11-2', 0, 1, 2, 1, 34, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-12-1', 0, 'C1-034-12-1', 0, 1, 2, 1, 34, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-12-2', 0, 'C1-034-12-2', 0, 1, 2, 1, 34, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-13-1', 0, 'C1-034-13-1', 0, 1, 2, 1, 34, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-13-2', 0, 'C1-034-13-2', 0, 1, 2, 1, 34, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-14-1', 0, 'C1-034-14-1', 0, 1, 2, 1, 34, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-14-2', 0, 'C1-034-14-2', 0, 1, 2, 1, 34, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-15-1', 0, 'C1-034-15-1', 0, 1, 2, 1, 34, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-034-15-2', 0, 'C1-034-15-2', 0, 1, 2, 1, 34, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-01-1', 0, 'C1-035-01-1', 0, 1, 2, 1, 35, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-01-2', 0, 'C1-035-01-2', 0, 1, 2, 1, 35, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-02-1', 0, 'C1-035-02-1', 0, 1, 2, 1, 35, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-02-2', 0, 'C1-035-02-2', 0, 1, 2, 1, 35, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-03-1', 0, 'C1-035-03-1', 0, 1, 2, 1, 35, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-03-2', 0, 'C1-035-03-2', 0, 1, 2, 1, 35, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-04-1', 0, 'C1-035-04-1', 0, 1, 2, 1, 35, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-04-2', 0, 'C1-035-04-2', 0, 1, 2, 1, 35, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-05-1', 0, 'C1-035-05-1', 0, 1, 2, 1, 35, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-05-2', 0, 'C1-035-05-2', 0, 1, 2, 1, 35, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-06-1', 0, 'C1-035-06-1', 0, 1, 2, 1, 35, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-06-2', 0, 'C1-035-06-2', 0, 1, 2, 1, 35, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-07-1', 0, 'C1-035-07-1', 0, 1, 2, 1, 35, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-07-2', 0, 'C1-035-07-2', 0, 1, 2, 1, 35, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-08-1', 0, 'C1-035-08-1', 0, 1, 2, 1, 35, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-08-2', 0, 'C1-035-08-2', 0, 1, 2, 1, 35, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-09-1', 0, 'C1-035-09-1', 0, 1, 2, 1, 35, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-09-2', 0, 'C1-035-09-2', 0, 1, 2, 1, 35, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-10-1', 0, 'C1-035-10-1', 0, 1, 2, 1, 35, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-10-2', 0, 'C1-035-10-2', 0, 1, 2, 1, 35, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-11-1', 0, 'C1-035-11-1', 0, 1, 2, 1, 35, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-11-2', 0, 'C1-035-11-2', 0, 1, 2, 1, 35, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-12-1', 0, 'C1-035-12-1', 0, 1, 2, 1, 35, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-12-2', 0, 'C1-035-12-2', 0, 1, 2, 1, 35, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-13-1', 0, 'C1-035-13-1', 0, 1, 2, 1, 35, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-13-2', 0, 'C1-035-13-2', 0, 1, 2, 1, 35, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-14-1', 2, 'C1-035-14-1', 0, 1, 2, 1, 35, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-14-2', 0, 'C1-035-14-2', 0, 1, 2, 1, 35, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-15-1', 0, 'C1-035-15-1', 0, 1, 2, 1, 35, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-035-15-2', 0, 'C1-035-15-2', 0, 1, 2, 1, 35, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-01-1', 0, 'C1-036-01-1', 0, 1, 2, 1, 36, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-01-2', 0, 'C1-036-01-2', 0, 1, 2, 1, 36, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-02-1', 0, 'C1-036-02-1', 0, 1, 2, 1, 36, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-02-2', 0, 'C1-036-02-2', 0, 1, 2, 1, 36, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-03-1', 0, 'C1-036-03-1', 0, 1, 2, 1, 36, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-03-2', 0, 'C1-036-03-2', 0, 1, 2, 1, 36, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-04-1', 0, 'C1-036-04-1', 0, 1, 2, 1, 36, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-04-2', 0, 'C1-036-04-2', 0, 1, 2, 1, 36, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-05-1', 0, 'C1-036-05-1', 0, 1, 2, 1, 36, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-05-2', 0, 'C1-036-05-2', 0, 1, 2, 1, 36, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-06-1', 0, 'C1-036-06-1', 0, 1, 2, 1, 36, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-06-2', 0, 'C1-036-06-2', 0, 1, 2, 1, 36, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-07-1', 0, 'C1-036-07-1', 0, 1, 2, 1, 36, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-07-2', 0, 'C1-036-07-2', 0, 1, 2, 1, 36, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-08-1', 0, 'C1-036-08-1', 0, 1, 2, 1, 36, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-08-2', 0, 'C1-036-08-2', 0, 1, 2, 1, 36, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-09-1', 0, 'C1-036-09-1', 0, 1, 2, 1, 36, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-09-2', 0, 'C1-036-09-2', 0, 1, 2, 1, 36, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-10-1', 0, 'C1-036-10-1', 0, 1, 2, 1, 36, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-10-2', 0, 'C1-036-10-2', 0, 1, 2, 1, 36, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-11-1', 0, 'C1-036-11-1', 0, 1, 2, 1, 36, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-11-2', 0, 'C1-036-11-2', 0, 1, 2, 1, 36, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-12-1', 0, 'C1-036-12-1', 0, 1, 2, 1, 36, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-12-2', 0, 'C1-036-12-2', 0, 1, 2, 1, 36, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-13-1', 0, 'C1-036-13-1', 0, 1, 2, 1, 36, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-13-2', 0, 'C1-036-13-2', 0, 1, 2, 1, 36, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-14-1', 0, 'C1-036-14-1', 0, 1, 2, 1, 36, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-14-2', 0, 'C1-036-14-2', 0, 1, 2, 1, 36, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-15-1', 0, 'C1-036-15-1', 0, 1, 2, 1, 36, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-036-15-2', 0, 'C1-036-15-2', 0, 1, 2, 1, 36, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-01-1', 0, 'C1-037-01-1', 0, 1, 2, 1, 37, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-01-2', 0, 'C1-037-01-2', 0, 1, 2, 1, 37, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-02-1', 0, 'C1-037-02-1', 0, 1, 2, 1, 37, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-02-2', 0, 'C1-037-02-2', 0, 1, 2, 1, 37, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-03-1', 0, 'C1-037-03-1', 0, 1, 2, 1, 37, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-03-2', 0, 'C1-037-03-2', 0, 1, 2, 1, 37, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-04-1', 0, 'C1-037-04-1', 0, 1, 2, 1, 37, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-04-2', 0, 'C1-037-04-2', 0, 1, 2, 1, 37, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-05-1', 0, 'C1-037-05-1', 0, 1, 2, 1, 37, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-05-2', 0, 'C1-037-05-2', 0, 1, 2, 1, 37, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-06-1', 0, 'C1-037-06-1', 0, 1, 2, 1, 37, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-06-2', 0, 'C1-037-06-2', 0, 1, 2, 1, 37, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-07-1', 0, 'C1-037-07-1', 0, 1, 2, 1, 37, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-07-2', 0, 'C1-037-07-2', 0, 1, 2, 1, 37, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-08-1', 0, 'C1-037-08-1', 0, 1, 2, 1, 37, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-08-2', 0, 'C1-037-08-2', 0, 1, 2, 1, 37, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-09-1', 0, 'C1-037-09-1', 0, 1, 2, 1, 37, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-09-2', 0, 'C1-037-09-2', 0, 1, 2, 1, 37, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-10-1', 0, 'C1-037-10-1', 0, 1, 2, 1, 37, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-10-2', 0, 'C1-037-10-2', 0, 1, 2, 1, 37, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-11-1', 0, 'C1-037-11-1', 0, 1, 2, 1, 37, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-11-2', 0, 'C1-037-11-2', 0, 1, 2, 1, 37, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-12-1', 0, 'C1-037-12-1', 0, 1, 2, 1, 37, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-12-2', 0, 'C1-037-12-2', 0, 1, 2, 1, 37, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-13-1', 0, 'C1-037-13-1', 0, 1, 2, 1, 37, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-13-2', 0, 'C1-037-13-2', 0, 1, 2, 1, 37, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-14-1', 0, 'C1-037-14-1', 0, 1, 2, 1, 37, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-14-2', 0, 'C1-037-14-2', 0, 1, 2, 1, 37, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-15-1', 0, 'C1-037-15-1', 0, 1, 2, 1, 37, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-037-15-2', 0, 'C1-037-15-2', 0, 1, 2, 1, 37, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-01-1', 0, 'C1-038-01-1', 0, 1, 2, 1, 38, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-01-2', 0, 'C1-038-01-2', 0, 1, 2, 1, 38, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-02-1', 0, 'C1-038-02-1', 0, 1, 2, 1, 38, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-02-2', 0, 'C1-038-02-2', 0, 1, 2, 1, 38, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-03-1', 0, 'C1-038-03-1', 0, 1, 2, 1, 38, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-03-2', 0, 'C1-038-03-2', 0, 1, 2, 1, 38, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-04-1', 0, 'C1-038-04-1', 0, 1, 2, 1, 38, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-04-2', 0, 'C1-038-04-2', 0, 1, 2, 1, 38, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-05-1', 0, 'C1-038-05-1', 0, 1, 2, 1, 38, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-05-2', 0, 'C1-038-05-2', 0, 1, 2, 1, 38, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-06-1', 0, 'C1-038-06-1', 0, 1, 2, 1, 38, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-06-2', 0, 'C1-038-06-2', 0, 1, 2, 1, 38, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-07-1', 0, 'C1-038-07-1', 0, 1, 2, 1, 38, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-07-2', 0, 'C1-038-07-2', 0, 1, 2, 1, 38, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-08-1', 0, 'C1-038-08-1', 0, 1, 2, 1, 38, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-08-2', 0, 'C1-038-08-2', 0, 1, 2, 1, 38, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-09-1', 0, 'C1-038-09-1', 0, 1, 2, 1, 38, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-09-2', 0, 'C1-038-09-2', 0, 1, 2, 1, 38, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-10-1', 0, 'C1-038-10-1', 0, 1, 2, 1, 38, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-10-2', 0, 'C1-038-10-2', 0, 1, 2, 1, 38, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-11-1', 0, 'C1-038-11-1', 0, 1, 2, 1, 38, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-11-2', 0, 'C1-038-11-2', 0, 1, 2, 1, 38, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-12-1', 0, 'C1-038-12-1', 0, 1, 2, 1, 38, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-12-2', 0, 'C1-038-12-2', 0, 1, 2, 1, 38, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-13-1', 0, 'C1-038-13-1', 0, 1, 2, 1, 38, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-13-2', 0, 'C1-038-13-2', 0, 1, 2, 1, 38, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-14-1', 0, 'C1-038-14-1', 0, 1, 2, 1, 38, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-14-2', 0, 'C1-038-14-2', 0, 1, 2, 1, 38, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-15-1', 0, 'C1-038-15-1', 0, 1, 2, 1, 38, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-038-15-2', 0, 'C1-038-15-2', 0, 1, 2, 1, 38, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-01-1', 0, 'C1-039-01-1', 0, 1, 2, 1, 39, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-01-2', 0, 'C1-039-01-2', 0, 1, 2, 1, 39, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-02-1', 0, 'C1-039-02-1', 0, 1, 2, 1, 39, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-02-2', 0, 'C1-039-02-2', 0, 1, 2, 1, 39, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-03-1', 0, 'C1-039-03-1', 0, 1, 2, 1, 39, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-03-2', 0, 'C1-039-03-2', 0, 1, 2, 1, 39, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-04-1', 0, 'C1-039-04-1', 0, 1, 2, 1, 39, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-04-2', 0, 'C1-039-04-2', 0, 1, 2, 1, 39, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-05-1', 0, 'C1-039-05-1', 0, 1, 2, 1, 39, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-05-2', 0, 'C1-039-05-2', 0, 1, 2, 1, 39, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-06-1', 0, 'C1-039-06-1', 0, 1, 2, 1, 39, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-06-2', 0, 'C1-039-06-2', 0, 1, 2, 1, 39, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-07-1', 0, 'C1-039-07-1', 0, 1, 2, 1, 39, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-07-2', 0, 'C1-039-07-2', 0, 1, 2, 1, 39, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-08-1', 0, 'C1-039-08-1', 0, 1, 2, 1, 39, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-08-2', 0, 'C1-039-08-2', 0, 1, 2, 1, 39, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-09-1', 0, 'C1-039-09-1', 0, 1, 2, 1, 39, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-09-2', 0, 'C1-039-09-2', 0, 1, 2, 1, 39, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-10-1', 0, 'C1-039-10-1', 0, 1, 2, 1, 39, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-10-2', 0, 'C1-039-10-2', 0, 1, 2, 1, 39, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-11-1', 0, 'C1-039-11-1', 0, 1, 2, 1, 39, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-11-2', 0, 'C1-039-11-2', 0, 1, 2, 1, 39, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-12-1', 0, 'C1-039-12-1', 0, 1, 2, 1, 39, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-12-2', 0, 'C1-039-12-2', 0, 1, 2, 1, 39, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-13-1', 0, 'C1-039-13-1', 0, 1, 2, 1, 39, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-13-2', 0, 'C1-039-13-2', 0, 1, 2, 1, 39, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-14-1', 2, 'C1-039-14-1', 0, 1, 2, 1, 39, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-14-2', 0, 'C1-039-14-2', 0, 1, 2, 1, 39, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-15-1', 0, 'C1-039-15-1', 0, 1, 2, 1, 39, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-039-15-2', 0, 'C1-039-15-2', 0, 1, 2, 1, 39, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-01-1', 0, 'C1-040-01-1', 0, 1, 2, 1, 40, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-01-2', 0, 'C1-040-01-2', 0, 1, 2, 1, 40, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-02-1', 0, 'C1-040-02-1', 0, 1, 2, 1, 40, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-02-2', 0, 'C1-040-02-2', 0, 1, 2, 1, 40, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-03-1', 0, 'C1-040-03-1', 0, 1, 2, 1, 40, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-03-2', 0, 'C1-040-03-2', 0, 1, 2, 1, 40, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-04-1', 0, 'C1-040-04-1', 0, 1, 2, 1, 40, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-04-2', 0, 'C1-040-04-2', 0, 1, 2, 1, 40, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-05-1', 0, 'C1-040-05-1', 0, 1, 2, 1, 40, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-05-2', 0, 'C1-040-05-2', 0, 1, 2, 1, 40, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-06-1', 0, 'C1-040-06-1', 0, 1, 2, 1, 40, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-06-2', 0, 'C1-040-06-2', 0, 1, 2, 1, 40, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-07-1', 0, 'C1-040-07-1', 0, 1, 2, 1, 40, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-07-2', 0, 'C1-040-07-2', 0, 1, 2, 1, 40, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-08-1', 0, 'C1-040-08-1', 0, 1, 2, 1, 40, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-08-2', 0, 'C1-040-08-2', 0, 1, 2, 1, 40, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-09-1', 0, 'C1-040-09-1', 0, 1, 2, 1, 40, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-09-2', 0, 'C1-040-09-2', 0, 1, 2, 1, 40, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-10-1', 0, 'C1-040-10-1', 0, 1, 2, 1, 40, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-10-2', 0, 'C1-040-10-2', 0, 1, 2, 1, 40, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-11-1', 0, 'C1-040-11-1', 0, 1, 2, 1, 40, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-11-2', 0, 'C1-040-11-2', 0, 1, 2, 1, 40, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-12-1', 0, 'C1-040-12-1', 0, 1, 2, 1, 40, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-12-2', 0, 'C1-040-12-2', 0, 1, 2, 1, 40, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-13-1', 0, 'C1-040-13-1', 0, 1, 2, 1, 40, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-13-2', 0, 'C1-040-13-2', 0, 1, 2, 1, 40, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-14-1', 0, 'C1-040-14-1', 0, 1, 2, 1, 40, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-14-2', 0, 'C1-040-14-2', 0, 1, 2, 1, 40, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-15-1', 0, 'C1-040-15-1', 0, 1, 2, 1, 40, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-040-15-2', 0, 'C1-040-15-2', 0, 1, 2, 1, 40, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-01-1', 0, 'C1-041-01-1', 0, 1, 2, 1, 41, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-01-2', 0, 'C1-041-01-2', 0, 1, 2, 1, 41, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-02-1', 0, 'C1-041-02-1', 0, 1, 2, 1, 41, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-02-2', 0, 'C1-041-02-2', 0, 1, 2, 1, 41, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-03-1', 0, 'C1-041-03-1', 0, 1, 2, 1, 41, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-03-2', 0, 'C1-041-03-2', 0, 1, 2, 1, 41, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-04-1', 0, 'C1-041-04-1', 0, 1, 2, 1, 41, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-04-2', 0, 'C1-041-04-2', 0, 1, 2, 1, 41, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-05-1', 0, 'C1-041-05-1', 0, 1, 2, 1, 41, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-05-2', 0, 'C1-041-05-2', 0, 1, 2, 1, 41, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-06-1', 0, 'C1-041-06-1', 0, 1, 2, 1, 41, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-06-2', 0, 'C1-041-06-2', 0, 1, 2, 1, 41, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-07-1', 0, 'C1-041-07-1', 0, 1, 2, 1, 41, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-07-2', 0, 'C1-041-07-2', 0, 1, 2, 1, 41, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-08-1', 0, 'C1-041-08-1', 0, 1, 2, 1, 41, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-08-2', 0, 'C1-041-08-2', 0, 1, 2, 1, 41, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-09-1', 0, 'C1-041-09-1', 0, 1, 2, 1, 41, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-09-2', 0, 'C1-041-09-2', 0, 1, 2, 1, 41, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-10-1', 0, 'C1-041-10-1', 0, 1, 2, 1, 41, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-10-2', 0, 'C1-041-10-2', 0, 1, 2, 1, 41, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-11-1', 0, 'C1-041-11-1', 0, 1, 2, 1, 41, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-11-2', 0, 'C1-041-11-2', 0, 1, 2, 1, 41, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-12-1', 0, 'C1-041-12-1', 0, 1, 2, 1, 41, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-12-2', 0, 'C1-041-12-2', 0, 1, 2, 1, 41, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-13-1', 0, 'C1-041-13-1', 0, 1, 2, 1, 41, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-13-2', 0, 'C1-041-13-2', 0, 1, 2, 1, 41, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-14-1', 0, 'C1-041-14-1', 0, 1, 2, 1, 41, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-14-2', 0, 'C1-041-14-2', 0, 1, 2, 1, 41, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-15-1', 0, 'C1-041-15-1', 0, 1, 2, 1, 41, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-041-15-2', 0, 'C1-041-15-2', 0, 1, 2, 1, 41, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-01-1', 0, 'C1-042-01-1', 0, 1, 2, 1, 42, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-01-2', 0, 'C1-042-01-2', 0, 1, 2, 1, 42, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-02-1', 0, 'C1-042-02-1', 0, 1, 2, 1, 42, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-02-2', 0, 'C1-042-02-2', 0, 1, 2, 1, 42, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-03-1', 0, 'C1-042-03-1', 0, 1, 2, 1, 42, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-03-2', 0, 'C1-042-03-2', 0, 1, 2, 1, 42, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-04-1', 0, 'C1-042-04-1', 0, 1, 2, 1, 42, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-04-2', 0, 'C1-042-04-2', 0, 1, 2, 1, 42, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-05-1', 0, 'C1-042-05-1', 0, 1, 2, 1, 42, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-05-2', 0, 'C1-042-05-2', 0, 1, 2, 1, 42, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-06-1', 0, 'C1-042-06-1', 0, 1, 2, 1, 42, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-06-2', 0, 'C1-042-06-2', 0, 1, 2, 1, 42, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-07-1', 0, 'C1-042-07-1', 0, 1, 2, 1, 42, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-07-2', 0, 'C1-042-07-2', 0, 1, 2, 1, 42, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-08-1', 0, 'C1-042-08-1', 0, 1, 2, 1, 42, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-08-2', 0, 'C1-042-08-2', 0, 1, 2, 1, 42, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-09-1', 0, 'C1-042-09-1', 0, 1, 2, 1, 42, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-09-2', 0, 'C1-042-09-2', 0, 1, 2, 1, 42, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-10-1', 0, 'C1-042-10-1', 0, 1, 2, 1, 42, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-10-2', 0, 'C1-042-10-2', 0, 1, 2, 1, 42, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-11-1', 0, 'C1-042-11-1', 0, 1, 2, 1, 42, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-11-2', 0, 'C1-042-11-2', 0, 1, 2, 1, 42, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-12-1', 0, 'C1-042-12-1', 0, 1, 2, 1, 42, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-12-2', 0, 'C1-042-12-2', 0, 1, 2, 1, 42, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-13-1', 0, 'C1-042-13-1', 0, 1, 2, 1, 42, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-13-2', 0, 'C1-042-13-2', 0, 1, 2, 1, 42, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-14-1', 0, 'C1-042-14-1', 0, 1, 2, 1, 42, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-14-2', 0, 'C1-042-14-2', 0, 1, 2, 1, 42, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-15-1', 0, 'C1-042-15-1', 0, 1, 2, 1, 42, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-042-15-2', 0, 'C1-042-15-2', 0, 1, 2, 1, 42, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-01-1', 0, 'C1-043-01-1', 0, 1, 2, 1, 43, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-01-2', 0, 'C1-043-01-2', 0, 1, 2, 1, 43, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-02-1', 0, 'C1-043-02-1', 0, 1, 2, 1, 43, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-02-2', 0, 'C1-043-02-2', 0, 1, 2, 1, 43, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-03-1', 0, 'C1-043-03-1', 0, 1, 2, 1, 43, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-03-2', 0, 'C1-043-03-2', 0, 1, 2, 1, 43, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-04-1', 0, 'C1-043-04-1', 0, 1, 2, 1, 43, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-04-2', 0, 'C1-043-04-2', 0, 1, 2, 1, 43, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-05-1', 0, 'C1-043-05-1', 0, 1, 2, 1, 43, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-05-2', 0, 'C1-043-05-2', 0, 1, 2, 1, 43, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-06-1', 0, 'C1-043-06-1', 0, 1, 2, 1, 43, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-06-2', 0, 'C1-043-06-2', 0, 1, 2, 1, 43, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-07-1', 0, 'C1-043-07-1', 0, 1, 2, 1, 43, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-07-2', 0, 'C1-043-07-2', 0, 1, 2, 1, 43, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-08-1', 0, 'C1-043-08-1', 0, 1, 2, 1, 43, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-08-2', 0, 'C1-043-08-2', 0, 1, 2, 1, 43, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-09-1', 0, 'C1-043-09-1', 0, 1, 2, 1, 43, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-09-2', 0, 'C1-043-09-2', 0, 1, 2, 1, 43, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-10-1', 0, 'C1-043-10-1', 0, 1, 2, 1, 43, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-10-2', 0, 'C1-043-10-2', 0, 1, 2, 1, 43, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-11-1', 0, 'C1-043-11-1', 0, 1, 2, 1, 43, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-11-2', 0, 'C1-043-11-2', 0, 1, 2, 1, 43, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-12-1', 0, 'C1-043-12-1', 0, 1, 2, 1, 43, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-12-2', 0, 'C1-043-12-2', 0, 1, 2, 1, 43, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-13-1', 0, 'C1-043-13-1', 0, 1, 2, 1, 43, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-13-2', 0, 'C1-043-13-2', 0, 1, 2, 1, 43, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-14-1', 0, 'C1-043-14-1', 0, 1, 2, 1, 43, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-14-2', 0, 'C1-043-14-2', 0, 1, 2, 1, 43, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-15-1', 0, 'C1-043-15-1', 0, 1, 2, 1, 43, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-043-15-2', 2, 'C1-043-15-2', 0, 1, 2, 1, 43, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-01-1', 0, 'C1-044-01-1', 0, 1, 2, 1, 44, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-01-2', 0, 'C1-044-01-2', 0, 1, 2, 1, 44, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-02-1', 0, 'C1-044-02-1', 0, 1, 2, 1, 44, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-02-2', 0, 'C1-044-02-2', 0, 1, 2, 1, 44, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-03-1', 0, 'C1-044-03-1', 0, 1, 2, 1, 44, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-03-2', 0, 'C1-044-03-2', 0, 1, 2, 1, 44, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-04-1', 0, 'C1-044-04-1', 0, 1, 2, 1, 44, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-04-2', 0, 'C1-044-04-2', 0, 1, 2, 1, 44, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-05-1', 0, 'C1-044-05-1', 0, 1, 2, 1, 44, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-05-2', 0, 'C1-044-05-2', 0, 1, 2, 1, 44, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-06-1', 0, 'C1-044-06-1', 0, 1, 2, 1, 44, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-06-2', 0, 'C1-044-06-2', 0, 1, 2, 1, 44, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-07-1', 0, 'C1-044-07-1', 0, 1, 2, 1, 44, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-07-2', 0, 'C1-044-07-2', 0, 1, 2, 1, 44, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-08-1', 0, 'C1-044-08-1', 0, 1, 2, 1, 44, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-08-2', 0, 'C1-044-08-2', 0, 1, 2, 1, 44, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-09-1', 0, 'C1-044-09-1', 0, 1, 2, 1, 44, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-09-2', 0, 'C1-044-09-2', 0, 1, 2, 1, 44, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-10-1', 0, 'C1-044-10-1', 0, 1, 2, 1, 44, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-10-2', 0, 'C1-044-10-2', 0, 1, 2, 1, 44, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-11-1', 0, 'C1-044-11-1', 0, 1, 2, 1, 44, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-11-2', 0, 'C1-044-11-2', 0, 1, 2, 1, 44, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-12-1', 0, 'C1-044-12-1', 0, 1, 2, 1, 44, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-12-2', 0, 'C1-044-12-2', 0, 1, 2, 1, 44, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-13-1', 0, 'C1-044-13-1', 0, 1, 2, 1, 44, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-13-2', 0, 'C1-044-13-2', 0, 1, 2, 1, 44, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-14-1', 0, 'C1-044-14-1', 0, 1, 2, 1, 44, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-14-2', 1, 'C1-044-14-2', 0, 1, 2, 1, 44, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-15-1', 0, 'C1-044-15-1', 0, 1, 2, 1, 44, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-044-15-2', 0, 'C1-044-15-2', 0, 1, 2, 1, 44, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-01-1', 0, 'C1-045-01-1', 0, 1, 2, 1, 45, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-01-2', 0, 'C1-045-01-2', 0, 1, 2, 1, 45, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-02-1', 0, 'C1-045-02-1', 0, 1, 2, 1, 45, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-02-2', 0, 'C1-045-02-2', 0, 1, 2, 1, 45, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-03-1', 0, 'C1-045-03-1', 0, 1, 2, 1, 45, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-03-2', 0, 'C1-045-03-2', 0, 1, 2, 1, 45, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-04-1', 0, 'C1-045-04-1', 0, 1, 2, 1, 45, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-04-2', 0, 'C1-045-04-2', 0, 1, 2, 1, 45, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-05-1', 0, 'C1-045-05-1', 0, 1, 2, 1, 45, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-05-2', 0, 'C1-045-05-2', 0, 1, 2, 1, 45, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-06-1', 0, 'C1-045-06-1', 0, 1, 2, 1, 45, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-06-2', 0, 'C1-045-06-2', 0, 1, 2, 1, 45, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-07-1', 0, 'C1-045-07-1', 0, 1, 2, 1, 45, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-07-2', 0, 'C1-045-07-2', 0, 1, 2, 1, 45, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-08-1', 0, 'C1-045-08-1', 0, 1, 2, 1, 45, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-08-2', 0, 'C1-045-08-2', 0, 1, 2, 1, 45, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-09-1', 0, 'C1-045-09-1', 0, 1, 2, 1, 45, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-09-2', 0, 'C1-045-09-2', 0, 1, 2, 1, 45, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-10-1', 0, 'C1-045-10-1', 0, 1, 2, 1, 45, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-10-2', 0, 'C1-045-10-2', 0, 1, 2, 1, 45, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-11-1', 0, 'C1-045-11-1', 0, 1, 2, 1, 45, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-11-2', 0, 'C1-045-11-2', 0, 1, 2, 1, 45, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-12-1', 0, 'C1-045-12-1', 0, 1, 2, 1, 45, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-12-2', 0, 'C1-045-12-2', 0, 1, 2, 1, 45, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-13-1', 0, 'C1-045-13-1', 0, 1, 2, 1, 45, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-13-2', 0, 'C1-045-13-2', 0, 1, 2, 1, 45, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-14-1', 0, 'C1-045-14-1', 0, 1, 2, 1, 45, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-14-2', 0, 'C1-045-14-2', 0, 1, 2, 1, 45, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-15-1', 0, 'C1-045-15-1', 0, 1, 2, 1, 45, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-045-15-2', 0, 'C1-045-15-2', 0, 1, 2, 1, 45, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-01-1', 0, 'C1-046-01-1', 0, 1, 2, 1, 46, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-01-2', 0, 'C1-046-01-2', 0, 1, 2, 1, 46, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-02-1', 0, 'C1-046-02-1', 0, 1, 2, 1, 46, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-02-2', 0, 'C1-046-02-2', 0, 1, 2, 1, 46, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-03-1', 0, 'C1-046-03-1', 0, 1, 2, 1, 46, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-03-2', 0, 'C1-046-03-2', 0, 1, 2, 1, 46, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-04-1', 0, 'C1-046-04-1', 0, 1, 2, 1, 46, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-04-2', 0, 'C1-046-04-2', 0, 1, 2, 1, 46, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-05-1', 0, 'C1-046-05-1', 0, 1, 2, 1, 46, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-05-2', 0, 'C1-046-05-2', 0, 1, 2, 1, 46, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-06-1', 0, 'C1-046-06-1', 0, 1, 2, 1, 46, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-06-2', 0, 'C1-046-06-2', 0, 1, 2, 1, 46, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-07-1', 0, 'C1-046-07-1', 0, 1, 2, 1, 46, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-07-2', 0, 'C1-046-07-2', 0, 1, 2, 1, 46, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-08-1', 0, 'C1-046-08-1', 0, 1, 2, 1, 46, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-08-2', 0, 'C1-046-08-2', 0, 1, 2, 1, 46, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-09-1', 0, 'C1-046-09-1', 0, 1, 2, 1, 46, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-09-2', 0, 'C1-046-09-2', 0, 1, 2, 1, 46, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-10-1', 0, 'C1-046-10-1', 0, 1, 2, 1, 46, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-10-2', 0, 'C1-046-10-2', 0, 1, 2, 1, 46, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-11-1', 0, 'C1-046-11-1', 0, 1, 2, 1, 46, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-11-2', 0, 'C1-046-11-2', 0, 1, 2, 1, 46, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-12-1', 0, 'C1-046-12-1', 0, 1, 2, 1, 46, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-12-2', 0, 'C1-046-12-2', 0, 1, 2, 1, 46, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-13-1', 0, 'C1-046-13-1', 0, 1, 2, 1, 46, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-13-2', 0, 'C1-046-13-2', 0, 1, 2, 1, 46, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-14-1', 0, 'C1-046-14-1', 0, 1, 2, 1, 46, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-14-2', 0, 'C1-046-14-2', 0, 1, 2, 1, 46, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-15-1', 0, 'C1-046-15-1', 0, 1, 2, 1, 46, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-046-15-2', 0, 'C1-046-15-2', 0, 1, 2, 1, 46, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-01-1', 0, 'C1-047-01-1', 0, 1, 2, 1, 47, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-01-2', 0, 'C1-047-01-2', 0, 1, 2, 1, 47, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-02-1', 0, 'C1-047-02-1', 0, 1, 2, 1, 47, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-02-2', 0, 'C1-047-02-2', 0, 1, 2, 1, 47, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-03-1', 0, 'C1-047-03-1', 0, 1, 2, 1, 47, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-03-2', 0, 'C1-047-03-2', 0, 1, 2, 1, 47, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-04-1', 0, 'C1-047-04-1', 0, 1, 2, 1, 47, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-04-2', 0, 'C1-047-04-2', 0, 1, 2, 1, 47, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-05-1', 0, 'C1-047-05-1', 0, 1, 2, 1, 47, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-05-2', 0, 'C1-047-05-2', 0, 1, 2, 1, 47, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-06-1', 0, 'C1-047-06-1', 0, 1, 2, 1, 47, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-06-2', 0, 'C1-047-06-2', 0, 1, 2, 1, 47, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-07-1', 0, 'C1-047-07-1', 0, 1, 2, 1, 47, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-07-2', 0, 'C1-047-07-2', 0, 1, 2, 1, 47, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-08-1', 0, 'C1-047-08-1', 0, 1, 2, 1, 47, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-08-2', 0, 'C1-047-08-2', 0, 1, 2, 1, 47, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-09-1', 0, 'C1-047-09-1', 0, 1, 2, 1, 47, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-09-2', 0, 'C1-047-09-2', 0, 1, 2, 1, 47, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-10-1', 0, 'C1-047-10-1', 0, 1, 2, 1, 47, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-10-2', 0, 'C1-047-10-2', 0, 1, 2, 1, 47, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-11-1', 0, 'C1-047-11-1', 0, 1, 2, 1, 47, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-11-2', 0, 'C1-047-11-2', 0, 1, 2, 1, 47, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-12-1', 0, 'C1-047-12-1', 0, 1, 2, 1, 47, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-12-2', 0, 'C1-047-12-2', 0, 1, 2, 1, 47, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-13-1', 0, 'C1-047-13-1', 0, 1, 2, 1, 47, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-13-2', 0, 'C1-047-13-2', 0, 1, 2, 1, 47, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-14-1', 0, 'C1-047-14-1', 0, 1, 2, 1, 47, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-14-2', 9, 'C1-047-14-2', 0, 1, 2, 1, 47, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-15-1', 0, 'C1-047-15-1', 0, 1, 2, 1, 47, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-047-15-2', 0, 'C1-047-15-2', 0, 1, 2, 1, 47, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-01-1', 0, 'C1-048-01-1', 0, 1, 2, 1, 48, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-01-2', 0, 'C1-048-01-2', 0, 1, 2, 1, 48, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-02-1', 0, 'C1-048-02-1', 0, 1, 2, 1, 48, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-02-2', 0, 'C1-048-02-2', 0, 1, 2, 1, 48, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-03-1', 0, 'C1-048-03-1', 0, 1, 2, 1, 48, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-03-2', 0, 'C1-048-03-2', 0, 1, 2, 1, 48, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-04-1', 0, 'C1-048-04-1', 0, 1, 2, 1, 48, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-04-2', 0, 'C1-048-04-2', 0, 1, 2, 1, 48, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-05-1', 0, 'C1-048-05-1', 0, 1, 2, 1, 48, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-05-2', 0, 'C1-048-05-2', 0, 1, 2, 1, 48, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-06-1', 0, 'C1-048-06-1', 0, 1, 2, 1, 48, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-06-2', 0, 'C1-048-06-2', 0, 1, 2, 1, 48, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-07-1', 0, 'C1-048-07-1', 0, 1, 2, 1, 48, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-07-2', 0, 'C1-048-07-2', 0, 1, 2, 1, 48, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-08-1', 0, 'C1-048-08-1', 0, 1, 2, 1, 48, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-08-2', 0, 'C1-048-08-2', 0, 1, 2, 1, 48, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-09-1', 0, 'C1-048-09-1', 0, 1, 2, 1, 48, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-09-2', 0, 'C1-048-09-2', 0, 1, 2, 1, 48, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-10-1', 0, 'C1-048-10-1', 0, 1, 2, 1, 48, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-10-2', 0, 'C1-048-10-2', 0, 1, 2, 1, 48, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-11-1', 0, 'C1-048-11-1', 0, 1, 2, 1, 48, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-11-2', 0, 'C1-048-11-2', 0, 1, 2, 1, 48, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-12-1', 0, 'C1-048-12-1', 0, 1, 2, 1, 48, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-12-2', 0, 'C1-048-12-2', 0, 1, 2, 1, 48, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-13-1', 0, 'C1-048-13-1', 0, 1, 2, 1, 48, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-13-2', 0, 'C1-048-13-2', 0, 1, 2, 1, 48, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-14-1', 0, 'C1-048-14-1', 0, 1, 2, 1, 48, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-14-2', 0, 'C1-048-14-2', 0, 1, 2, 1, 48, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-15-1', 0, 'C1-048-15-1', 0, 1, 2, 1, 48, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-048-15-2', 0, 'C1-048-15-2', 0, 1, 2, 1, 48, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-01-1', 0, 'C1-049-01-1', 0, 1, 2, 1, 49, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-01-2', 0, 'C1-049-01-2', 0, 1, 2, 1, 49, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-02-1', 0, 'C1-049-02-1', 0, 1, 2, 1, 49, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-02-2', 0, 'C1-049-02-2', 0, 1, 2, 1, 49, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-03-1', 0, 'C1-049-03-1', 0, 1, 2, 1, 49, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-03-2', 0, 'C1-049-03-2', 0, 1, 2, 1, 49, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-04-1', 0, 'C1-049-04-1', 0, 1, 2, 1, 49, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-04-2', 0, 'C1-049-04-2', 0, 1, 2, 1, 49, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-05-1', 0, 'C1-049-05-1', 0, 1, 2, 1, 49, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-05-2', 0, 'C1-049-05-2', 0, 1, 2, 1, 49, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-06-1', 0, 'C1-049-06-1', 0, 1, 2, 1, 49, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-06-2', 0, 'C1-049-06-2', 0, 1, 2, 1, 49, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-07-1', 0, 'C1-049-07-1', 0, 1, 2, 1, 49, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-07-2', 0, 'C1-049-07-2', 0, 1, 2, 1, 49, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-08-1', 0, 'C1-049-08-1', 0, 1, 2, 1, 49, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-08-2', 0, 'C1-049-08-2', 0, 1, 2, 1, 49, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-09-1', 0, 'C1-049-09-1', 0, 1, 2, 1, 49, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-09-2', 0, 'C1-049-09-2', 0, 1, 2, 1, 49, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-10-1', 0, 'C1-049-10-1', 0, 1, 2, 1, 49, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-10-2', 0, 'C1-049-10-2', 0, 1, 2, 1, 49, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-11-1', 0, 'C1-049-11-1', 0, 1, 2, 1, 49, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-11-2', 0, 'C1-049-11-2', 0, 1, 2, 1, 49, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-12-1', 0, 'C1-049-12-1', 0, 1, 2, 1, 49, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-12-2', 0, 'C1-049-12-2', 0, 1, 2, 1, 49, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-13-1', 0, 'C1-049-13-1', 0, 1, 2, 1, 49, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-13-2', 0, 'C1-049-13-2', 0, 1, 2, 1, 49, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-14-1', 0, 'C1-049-14-1', 0, 1, 2, 1, 49, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-14-2', 0, 'C1-049-14-2', 0, 1, 2, 1, 49, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-15-1', 0, 'C1-049-15-1', 0, 1, 2, 1, 49, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-049-15-2', 0, 'C1-049-15-2', 0, 1, 2, 1, 49, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-01-1', 0, 'C1-050-01-1', 0, 1, 2, 1, 50, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-01-2', 0, 'C1-050-01-2', 0, 1, 2, 1, 50, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-02-1', 0, 'C1-050-02-1', 0, 1, 2, 1, 50, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-02-2', 0, 'C1-050-02-2', 0, 1, 2, 1, 50, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-03-1', 0, 'C1-050-03-1', 0, 1, 2, 1, 50, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-03-2', 0, 'C1-050-03-2', 0, 1, 2, 1, 50, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-04-1', 0, 'C1-050-04-1', 0, 1, 2, 1, 50, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-04-2', 0, 'C1-050-04-2', 0, 1, 2, 1, 50, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-05-1', 0, 'C1-050-05-1', 0, 1, 2, 1, 50, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-05-2', 0, 'C1-050-05-2', 0, 1, 2, 1, 50, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-06-1', 0, 'C1-050-06-1', 0, 1, 2, 1, 50, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-06-2', 0, 'C1-050-06-2', 0, 1, 2, 1, 50, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-07-1', 0, 'C1-050-07-1', 0, 1, 2, 1, 50, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-07-2', 0, 'C1-050-07-2', 0, 1, 2, 1, 50, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-08-1', 0, 'C1-050-08-1', 0, 1, 2, 1, 50, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-08-2', 0, 'C1-050-08-2', 0, 1, 2, 1, 50, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-09-1', 0, 'C1-050-09-1', 0, 1, 2, 1, 50, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-09-2', 0, 'C1-050-09-2', 0, 1, 2, 1, 50, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-10-1', 0, 'C1-050-10-1', 0, 1, 2, 1, 50, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-10-2', 0, 'C1-050-10-2', 0, 1, 2, 1, 50, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-11-1', 0, 'C1-050-11-1', 0, 1, 2, 1, 50, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-11-2', 0, 'C1-050-11-2', 0, 1, 2, 1, 50, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-12-1', 0, 'C1-050-12-1', 0, 1, 2, 1, 50, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-12-2', 0, 'C1-050-12-2', 0, 1, 2, 1, 50, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-13-1', 0, 'C1-050-13-1', 0, 1, 2, 1, 50, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-13-2', 0, 'C1-050-13-2', 0, 1, 2, 1, 50, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-14-1', 0, 'C1-050-14-1', 0, 1, 2, 1, 50, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-14-2', 0, 'C1-050-14-2', 0, 1, 2, 1, 50, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-15-1', 0, 'C1-050-15-1', 0, 1, 2, 1, 50, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-050-15-2', 0, 'C1-050-15-2', 0, 1, 2, 1, 50, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-01-1', 0, 'C1-051-01-1', 0, 1, 2, 1, 51, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-01-2', 0, 'C1-051-01-2', 0, 1, 2, 1, 51, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-02-1', 0, 'C1-051-02-1', 0, 1, 2, 1, 51, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-02-2', 0, 'C1-051-02-2', 0, 1, 2, 1, 51, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-03-1', 0, 'C1-051-03-1', 0, 1, 2, 1, 51, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-03-2', 0, 'C1-051-03-2', 0, 1, 2, 1, 51, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-04-1', 0, 'C1-051-04-1', 0, 1, 2, 1, 51, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-04-2', 0, 'C1-051-04-2', 0, 1, 2, 1, 51, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-05-1', 0, 'C1-051-05-1', 0, 1, 2, 1, 51, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-05-2', 0, 'C1-051-05-2', 0, 1, 2, 1, 51, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-06-1', 0, 'C1-051-06-1', 0, 1, 2, 1, 51, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-06-2', 0, 'C1-051-06-2', 0, 1, 2, 1, 51, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-07-1', 0, 'C1-051-07-1', 0, 1, 2, 1, 51, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-07-2', 0, 'C1-051-07-2', 0, 1, 2, 1, 51, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-08-1', 0, 'C1-051-08-1', 0, 1, 2, 1, 51, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-08-2', 0, 'C1-051-08-2', 0, 1, 2, 1, 51, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-09-1', 0, 'C1-051-09-1', 0, 1, 2, 1, 51, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-09-2', 0, 'C1-051-09-2', 0, 1, 2, 1, 51, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-10-1', 0, 'C1-051-10-1', 0, 1, 2, 1, 51, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-10-2', 0, 'C1-051-10-2', 0, 1, 2, 1, 51, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-11-1', 0, 'C1-051-11-1', 0, 1, 2, 1, 51, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-11-2', 0, 'C1-051-11-2', 0, 1, 2, 1, 51, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-12-1', 0, 'C1-051-12-1', 0, 1, 2, 1, 51, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-12-2', 0, 'C1-051-12-2', 0, 1, 2, 1, 51, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-13-1', 0, 'C1-051-13-1', 0, 1, 2, 1, 51, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-13-2', 0, 'C1-051-13-2', 0, 1, 2, 1, 51, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-14-1', 0, 'C1-051-14-1', 0, 1, 2, 1, 51, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-14-2', 0, 'C1-051-14-2', 0, 1, 2, 1, 51, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-15-1', 0, 'C1-051-15-1', 0, 1, 2, 1, 51, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-051-15-2', 0, 'C1-051-15-2', 0, 1, 2, 1, 51, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-01-1', 0, 'C1-052-01-1', 0, 1, 2, 1, 52, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-01-2', 0, 'C1-052-01-2', 0, 1, 2, 1, 52, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-02-1', 0, 'C1-052-02-1', 0, 1, 2, 1, 52, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-02-2', 0, 'C1-052-02-2', 0, 1, 2, 1, 52, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-03-1', 0, 'C1-052-03-1', 0, 1, 2, 1, 52, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-03-2', 0, 'C1-052-03-2', 0, 1, 2, 1, 52, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-04-1', 0, 'C1-052-04-1', 0, 1, 2, 1, 52, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-04-2', 0, 'C1-052-04-2', 0, 1, 2, 1, 52, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-05-1', 0, 'C1-052-05-1', 0, 1, 2, 1, 52, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-05-2', 0, 'C1-052-05-2', 0, 1, 2, 1, 52, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-06-1', 0, 'C1-052-06-1', 0, 1, 2, 1, 52, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-06-2', 0, 'C1-052-06-2', 0, 1, 2, 1, 52, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-07-1', 0, 'C1-052-07-1', 0, 1, 2, 1, 52, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-07-2', 0, 'C1-052-07-2', 0, 1, 2, 1, 52, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-08-1', 0, 'C1-052-08-1', 0, 1, 2, 1, 52, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-08-2', 0, 'C1-052-08-2', 0, 1, 2, 1, 52, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-09-1', 0, 'C1-052-09-1', 0, 1, 2, 1, 52, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-09-2', 0, 'C1-052-09-2', 0, 1, 2, 1, 52, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-10-1', 0, 'C1-052-10-1', 0, 1, 2, 1, 52, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-10-2', 0, 'C1-052-10-2', 0, 1, 2, 1, 52, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-11-1', 0, 'C1-052-11-1', 0, 1, 2, 1, 52, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-11-2', 0, 'C1-052-11-2', 0, 1, 2, 1, 52, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-12-1', 0, 'C1-052-12-1', 0, 1, 2, 1, 52, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-12-2', 0, 'C1-052-12-2', 0, 1, 2, 1, 52, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-13-1', 0, 'C1-052-13-1', 0, 1, 2, 1, 52, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-13-2', 0, 'C1-052-13-2', 0, 1, 2, 1, 52, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-14-1', 0, 'C1-052-14-1', 0, 1, 2, 1, 52, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-14-2', 0, 'C1-052-14-2', 0, 1, 2, 1, 52, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-15-1', 0, 'C1-052-15-1', 0, 1, 2, 1, 52, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-052-15-2', 0, 'C1-052-15-2', 0, 1, 2, 1, 52, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-01-1', 0, 'C1-053-01-1', 0, 1, 2, 1, 53, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-01-2', 0, 'C1-053-01-2', 0, 1, 2, 1, 53, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-02-1', 0, 'C1-053-02-1', 0, 1, 2, 1, 53, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-02-2', 0, 'C1-053-02-2', 0, 1, 2, 1, 53, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-03-1', 0, 'C1-053-03-1', 0, 1, 2, 1, 53, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-03-2', 0, 'C1-053-03-2', 0, 1, 2, 1, 53, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-04-1', 0, 'C1-053-04-1', 0, 1, 2, 1, 53, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-04-2', 0, 'C1-053-04-2', 0, 1, 2, 1, 53, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-05-1', 0, 'C1-053-05-1', 0, 1, 2, 1, 53, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-05-2', 0, 'C1-053-05-2', 0, 1, 2, 1, 53, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-06-1', 0, 'C1-053-06-1', 0, 1, 2, 1, 53, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-06-2', 0, 'C1-053-06-2', 0, 1, 2, 1, 53, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-07-1', 0, 'C1-053-07-1', 0, 1, 2, 1, 53, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-07-2', 0, 'C1-053-07-2', 0, 1, 2, 1, 53, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-08-1', 0, 'C1-053-08-1', 0, 1, 2, 1, 53, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-08-2', 0, 'C1-053-08-2', 0, 1, 2, 1, 53, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-09-1', 0, 'C1-053-09-1', 0, 1, 2, 1, 53, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-09-2', 0, 'C1-053-09-2', 0, 1, 2, 1, 53, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-10-1', 0, 'C1-053-10-1', 0, 1, 2, 1, 53, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-10-2', 0, 'C1-053-10-2', 0, 1, 2, 1, 53, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-11-1', 0, 'C1-053-11-1', 0, 1, 2, 1, 53, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-11-2', 0, 'C1-053-11-2', 0, 1, 2, 1, 53, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-12-1', 0, 'C1-053-12-1', 0, 1, 2, 1, 53, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-12-2', 0, 'C1-053-12-2', 0, 1, 2, 1, 53, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-13-1', 0, 'C1-053-13-1', 0, 1, 2, 1, 53, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-13-2', 0, 'C1-053-13-2', 0, 1, 2, 1, 53, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-14-1', 0, 'C1-053-14-1', 0, 1, 2, 1, 53, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-14-2', 0, 'C1-053-14-2', 0, 1, 2, 1, 53, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-15-1', 0, 'C1-053-15-1', 0, 1, 2, 1, 53, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-053-15-2', 0, 'C1-053-15-2', 0, 1, 2, 1, 53, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-01-1', 0, 'C1-054-01-1', 0, 1, 2, 1, 54, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-01-2', 0, 'C1-054-01-2', 0, 1, 2, 1, 54, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-02-1', 0, 'C1-054-02-1', 0, 1, 2, 1, 54, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-02-2', 0, 'C1-054-02-2', 0, 1, 2, 1, 54, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-03-1', 0, 'C1-054-03-1', 0, 1, 2, 1, 54, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-03-2', 0, 'C1-054-03-2', 0, 1, 2, 1, 54, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-04-1', 0, 'C1-054-04-1', 0, 1, 2, 1, 54, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-04-2', 0, 'C1-054-04-2', 0, 1, 2, 1, 54, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-05-1', 0, 'C1-054-05-1', 0, 1, 2, 1, 54, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-05-2', 0, 'C1-054-05-2', 0, 1, 2, 1, 54, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-06-1', 0, 'C1-054-06-1', 0, 1, 2, 1, 54, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-06-2', 0, 'C1-054-06-2', 0, 1, 2, 1, 54, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-07-1', 0, 'C1-054-07-1', 0, 1, 2, 1, 54, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-07-2', 0, 'C1-054-07-2', 0, 1, 2, 1, 54, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-08-1', 0, 'C1-054-08-1', 0, 1, 2, 1, 54, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-08-2', 0, 'C1-054-08-2', 0, 1, 2, 1, 54, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-09-1', 0, 'C1-054-09-1', 0, 1, 2, 1, 54, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-09-2', 0, 'C1-054-09-2', 0, 1, 2, 1, 54, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-10-1', 0, 'C1-054-10-1', 0, 1, 2, 1, 54, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-10-2', 0, 'C1-054-10-2', 0, 1, 2, 1, 54, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-11-1', 0, 'C1-054-11-1', 0, 1, 2, 1, 54, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-11-2', 0, 'C1-054-11-2', 0, 1, 2, 1, 54, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-12-1', 0, 'C1-054-12-1', 0, 1, 2, 1, 54, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-12-2', 0, 'C1-054-12-2', 0, 1, 2, 1, 54, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-13-1', 0, 'C1-054-13-1', 0, 1, 2, 1, 54, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-13-2', 0, 'C1-054-13-2', 0, 1, 2, 1, 54, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-14-1', 0, 'C1-054-14-1', 0, 1, 2, 1, 54, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-14-2', 0, 'C1-054-14-2', 0, 1, 2, 1, 54, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-15-1', 0, 'C1-054-15-1', 0, 1, 2, 1, 54, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-054-15-2', 0, 'C1-054-15-2', 0, 1, 2, 1, 54, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-01-1', 0, 'C1-055-01-1', 0, 1, 2, 1, 55, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-01-2', 0, 'C1-055-01-2', 0, 1, 2, 1, 55, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-02-1', 0, 'C1-055-02-1', 0, 1, 2, 1, 55, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-02-2', 0, 'C1-055-02-2', 0, 1, 2, 1, 55, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-03-1', 0, 'C1-055-03-1', 0, 1, 2, 1, 55, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-03-2', 0, 'C1-055-03-2', 0, 1, 2, 1, 55, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-04-1', 0, 'C1-055-04-1', 0, 1, 2, 1, 55, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-04-2', 0, 'C1-055-04-2', 0, 1, 2, 1, 55, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-05-1', 0, 'C1-055-05-1', 0, 1, 2, 1, 55, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-05-2', 0, 'C1-055-05-2', 0, 1, 2, 1, 55, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-06-1', 0, 'C1-055-06-1', 0, 1, 2, 1, 55, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-06-2', 0, 'C1-055-06-2', 0, 1, 2, 1, 55, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-07-1', 0, 'C1-055-07-1', 0, 1, 2, 1, 55, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-07-2', 0, 'C1-055-07-2', 0, 1, 2, 1, 55, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-08-1', 0, 'C1-055-08-1', 0, 1, 2, 1, 55, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-08-2', 0, 'C1-055-08-2', 0, 1, 2, 1, 55, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-09-1', 0, 'C1-055-09-1', 0, 1, 2, 1, 55, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-09-2', 0, 'C1-055-09-2', 0, 1, 2, 1, 55, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-10-1', 0, 'C1-055-10-1', 0, 1, 2, 1, 55, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-10-2', 0, 'C1-055-10-2', 0, 1, 2, 1, 55, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-11-1', 0, 'C1-055-11-1', 0, 1, 2, 1, 55, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-11-2', 0, 'C1-055-11-2', 0, 1, 2, 1, 55, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-12-1', 0, 'C1-055-12-1', 0, 1, 2, 1, 55, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-12-2', 0, 'C1-055-12-2', 0, 1, 2, 1, 55, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-13-1', 0, 'C1-055-13-1', 0, 1, 2, 1, 55, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-13-2', 0, 'C1-055-13-2', 0, 1, 2, 1, 55, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-14-1', 0, 'C1-055-14-1', 0, 1, 2, 1, 55, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-14-2', 0, 'C1-055-14-2', 0, 1, 2, 1, 55, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-15-1', 0, 'C1-055-15-1', 0, 1, 2, 1, 55, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-055-15-2', 0, 'C1-055-15-2', 0, 1, 2, 1, 55, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-01-1', 0, 'C1-056-01-1', 0, 1, 2, 1, 56, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-01-2', 0, 'C1-056-01-2', 0, 1, 2, 1, 56, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-02-1', 0, 'C1-056-02-1', 0, 1, 2, 1, 56, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-02-2', 0, 'C1-056-02-2', 0, 1, 2, 1, 56, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-03-1', 0, 'C1-056-03-1', 0, 1, 2, 1, 56, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-03-2', 0, 'C1-056-03-2', 0, 1, 2, 1, 56, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-04-1', 0, 'C1-056-04-1', 0, 1, 2, 1, 56, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-04-2', 0, 'C1-056-04-2', 0, 1, 2, 1, 56, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-05-1', 0, 'C1-056-05-1', 0, 1, 2, 1, 56, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-05-2', 0, 'C1-056-05-2', 0, 1, 2, 1, 56, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-06-1', 0, 'C1-056-06-1', 0, 1, 2, 1, 56, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-06-2', 0, 'C1-056-06-2', 0, 1, 2, 1, 56, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-07-1', 0, 'C1-056-07-1', 0, 1, 2, 1, 56, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-07-2', 0, 'C1-056-07-2', 0, 1, 2, 1, 56, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-08-1', 0, 'C1-056-08-1', 0, 1, 2, 1, 56, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-08-2', 0, 'C1-056-08-2', 0, 1, 2, 1, 56, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-09-1', 0, 'C1-056-09-1', 0, 1, 2, 1, 56, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-09-2', 0, 'C1-056-09-2', 0, 1, 2, 1, 56, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-10-1', 0, 'C1-056-10-1', 0, 1, 2, 1, 56, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-10-2', 0, 'C1-056-10-2', 0, 1, 2, 1, 56, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-11-1', 0, 'C1-056-11-1', 0, 1, 2, 1, 56, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-11-2', 0, 'C1-056-11-2', 0, 1, 2, 1, 56, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-12-1', 0, 'C1-056-12-1', 0, 1, 2, 1, 56, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-12-2', 0, 'C1-056-12-2', 0, 1, 2, 1, 56, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-13-1', 0, 'C1-056-13-1', 0, 1, 2, 1, 56, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-13-2', 0, 'C1-056-13-2', 0, 1, 2, 1, 56, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-14-1', 0, 'C1-056-14-1', 0, 1, 2, 1, 56, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-14-2', 0, 'C1-056-14-2', 0, 1, 2, 1, 56, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-15-1', 0, 'C1-056-15-1', 0, 1, 2, 1, 56, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-056-15-2', 0, 'C1-056-15-2', 0, 1, 2, 1, 56, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-01-1', 0, 'C1-057-01-1', 0, 1, 2, 1, 57, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-01-2', 0, 'C1-057-01-2', 0, 1, 2, 1, 57, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-02-1', 0, 'C1-057-02-1', 0, 1, 2, 1, 57, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-02-2', 0, 'C1-057-02-2', 0, 1, 2, 1, 57, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-03-1', 0, 'C1-057-03-1', 0, 1, 2, 1, 57, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-03-2', 0, 'C1-057-03-2', 0, 1, 2, 1, 57, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-04-1', 0, 'C1-057-04-1', 0, 1, 2, 1, 57, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-04-2', 0, 'C1-057-04-2', 0, 1, 2, 1, 57, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-05-1', 0, 'C1-057-05-1', 0, 1, 2, 1, 57, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-05-2', 0, 'C1-057-05-2', 0, 1, 2, 1, 57, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-06-1', 0, 'C1-057-06-1', 0, 1, 2, 1, 57, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-06-2', 0, 'C1-057-06-2', 0, 1, 2, 1, 57, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-07-1', 0, 'C1-057-07-1', 0, 1, 2, 1, 57, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-07-2', 0, 'C1-057-07-2', 0, 1, 2, 1, 57, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-08-1', 0, 'C1-057-08-1', 0, 1, 2, 1, 57, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-08-2', 0, 'C1-057-08-2', 0, 1, 2, 1, 57, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-09-1', 0, 'C1-057-09-1', 0, 1, 2, 1, 57, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-09-2', 0, 'C1-057-09-2', 0, 1, 2, 1, 57, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-10-1', 0, 'C1-057-10-1', 0, 1, 2, 1, 57, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-10-2', 0, 'C1-057-10-2', 0, 1, 2, 1, 57, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-11-1', 0, 'C1-057-11-1', 0, 1, 2, 1, 57, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-11-2', 0, 'C1-057-11-2', 0, 1, 2, 1, 57, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-12-1', 0, 'C1-057-12-1', 0, 1, 2, 1, 57, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-12-2', 0, 'C1-057-12-2', 0, 1, 2, 1, 57, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-13-1', 0, 'C1-057-13-1', 0, 1, 2, 1, 57, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-13-2', 0, 'C1-057-13-2', 0, 1, 2, 1, 57, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-14-1', 0, 'C1-057-14-1', 0, 1, 2, 1, 57, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-14-2', 0, 'C1-057-14-2', 0, 1, 2, 1, 57, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-15-1', 0, 'C1-057-15-1', 0, 1, 2, 1, 57, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-057-15-2', 0, 'C1-057-15-2', 0, 1, 2, 1, 57, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-01-1', 0, 'C1-058-01-1', 0, 1, 2, 1, 58, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-01-2', 0, 'C1-058-01-2', 0, 1, 2, 1, 58, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-02-1', 0, 'C1-058-02-1', 0, 1, 2, 1, 58, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-02-2', 0, 'C1-058-02-2', 0, 1, 2, 1, 58, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-03-1', 0, 'C1-058-03-1', 0, 1, 2, 1, 58, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-03-2', 0, 'C1-058-03-2', 0, 1, 2, 1, 58, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-04-1', 0, 'C1-058-04-1', 0, 1, 2, 1, 58, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-04-2', 0, 'C1-058-04-2', 0, 1, 2, 1, 58, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-05-1', 0, 'C1-058-05-1', 0, 1, 2, 1, 58, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-05-2', 0, 'C1-058-05-2', 0, 1, 2, 1, 58, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-06-1', 0, 'C1-058-06-1', 0, 1, 2, 1, 58, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-06-2', 0, 'C1-058-06-2', 0, 1, 2, 1, 58, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-07-1', 0, 'C1-058-07-1', 0, 1, 2, 1, 58, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-07-2', 0, 'C1-058-07-2', 0, 1, 2, 1, 58, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-08-1', 0, 'C1-058-08-1', 0, 1, 2, 1, 58, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-08-2', 0, 'C1-058-08-2', 0, 1, 2, 1, 58, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-09-1', 0, 'C1-058-09-1', 0, 1, 2, 1, 58, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-09-2', 0, 'C1-058-09-2', 0, 1, 2, 1, 58, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-10-1', 0, 'C1-058-10-1', 0, 1, 2, 1, 58, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-10-2', 0, 'C1-058-10-2', 0, 1, 2, 1, 58, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-11-1', 0, 'C1-058-11-1', 0, 1, 2, 1, 58, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-11-2', 0, 'C1-058-11-2', 0, 1, 2, 1, 58, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-12-1', 0, 'C1-058-12-1', 0, 1, 2, 1, 58, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-12-2', 0, 'C1-058-12-2', 0, 1, 2, 1, 58, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-13-1', 0, 'C1-058-13-1', 0, 1, 2, 1, 58, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-13-2', 0, 'C1-058-13-2', 0, 1, 2, 1, 58, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-14-1', 0, 'C1-058-14-1', 0, 1, 2, 1, 58, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-14-2', 0, 'C1-058-14-2', 0, 1, 2, 1, 58, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-15-1', 0, 'C1-058-15-1', 0, 1, 2, 1, 58, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-058-15-2', 0, 'C1-058-15-2', 0, 1, 2, 1, 58, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-01-1', 0, 'C1-059-01-1', 0, 1, 2, 1, 59, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-01-2', 0, 'C1-059-01-2', 0, 1, 2, 1, 59, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-02-1', 0, 'C1-059-02-1', 0, 1, 2, 1, 59, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-02-2', 0, 'C1-059-02-2', 0, 1, 2, 1, 59, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-03-1', 0, 'C1-059-03-1', 0, 1, 2, 1, 59, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-03-2', 0, 'C1-059-03-2', 0, 1, 2, 1, 59, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-04-1', 0, 'C1-059-04-1', 0, 1, 2, 1, 59, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-04-2', 0, 'C1-059-04-2', 0, 1, 2, 1, 59, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-05-1', 0, 'C1-059-05-1', 0, 1, 2, 1, 59, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-05-2', 0, 'C1-059-05-2', 0, 1, 2, 1, 59, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-06-1', 0, 'C1-059-06-1', 0, 1, 2, 1, 59, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-06-2', 0, 'C1-059-06-2', 0, 1, 2, 1, 59, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-07-1', 0, 'C1-059-07-1', 0, 1, 2, 1, 59, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-07-2', 0, 'C1-059-07-2', 0, 1, 2, 1, 59, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-08-1', 0, 'C1-059-08-1', 0, 1, 2, 1, 59, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-08-2', 0, 'C1-059-08-2', 0, 1, 2, 1, 59, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-09-1', 0, 'C1-059-09-1', 0, 1, 2, 1, 59, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-09-2', 0, 'C1-059-09-2', 0, 1, 2, 1, 59, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-10-1', 0, 'C1-059-10-1', 0, 1, 2, 1, 59, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-10-2', 0, 'C1-059-10-2', 0, 1, 2, 1, 59, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-11-1', 0, 'C1-059-11-1', 0, 1, 2, 1, 59, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-11-2', 0, 'C1-059-11-2', 0, 1, 2, 1, 59, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-12-1', 0, 'C1-059-12-1', 0, 1, 2, 1, 59, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-12-2', 0, 'C1-059-12-2', 0, 1, 2, 1, 59, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-13-1', 0, 'C1-059-13-1', 0, 1, 2, 1, 59, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-13-2', 0, 'C1-059-13-2', 0, 1, 2, 1, 59, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-14-1', 0, 'C1-059-14-1', 0, 1, 2, 1, 59, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-14-2', 0, 'C1-059-14-2', 0, 1, 2, 1, 59, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-15-1', 0, 'C1-059-15-1', 0, 1, 2, 1, 59, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-059-15-2', 0, 'C1-059-15-2', 0, 1, 2, 1, 59, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-01-1', 0, 'C1-060-01-1', 0, 1, 2, 1, 60, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-01-2', 0, 'C1-060-01-2', 0, 1, 2, 1, 60, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-02-1', 0, 'C1-060-02-1', 0, 1, 2, 1, 60, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-02-2', 0, 'C1-060-02-2', 0, 1, 2, 1, 60, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-03-1', 0, 'C1-060-03-1', 0, 1, 2, 1, 60, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-03-2', 0, 'C1-060-03-2', 0, 1, 2, 1, 60, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-04-1', 0, 'C1-060-04-1', 0, 1, 2, 1, 60, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-04-2', 0, 'C1-060-04-2', 0, 1, 2, 1, 60, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-05-1', 0, 'C1-060-05-1', 0, 1, 2, 1, 60, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-05-2', 0, 'C1-060-05-2', 0, 1, 2, 1, 60, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-06-1', 0, 'C1-060-06-1', 0, 1, 2, 1, 60, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-06-2', 0, 'C1-060-06-2', 0, 1, 2, 1, 60, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-07-1', 0, 'C1-060-07-1', 0, 1, 2, 1, 60, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-07-2', 0, 'C1-060-07-2', 0, 1, 2, 1, 60, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-08-1', 0, 'C1-060-08-1', 0, 1, 2, 1, 60, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-08-2', 0, 'C1-060-08-2', 0, 1, 2, 1, 60, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-09-1', 0, 'C1-060-09-1', 0, 1, 2, 1, 60, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-09-2', 0, 'C1-060-09-2', 0, 1, 2, 1, 60, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-10-1', 0, 'C1-060-10-1', 0, 1, 2, 1, 60, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-10-2', 0, 'C1-060-10-2', 0, 1, 2, 1, 60, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-11-1', 0, 'C1-060-11-1', 0, 1, 2, 1, 60, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-11-2', 0, 'C1-060-11-2', 0, 1, 2, 1, 60, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-12-1', 0, 'C1-060-12-1', 0, 1, 2, 1, 60, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-12-2', 0, 'C1-060-12-2', 0, 1, 2, 1, 60, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-13-1', 0, 'C1-060-13-1', 0, 1, 2, 1, 60, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-13-2', 0, 'C1-060-13-2', 0, 1, 2, 1, 60, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-14-1', 0, 'C1-060-14-1', 0, 1, 2, 1, 60, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-14-2', 0, 'C1-060-14-2', 0, 1, 2, 1, 60, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-15-1', 0, 'C1-060-15-1', 0, 1, 2, 1, 60, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-060-15-2', 0, 'C1-060-15-2', 0, 1, 2, 1, 60, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-01-1', 0, 'C1-061-01-1', 0, 1, 2, 1, 61, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-01-2', 0, 'C1-061-01-2', 0, 1, 2, 1, 61, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-02-1', 0, 'C1-061-02-1', 0, 1, 2, 1, 61, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-02-2', 0, 'C1-061-02-2', 0, 1, 2, 1, 61, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-03-1', 0, 'C1-061-03-1', 0, 1, 2, 1, 61, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-03-2', 0, 'C1-061-03-2', 0, 1, 2, 1, 61, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-04-1', 0, 'C1-061-04-1', 0, 1, 2, 1, 61, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-04-2', 0, 'C1-061-04-2', 0, 1, 2, 1, 61, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-05-1', 0, 'C1-061-05-1', 0, 1, 2, 1, 61, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-05-2', 0, 'C1-061-05-2', 0, 1, 2, 1, 61, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-06-1', 0, 'C1-061-06-1', 0, 1, 2, 1, 61, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-06-2', 0, 'C1-061-06-2', 0, 1, 2, 1, 61, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-07-1', 0, 'C1-061-07-1', 0, 1, 2, 1, 61, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-07-2', 0, 'C1-061-07-2', 0, 1, 2, 1, 61, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-08-1', 0, 'C1-061-08-1', 0, 1, 2, 1, 61, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-08-2', 0, 'C1-061-08-2', 0, 1, 2, 1, 61, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-09-1', 0, 'C1-061-09-1', 0, 1, 2, 1, 61, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-09-2', 0, 'C1-061-09-2', 0, 1, 2, 1, 61, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-10-1', 0, 'C1-061-10-1', 0, 1, 2, 1, 61, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-10-2', 0, 'C1-061-10-2', 0, 1, 2, 1, 61, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-11-1', 0, 'C1-061-11-1', 0, 1, 2, 1, 61, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-11-2', 0, 'C1-061-11-2', 0, 1, 2, 1, 61, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-12-1', 0, 'C1-061-12-1', 0, 1, 2, 1, 61, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-12-2', 0, 'C1-061-12-2', 0, 1, 2, 1, 61, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-13-1', 0, 'C1-061-13-1', 0, 1, 2, 1, 61, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-13-2', 0, 'C1-061-13-2', 0, 1, 2, 1, 61, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-14-1', 0, 'C1-061-14-1', 0, 1, 2, 1, 61, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-14-2', 0, 'C1-061-14-2', 0, 1, 2, 1, 61, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-15-1', 0, 'C1-061-15-1', 0, 1, 2, 1, 61, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-061-15-2', 0, 'C1-061-15-2', 0, 1, 2, 1, 61, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-01-1', 0, 'C1-062-01-1', 0, 1, 2, 1, 62, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-01-2', 0, 'C1-062-01-2', 0, 1, 2, 1, 62, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-02-1', 0, 'C1-062-02-1', 0, 1, 2, 1, 62, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-02-2', 0, 'C1-062-02-2', 0, 1, 2, 1, 62, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-03-1', 0, 'C1-062-03-1', 0, 1, 2, 1, 62, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-03-2', 0, 'C1-062-03-2', 0, 1, 2, 1, 62, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-04-1', 0, 'C1-062-04-1', 0, 1, 2, 1, 62, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-04-2', 0, 'C1-062-04-2', 0, 1, 2, 1, 62, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-05-1', 0, 'C1-062-05-1', 0, 1, 2, 1, 62, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-05-2', 0, 'C1-062-05-2', 0, 1, 2, 1, 62, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-06-1', 0, 'C1-062-06-1', 0, 1, 2, 1, 62, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-06-2', 0, 'C1-062-06-2', 0, 1, 2, 1, 62, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-07-1', 0, 'C1-062-07-1', 0, 1, 2, 1, 62, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-07-2', 0, 'C1-062-07-2', 0, 1, 2, 1, 62, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-08-1', 0, 'C1-062-08-1', 0, 1, 2, 1, 62, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-08-2', 0, 'C1-062-08-2', 0, 1, 2, 1, 62, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-09-1', 0, 'C1-062-09-1', 0, 1, 2, 1, 62, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-09-2', 0, 'C1-062-09-2', 0, 1, 2, 1, 62, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-10-1', 0, 'C1-062-10-1', 0, 1, 2, 1, 62, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-10-2', 0, 'C1-062-10-2', 0, 1, 2, 1, 62, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-11-1', 0, 'C1-062-11-1', 0, 1, 2, 1, 62, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-11-2', 0, 'C1-062-11-2', 0, 1, 2, 1, 62, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-12-1', 0, 'C1-062-12-1', 0, 1, 2, 1, 62, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-12-2', 0, 'C1-062-12-2', 0, 1, 2, 1, 62, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-13-1', 0, 'C1-062-13-1', 0, 1, 2, 1, 62, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-13-2', 0, 'C1-062-13-2', 0, 1, 2, 1, 62, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-14-1', 0, 'C1-062-14-1', 0, 1, 2, 1, 62, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-14-2', 0, 'C1-062-14-2', 0, 1, 2, 1, 62, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-15-1', 0, 'C1-062-15-1', 0, 1, 2, 1, 62, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-062-15-2', 0, 'C1-062-15-2', 0, 1, 2, 1, 62, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-01-1', 0, 'C1-063-01-1', 0, 1, 2, 1, 63, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-01-2', 0, 'C1-063-01-2', 0, 1, 2, 1, 63, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-02-1', 0, 'C1-063-02-1', 0, 1, 2, 1, 63, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-02-2', 0, 'C1-063-02-2', 0, 1, 2, 1, 63, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-03-1', 0, 'C1-063-03-1', 0, 1, 2, 1, 63, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-03-2', 0, 'C1-063-03-2', 0, 1, 2, 1, 63, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-04-1', 0, 'C1-063-04-1', 0, 1, 2, 1, 63, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-04-2', 0, 'C1-063-04-2', 0, 1, 2, 1, 63, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-05-1', 0, 'C1-063-05-1', 0, 1, 2, 1, 63, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-05-2', 0, 'C1-063-05-2', 0, 1, 2, 1, 63, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-06-1', 0, 'C1-063-06-1', 0, 1, 2, 1, 63, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-06-2', 0, 'C1-063-06-2', 0, 1, 2, 1, 63, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-07-1', 0, 'C1-063-07-1', 0, 1, 2, 1, 63, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-07-2', 0, 'C1-063-07-2', 0, 1, 2, 1, 63, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-08-1', 0, 'C1-063-08-1', 0, 1, 2, 1, 63, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-08-2', 0, 'C1-063-08-2', 0, 1, 2, 1, 63, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-09-1', 0, 'C1-063-09-1', 0, 1, 2, 1, 63, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-09-2', 0, 'C1-063-09-2', 0, 1, 2, 1, 63, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-10-1', 0, 'C1-063-10-1', 0, 1, 2, 1, 63, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-10-2', 0, 'C1-063-10-2', 0, 1, 2, 1, 63, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-11-1', 0, 'C1-063-11-1', 0, 1, 2, 1, 63, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-11-2', 0, 'C1-063-11-2', 0, 1, 2, 1, 63, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-12-1', 0, 'C1-063-12-1', 0, 1, 2, 1, 63, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-12-2', 0, 'C1-063-12-2', 0, 1, 2, 1, 63, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-13-1', 0, 'C1-063-13-1', 0, 1, 2, 1, 63, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-13-2', 0, 'C1-063-13-2', 0, 1, 2, 1, 63, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-14-1', 0, 'C1-063-14-1', 0, 1, 2, 1, 63, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-14-2', 0, 'C1-063-14-2', 0, 1, 2, 1, 63, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-15-1', 0, 'C1-063-15-1', 0, 1, 2, 1, 63, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-063-15-2', 0, 'C1-063-15-2', 0, 1, 2, 1, 63, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-01-1', 0, 'C1-064-01-1', 0, 1, 2, 1, 64, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-01-2', 0, 'C1-064-01-2', 0, 1, 2, 1, 64, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-02-1', 0, 'C1-064-02-1', 0, 1, 2, 1, 64, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-02-2', 0, 'C1-064-02-2', 0, 1, 2, 1, 64, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-03-1', 0, 'C1-064-03-1', 0, 1, 2, 1, 64, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-03-2', 0, 'C1-064-03-2', 0, 1, 2, 1, 64, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-04-1', 0, 'C1-064-04-1', 0, 1, 2, 1, 64, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-04-2', 0, 'C1-064-04-2', 0, 1, 2, 1, 64, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-05-1', 0, 'C1-064-05-1', 0, 1, 2, 1, 64, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-05-2', 0, 'C1-064-05-2', 0, 1, 2, 1, 64, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-06-1', 0, 'C1-064-06-1', 0, 1, 2, 1, 64, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-06-2', 0, 'C1-064-06-2', 0, 1, 2, 1, 64, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-07-1', 0, 'C1-064-07-1', 0, 1, 2, 1, 64, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-07-2', 0, 'C1-064-07-2', 0, 1, 2, 1, 64, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-08-1', 0, 'C1-064-08-1', 0, 1, 2, 1, 64, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-08-2', 0, 'C1-064-08-2', 0, 1, 2, 1, 64, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-09-1', 0, 'C1-064-09-1', 0, 1, 2, 1, 64, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-09-2', 0, 'C1-064-09-2', 0, 1, 2, 1, 64, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-10-1', 0, 'C1-064-10-1', 0, 1, 2, 1, 64, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-10-2', 0, 'C1-064-10-2', 0, 1, 2, 1, 64, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-11-1', 0, 'C1-064-11-1', 0, 1, 2, 1, 64, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-11-2', 0, 'C1-064-11-2', 0, 1, 2, 1, 64, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-12-1', 0, 'C1-064-12-1', 0, 1, 2, 1, 64, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-12-2', 0, 'C1-064-12-2', 0, 1, 2, 1, 64, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-13-1', 0, 'C1-064-13-1', 0, 1, 2, 1, 64, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-13-2', 0, 'C1-064-13-2', 0, 1, 2, 1, 64, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-14-1', 0, 'C1-064-14-1', 0, 1, 2, 1, 64, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-14-2', 0, 'C1-064-14-2', 0, 1, 2, 1, 64, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-15-1', 0, 'C1-064-15-1', 0, 1, 2, 1, 64, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-064-15-2', 0, 'C1-064-15-2', 0, 1, 2, 1, 64, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-01-1', 0, 'C1-065-01-1', 0, 1, 2, 1, 65, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-01-2', 0, 'C1-065-01-2', 0, 1, 2, 1, 65, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-02-1', 0, 'C1-065-02-1', 0, 1, 2, 1, 65, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-02-2', 0, 'C1-065-02-2', 0, 1, 2, 1, 65, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-03-1', 0, 'C1-065-03-1', 0, 1, 2, 1, 65, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-03-2', 0, 'C1-065-03-2', 0, 1, 2, 1, 65, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-04-1', 0, 'C1-065-04-1', 0, 1, 2, 1, 65, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-04-2', 0, 'C1-065-04-2', 0, 1, 2, 1, 65, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-05-1', 0, 'C1-065-05-1', 0, 1, 2, 1, 65, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-05-2', 0, 'C1-065-05-2', 0, 1, 2, 1, 65, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-06-1', 0, 'C1-065-06-1', 0, 1, 2, 1, 65, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-06-2', 0, 'C1-065-06-2', 0, 1, 2, 1, 65, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-07-1', 0, 'C1-065-07-1', 0, 1, 2, 1, 65, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-07-2', 0, 'C1-065-07-2', 0, 1, 2, 1, 65, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-08-1', 0, 'C1-065-08-1', 0, 1, 2, 1, 65, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-08-2', 0, 'C1-065-08-2', 0, 1, 2, 1, 65, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-09-1', 0, 'C1-065-09-1', 0, 1, 2, 1, 65, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-09-2', 0, 'C1-065-09-2', 0, 1, 2, 1, 65, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-10-1', 0, 'C1-065-10-1', 0, 1, 2, 1, 65, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-10-2', 0, 'C1-065-10-2', 0, 1, 2, 1, 65, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-11-1', 0, 'C1-065-11-1', 0, 1, 2, 1, 65, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-11-2', 0, 'C1-065-11-2', 0, 1, 2, 1, 65, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-12-1', 0, 'C1-065-12-1', 0, 1, 2, 1, 65, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-12-2', 0, 'C1-065-12-2', 0, 1, 2, 1, 65, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-13-1', 0, 'C1-065-13-1', 0, 1, 2, 1, 65, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-13-2', 0, 'C1-065-13-2', 0, 1, 2, 1, 65, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-14-1', 0, 'C1-065-14-1', 0, 1, 2, 1, 65, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-14-2', 0, 'C1-065-14-2', 0, 1, 2, 1, 65, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-15-1', 0, 'C1-065-15-1', 0, 1, 2, 1, 65, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-065-15-2', 0, 'C1-065-15-2', 0, 1, 2, 1, 65, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-01-1', 0, 'C1-066-01-1', 0, 1, 2, 1, 66, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-01-2', 0, 'C1-066-01-2', 0, 1, 2, 1, 66, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-02-1', 0, 'C1-066-02-1', 0, 1, 2, 1, 66, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-02-2', 0, 'C1-066-02-2', 0, 1, 2, 1, 66, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-03-1', 0, 'C1-066-03-1', 0, 1, 2, 1, 66, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-03-2', 0, 'C1-066-03-2', 0, 1, 2, 1, 66, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-04-1', 0, 'C1-066-04-1', 0, 1, 2, 1, 66, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-04-2', 0, 'C1-066-04-2', 0, 1, 2, 1, 66, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-05-1', 0, 'C1-066-05-1', 0, 1, 2, 1, 66, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-05-2', 0, 'C1-066-05-2', 0, 1, 2, 1, 66, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-06-1', 0, 'C1-066-06-1', 0, 1, 2, 1, 66, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-06-2', 0, 'C1-066-06-2', 0, 1, 2, 1, 66, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-07-1', 0, 'C1-066-07-1', 0, 1, 2, 1, 66, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-07-2', 0, 'C1-066-07-2', 0, 1, 2, 1, 66, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-08-1', 0, 'C1-066-08-1', 0, 1, 2, 1, 66, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-08-2', 0, 'C1-066-08-2', 0, 1, 2, 1, 66, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-09-1', 0, 'C1-066-09-1', 0, 1, 2, 1, 66, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-09-2', 0, 'C1-066-09-2', 0, 1, 2, 1, 66, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-10-1', 0, 'C1-066-10-1', 0, 1, 2, 1, 66, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-10-2', 0, 'C1-066-10-2', 0, 1, 2, 1, 66, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-11-1', 0, 'C1-066-11-1', 0, 1, 2, 1, 66, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-11-2', 0, 'C1-066-11-2', 0, 1, 2, 1, 66, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-12-1', 0, 'C1-066-12-1', 0, 1, 2, 1, 66, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-12-2', 0, 'C1-066-12-2', 0, 1, 2, 1, 66, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-13-1', 0, 'C1-066-13-1', 0, 1, 2, 1, 66, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-13-2', 0, 'C1-066-13-2', 0, 1, 2, 1, 66, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-14-1', 0, 'C1-066-14-1', 0, 1, 2, 1, 66, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-14-2', 0, 'C1-066-14-2', 0, 1, 2, 1, 66, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-15-1', 0, 'C1-066-15-1', 0, 1, 2, 1, 66, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-066-15-2', 0, 'C1-066-15-2', 0, 1, 2, 1, 66, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-01-1', 0, 'C1-067-01-1', 0, 1, 2, 1, 67, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-01-2', 0, 'C1-067-01-2', 0, 1, 2, 1, 67, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-02-1', 0, 'C1-067-02-1', 0, 1, 2, 1, 67, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-02-2', 0, 'C1-067-02-2', 0, 1, 2, 1, 67, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-03-1', 0, 'C1-067-03-1', 0, 1, 2, 1, 67, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-03-2', 0, 'C1-067-03-2', 0, 1, 2, 1, 67, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-04-1', 0, 'C1-067-04-1', 0, 1, 2, 1, 67, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-04-2', 0, 'C1-067-04-2', 0, 1, 2, 1, 67, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-05-1', 0, 'C1-067-05-1', 0, 1, 2, 1, 67, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-05-2', 0, 'C1-067-05-2', 0, 1, 2, 1, 67, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-06-1', 0, 'C1-067-06-1', 0, 1, 2, 1, 67, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-06-2', 0, 'C1-067-06-2', 0, 1, 2, 1, 67, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-07-1', 0, 'C1-067-07-1', 0, 1, 2, 1, 67, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-07-2', 0, 'C1-067-07-2', 0, 1, 2, 1, 67, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-08-1', 0, 'C1-067-08-1', 0, 1, 2, 1, 67, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-08-2', 0, 'C1-067-08-2', 0, 1, 2, 1, 67, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-09-1', 0, 'C1-067-09-1', 0, 1, 2, 1, 67, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-09-2', 0, 'C1-067-09-2', 0, 1, 2, 1, 67, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-10-1', 0, 'C1-067-10-1', 0, 1, 2, 1, 67, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-10-2', 0, 'C1-067-10-2', 0, 1, 2, 1, 67, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-11-1', 0, 'C1-067-11-1', 0, 1, 2, 1, 67, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-11-2', 0, 'C1-067-11-2', 0, 1, 2, 1, 67, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-12-1', 0, 'C1-067-12-1', 0, 1, 2, 1, 67, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-12-2', 0, 'C1-067-12-2', 0, 1, 2, 1, 67, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-13-1', 0, 'C1-067-13-1', 0, 1, 2, 1, 67, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-13-2', 0, 'C1-067-13-2', 0, 1, 2, 1, 67, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-14-1', 0, 'C1-067-14-1', 0, 1, 2, 1, 67, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-14-2', 0, 'C1-067-14-2', 0, 1, 2, 1, 67, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-15-1', 0, 'C1-067-15-1', 0, 1, 2, 1, 67, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-067-15-2', 0, 'C1-067-15-2', 0, 1, 2, 1, 67, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-01-1', 0, 'C1-068-01-1', 0, 1, 2, 1, 68, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-01-2', 0, 'C1-068-01-2', 0, 1, 2, 1, 68, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-02-1', 0, 'C1-068-02-1', 0, 1, 2, 1, 68, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-02-2', 0, 'C1-068-02-2', 0, 1, 2, 1, 68, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-03-1', 0, 'C1-068-03-1', 0, 1, 2, 1, 68, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-03-2', 0, 'C1-068-03-2', 0, 1, 2, 1, 68, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-04-1', 0, 'C1-068-04-1', 0, 1, 2, 1, 68, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-04-2', 0, 'C1-068-04-2', 0, 1, 2, 1, 68, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-05-1', 0, 'C1-068-05-1', 0, 1, 2, 1, 68, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-05-2', 0, 'C1-068-05-2', 0, 1, 2, 1, 68, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-06-1', 0, 'C1-068-06-1', 0, 1, 2, 1, 68, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-06-2', 0, 'C1-068-06-2', 0, 1, 2, 1, 68, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-07-1', 0, 'C1-068-07-1', 0, 1, 2, 1, 68, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-07-2', 0, 'C1-068-07-2', 0, 1, 2, 1, 68, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-08-1', 0, 'C1-068-08-1', 0, 1, 2, 1, 68, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-08-2', 0, 'C1-068-08-2', 0, 1, 2, 1, 68, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-09-1', 0, 'C1-068-09-1', 0, 1, 2, 1, 68, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-09-2', 0, 'C1-068-09-2', 0, 1, 2, 1, 68, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-10-1', 0, 'C1-068-10-1', 0, 1, 2, 1, 68, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-10-2', 0, 'C1-068-10-2', 0, 1, 2, 1, 68, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-11-1', 0, 'C1-068-11-1', 0, 1, 2, 1, 68, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-11-2', 0, 'C1-068-11-2', 0, 1, 2, 1, 68, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-12-1', 0, 'C1-068-12-1', 0, 1, 2, 1, 68, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-12-2', 0, 'C1-068-12-2', 0, 1, 2, 1, 68, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-13-1', 0, 'C1-068-13-1', 0, 1, 2, 1, 68, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-13-2', 0, 'C1-068-13-2', 0, 1, 2, 1, 68, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-14-1', 0, 'C1-068-14-1', 0, 1, 2, 1, 68, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-14-2', 0, 'C1-068-14-2', 0, 1, 2, 1, 68, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-15-1', 0, 'C1-068-15-1', 0, 1, 2, 1, 68, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-068-15-2', 0, 'C1-068-15-2', 0, 1, 2, 1, 68, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-01-1', 0, 'C1-069-01-1', 0, 1, 2, 1, 69, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-01-2', 0, 'C1-069-01-2', 0, 1, 2, 1, 69, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-02-1', 0, 'C1-069-02-1', 0, 1, 2, 1, 69, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-02-2', 0, 'C1-069-02-2', 0, 1, 2, 1, 69, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-03-1', 0, 'C1-069-03-1', 0, 1, 2, 1, 69, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-03-2', 0, 'C1-069-03-2', 0, 1, 2, 1, 69, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-04-1', 0, 'C1-069-04-1', 0, 1, 2, 1, 69, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-04-2', 0, 'C1-069-04-2', 0, 1, 2, 1, 69, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-05-1', 0, 'C1-069-05-1', 0, 1, 2, 1, 69, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-05-2', 0, 'C1-069-05-2', 0, 1, 2, 1, 69, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-06-1', 0, 'C1-069-06-1', 0, 1, 2, 1, 69, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-06-2', 0, 'C1-069-06-2', 0, 1, 2, 1, 69, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-07-1', 0, 'C1-069-07-1', 0, 1, 2, 1, 69, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-07-2', 0, 'C1-069-07-2', 0, 1, 2, 1, 69, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-08-1', 0, 'C1-069-08-1', 0, 1, 2, 1, 69, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-08-2', 0, 'C1-069-08-2', 0, 1, 2, 1, 69, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-09-1', 0, 'C1-069-09-1', 0, 1, 2, 1, 69, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-09-2', 0, 'C1-069-09-2', 0, 1, 2, 1, 69, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-10-1', 0, 'C1-069-10-1', 0, 1, 2, 1, 69, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-10-2', 0, 'C1-069-10-2', 0, 1, 2, 1, 69, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-11-1', 0, 'C1-069-11-1', 0, 1, 2, 1, 69, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-11-2', 0, 'C1-069-11-2', 0, 1, 2, 1, 69, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-12-1', 0, 'C1-069-12-1', 0, 1, 2, 1, 69, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-12-2', 0, 'C1-069-12-2', 0, 1, 2, 1, 69, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-13-1', 0, 'C1-069-13-1', 0, 1, 2, 1, 69, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-13-2', 0, 'C1-069-13-2', 0, 1, 2, 1, 69, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-14-1', 0, 'C1-069-14-1', 0, 1, 2, 1, 69, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-14-2', 0, 'C1-069-14-2', 0, 1, 2, 1, 69, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-15-1', 0, 'C1-069-15-1', 0, 1, 2, 1, 69, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-069-15-2', 0, 'C1-069-15-2', 0, 1, 2, 1, 69, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-01-1', 0, 'C1-070-01-1', 0, 1, 2, 1, 70, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-01-2', 0, 'C1-070-01-2', 0, 1, 2, 1, 70, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-02-1', 0, 'C1-070-02-1', 0, 1, 2, 1, 70, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-02-2', 0, 'C1-070-02-2', 0, 1, 2, 1, 70, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-03-1', 0, 'C1-070-03-1', 0, 1, 2, 1, 70, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-03-2', 0, 'C1-070-03-2', 0, 1, 2, 1, 70, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-04-1', 0, 'C1-070-04-1', 0, 1, 2, 1, 70, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-04-2', 0, 'C1-070-04-2', 0, 1, 2, 1, 70, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-05-1', 0, 'C1-070-05-1', 0, 1, 2, 1, 70, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-05-2', 0, 'C1-070-05-2', 0, 1, 2, 1, 70, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-06-1', 0, 'C1-070-06-1', 0, 1, 2, 1, 70, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-06-2', 0, 'C1-070-06-2', 0, 1, 2, 1, 70, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-07-1', 0, 'C1-070-07-1', 0, 1, 2, 1, 70, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-07-2', 0, 'C1-070-07-2', 0, 1, 2, 1, 70, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-08-1', 0, 'C1-070-08-1', 0, 1, 2, 1, 70, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-08-2', 0, 'C1-070-08-2', 0, 1, 2, 1, 70, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-09-1', 0, 'C1-070-09-1', 0, 1, 2, 1, 70, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-09-2', 0, 'C1-070-09-2', 0, 1, 2, 1, 70, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-10-1', 0, 'C1-070-10-1', 0, 1, 2, 1, 70, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-10-2', 0, 'C1-070-10-2', 0, 1, 2, 1, 70, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-11-1', 0, 'C1-070-11-1', 0, 1, 2, 1, 70, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-11-2', 0, 'C1-070-11-2', 0, 1, 2, 1, 70, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-12-1', 0, 'C1-070-12-1', 0, 1, 2, 1, 70, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-12-2', 0, 'C1-070-12-2', 0, 1, 2, 1, 70, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-13-1', 0, 'C1-070-13-1', 0, 1, 2, 1, 70, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-13-2', 0, 'C1-070-13-2', 0, 1, 2, 1, 70, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-14-1', 0, 'C1-070-14-1', 0, 1, 2, 1, 70, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-14-2', 0, 'C1-070-14-2', 0, 1, 2, 1, 70, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-15-1', 0, 'C1-070-15-1', 0, 1, 2, 1, 70, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-070-15-2', 0, 'C1-070-15-2', 0, 1, 2, 1, 70, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-01-1', 0, 'C1-071-01-1', 0, 1, 2, 1, 71, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-01-2', 0, 'C1-071-01-2', 0, 1, 2, 1, 71, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-02-1', 0, 'C1-071-02-1', 0, 1, 2, 1, 71, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-02-2', 0, 'C1-071-02-2', 0, 1, 2, 1, 71, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-03-1', 0, 'C1-071-03-1', 0, 1, 2, 1, 71, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-03-2', 0, 'C1-071-03-2', 0, 1, 2, 1, 71, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-04-1', 0, 'C1-071-04-1', 0, 1, 2, 1, 71, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-04-2', 0, 'C1-071-04-2', 0, 1, 2, 1, 71, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-05-1', 0, 'C1-071-05-1', 0, 1, 2, 1, 71, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-05-2', 0, 'C1-071-05-2', 0, 1, 2, 1, 71, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-06-1', 0, 'C1-071-06-1', 0, 1, 2, 1, 71, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-06-2', 0, 'C1-071-06-2', 0, 1, 2, 1, 71, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-07-1', 0, 'C1-071-07-1', 0, 1, 2, 1, 71, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-07-2', 0, 'C1-071-07-2', 0, 1, 2, 1, 71, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-08-1', 0, 'C1-071-08-1', 0, 1, 2, 1, 71, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-08-2', 0, 'C1-071-08-2', 0, 1, 2, 1, 71, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-09-1', 0, 'C1-071-09-1', 0, 1, 2, 1, 71, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-09-2', 0, 'C1-071-09-2', 0, 1, 2, 1, 71, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-10-1', 0, 'C1-071-10-1', 0, 1, 2, 1, 71, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-10-2', 0, 'C1-071-10-2', 0, 1, 2, 1, 71, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-11-1', 0, 'C1-071-11-1', 0, 1, 2, 1, 71, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-11-2', 0, 'C1-071-11-2', 0, 1, 2, 1, 71, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-12-1', 0, 'C1-071-12-1', 0, 1, 2, 1, 71, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-12-2', 0, 'C1-071-12-2', 0, 1, 2, 1, 71, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-13-1', 0, 'C1-071-13-1', 0, 1, 2, 1, 71, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-13-2', 0, 'C1-071-13-2', 0, 1, 2, 1, 71, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-14-1', 0, 'C1-071-14-1', 0, 1, 2, 1, 71, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-14-2', 0, 'C1-071-14-2', 0, 1, 2, 1, 71, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-15-1', 0, 'C1-071-15-1', 0, 1, 2, 1, 71, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-071-15-2', 0, 'C1-071-15-2', 0, 1, 2, 1, 71, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-01-1', 0, 'C1-072-01-1', 0, 1, 2, 1, 72, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-01-2', 0, 'C1-072-01-2', 0, 1, 2, 1, 72, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-02-1', 0, 'C1-072-02-1', 0, 1, 2, 1, 72, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-02-2', 0, 'C1-072-02-2', 0, 1, 2, 1, 72, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-03-1', 0, 'C1-072-03-1', 0, 1, 2, 1, 72, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-03-2', 0, 'C1-072-03-2', 0, 1, 2, 1, 72, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-04-1', 0, 'C1-072-04-1', 0, 1, 2, 1, 72, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-04-2', 0, 'C1-072-04-2', 0, 1, 2, 1, 72, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-05-1', 0, 'C1-072-05-1', 0, 1, 2, 1, 72, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-05-2', 0, 'C1-072-05-2', 0, 1, 2, 1, 72, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-06-1', 0, 'C1-072-06-1', 0, 1, 2, 1, 72, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-06-2', 0, 'C1-072-06-2', 0, 1, 2, 1, 72, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-07-1', 0, 'C1-072-07-1', 0, 1, 2, 1, 72, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-07-2', 0, 'C1-072-07-2', 0, 1, 2, 1, 72, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-08-1', 0, 'C1-072-08-1', 0, 1, 2, 1, 72, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-08-2', 0, 'C1-072-08-2', 0, 1, 2, 1, 72, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-09-1', 0, 'C1-072-09-1', 0, 1, 2, 1, 72, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-09-2', 0, 'C1-072-09-2', 0, 1, 2, 1, 72, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-10-1', 0, 'C1-072-10-1', 0, 1, 2, 1, 72, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-10-2', 0, 'C1-072-10-2', 0, 1, 2, 1, 72, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-11-1', 0, 'C1-072-11-1', 0, 1, 2, 1, 72, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-11-2', 0, 'C1-072-11-2', 0, 1, 2, 1, 72, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-12-1', 0, 'C1-072-12-1', 0, 1, 2, 1, 72, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-12-2', 0, 'C1-072-12-2', 0, 1, 2, 1, 72, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-13-1', 0, 'C1-072-13-1', 0, 1, 2, 1, 72, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-13-2', 0, 'C1-072-13-2', 0, 1, 2, 1, 72, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-14-1', 0, 'C1-072-14-1', 0, 1, 2, 1, 72, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-14-2', 0, 'C1-072-14-2', 0, 1, 2, 1, 72, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-15-1', 0, 'C1-072-15-1', 0, 1, 2, 1, 72, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-072-15-2', 0, 'C1-072-15-2', 0, 1, 2, 1, 72, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-01-1', 0, 'C1-073-01-1', 0, 1, 2, 1, 73, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-01-2', 0, 'C1-073-01-2', 0, 1, 2, 1, 73, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-02-1', 0, 'C1-073-02-1', 0, 1, 2, 1, 73, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-02-2', 0, 'C1-073-02-2', 0, 1, 2, 1, 73, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-03-1', 0, 'C1-073-03-1', 0, 1, 2, 1, 73, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-03-2', 0, 'C1-073-03-2', 0, 1, 2, 1, 73, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-04-1', 0, 'C1-073-04-1', 0, 1, 2, 1, 73, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-04-2', 0, 'C1-073-04-2', 0, 1, 2, 1, 73, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-05-1', 0, 'C1-073-05-1', 0, 1, 2, 1, 73, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-05-2', 0, 'C1-073-05-2', 0, 1, 2, 1, 73, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-06-1', 0, 'C1-073-06-1', 0, 1, 2, 1, 73, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-06-2', 0, 'C1-073-06-2', 0, 1, 2, 1, 73, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-07-1', 0, 'C1-073-07-1', 0, 1, 2, 1, 73, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-07-2', 0, 'C1-073-07-2', 0, 1, 2, 1, 73, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-08-1', 0, 'C1-073-08-1', 0, 1, 2, 1, 73, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-08-2', 0, 'C1-073-08-2', 0, 1, 2, 1, 73, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-09-1', 0, 'C1-073-09-1', 0, 1, 2, 1, 73, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-09-2', 0, 'C1-073-09-2', 0, 1, 2, 1, 73, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-10-1', 0, 'C1-073-10-1', 0, 1, 2, 1, 73, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-10-2', 0, 'C1-073-10-2', 0, 1, 2, 1, 73, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-11-1', 0, 'C1-073-11-1', 0, 1, 2, 1, 73, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-11-2', 0, 'C1-073-11-2', 0, 1, 2, 1, 73, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-12-1', 0, 'C1-073-12-1', 0, 1, 2, 1, 73, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-12-2', 0, 'C1-073-12-2', 0, 1, 2, 1, 73, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-13-1', 0, 'C1-073-13-1', 0, 1, 2, 1, 73, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-13-2', 0, 'C1-073-13-2', 0, 1, 2, 1, 73, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-14-1', 0, 'C1-073-14-1', 0, 1, 2, 1, 73, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-14-2', 0, 'C1-073-14-2', 0, 1, 2, 1, 73, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-15-1', 0, 'C1-073-15-1', 0, 1, 2, 1, 73, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-073-15-2', 0, 'C1-073-15-2', 0, 1, 2, 1, 73, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-01-1', 0, 'C1-074-01-1', 0, 1, 2, 1, 74, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-01-2', 0, 'C1-074-01-2', 0, 1, 2, 1, 74, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-02-1', 0, 'C1-074-02-1', 0, 1, 2, 1, 74, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-02-2', 0, 'C1-074-02-2', 0, 1, 2, 1, 74, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-03-1', 0, 'C1-074-03-1', 0, 1, 2, 1, 74, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-03-2', 0, 'C1-074-03-2', 0, 1, 2, 1, 74, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-04-1', 0, 'C1-074-04-1', 0, 1, 2, 1, 74, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-04-2', 0, 'C1-074-04-2', 0, 1, 2, 1, 74, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-05-1', 0, 'C1-074-05-1', 0, 1, 2, 1, 74, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-05-2', 0, 'C1-074-05-2', 0, 1, 2, 1, 74, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-06-1', 0, 'C1-074-06-1', 0, 1, 2, 1, 74, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-06-2', 0, 'C1-074-06-2', 0, 1, 2, 1, 74, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-07-1', 0, 'C1-074-07-1', 0, 1, 2, 1, 74, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-07-2', 0, 'C1-074-07-2', 0, 1, 2, 1, 74, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-08-1', 0, 'C1-074-08-1', 0, 1, 2, 1, 74, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-08-2', 0, 'C1-074-08-2', 0, 1, 2, 1, 74, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-09-1', 0, 'C1-074-09-1', 0, 1, 2, 1, 74, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-09-2', 0, 'C1-074-09-2', 0, 1, 2, 1, 74, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-10-1', 0, 'C1-074-10-1', 0, 1, 2, 1, 74, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-10-2', 0, 'C1-074-10-2', 0, 1, 2, 1, 74, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-11-1', 0, 'C1-074-11-1', 0, 1, 2, 1, 74, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-11-2', 0, 'C1-074-11-2', 0, 1, 2, 1, 74, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-12-1', 0, 'C1-074-12-1', 0, 1, 2, 1, 74, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-12-2', 0, 'C1-074-12-2', 0, 1, 2, 1, 74, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-13-1', 0, 'C1-074-13-1', 0, 1, 2, 1, 74, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-13-2', 0, 'C1-074-13-2', 0, 1, 2, 1, 74, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-14-1', 0, 'C1-074-14-1', 0, 1, 2, 1, 74, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-14-2', 0, 'C1-074-14-2', 0, 1, 2, 1, 74, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-15-1', 0, 'C1-074-15-1', 0, 1, 2, 1, 74, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-074-15-2', 0, 'C1-074-15-2', 0, 1, 2, 1, 74, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-01-1', 0, 'C1-075-01-1', 0, 1, 2, 1, 75, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-01-2', 0, 'C1-075-01-2', 0, 1, 2, 1, 75, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-02-1', 0, 'C1-075-02-1', 0, 1, 2, 1, 75, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-02-2', 0, 'C1-075-02-2', 0, 1, 2, 1, 75, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-03-1', 0, 'C1-075-03-1', 0, 1, 2, 1, 75, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-03-2', 0, 'C1-075-03-2', 0, 1, 2, 1, 75, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-04-1', 0, 'C1-075-04-1', 0, 1, 2, 1, 75, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-04-2', 0, 'C1-075-04-2', 0, 1, 2, 1, 75, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-05-1', 0, 'C1-075-05-1', 0, 1, 2, 1, 75, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-05-2', 0, 'C1-075-05-2', 0, 1, 2, 1, 75, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-06-1', 0, 'C1-075-06-1', 0, 1, 2, 1, 75, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-06-2', 0, 'C1-075-06-2', 0, 1, 2, 1, 75, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-07-1', 0, 'C1-075-07-1', 0, 1, 2, 1, 75, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-07-2', 0, 'C1-075-07-2', 0, 1, 2, 1, 75, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-08-1', 0, 'C1-075-08-1', 0, 1, 2, 1, 75, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-08-2', 0, 'C1-075-08-2', 0, 1, 2, 1, 75, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-09-1', 0, 'C1-075-09-1', 0, 1, 2, 1, 75, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-09-2', 0, 'C1-075-09-2', 0, 1, 2, 1, 75, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-10-1', 0, 'C1-075-10-1', 0, 1, 2, 1, 75, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-10-2', 0, 'C1-075-10-2', 0, 1, 2, 1, 75, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-11-1', 0, 'C1-075-11-1', 0, 1, 2, 1, 75, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-11-2', 0, 'C1-075-11-2', 0, 1, 2, 1, 75, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-12-1', 0, 'C1-075-12-1', 0, 1, 2, 1, 75, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-12-2', 0, 'C1-075-12-2', 0, 1, 2, 1, 75, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-13-1', 0, 'C1-075-13-1', 0, 1, 2, 1, 75, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-13-2', 0, 'C1-075-13-2', 0, 1, 2, 1, 75, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-14-1', 0, 'C1-075-14-1', 0, 1, 2, 1, 75, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-14-2', 0, 'C1-075-14-2', 0, 1, 2, 1, 75, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-15-1', 0, 'C1-075-15-1', 0, 1, 2, 1, 75, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-075-15-2', 0, 'C1-075-15-2', 0, 1, 2, 1, 75, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-01-1', 0, 'C1-076-01-1', 0, 1, 2, 1, 76, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-01-2', 0, 'C1-076-01-2', 0, 1, 2, 1, 76, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-02-1', 0, 'C1-076-02-1', 0, 1, 2, 1, 76, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-02-2', 0, 'C1-076-02-2', 0, 1, 2, 1, 76, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-03-1', 0, 'C1-076-03-1', 0, 1, 2, 1, 76, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-03-2', 0, 'C1-076-03-2', 0, 1, 2, 1, 76, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-04-1', 0, 'C1-076-04-1', 0, 1, 2, 1, 76, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-04-2', 0, 'C1-076-04-2', 0, 1, 2, 1, 76, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-05-1', 0, 'C1-076-05-1', 0, 1, 2, 1, 76, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-05-2', 0, 'C1-076-05-2', 0, 1, 2, 1, 76, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-06-1', 0, 'C1-076-06-1', 0, 1, 2, 1, 76, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-06-2', 0, 'C1-076-06-2', 0, 1, 2, 1, 76, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-07-1', 0, 'C1-076-07-1', 0, 1, 2, 1, 76, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-07-2', 0, 'C1-076-07-2', 0, 1, 2, 1, 76, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-08-1', 0, 'C1-076-08-1', 0, 1, 2, 1, 76, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-08-2', 0, 'C1-076-08-2', 0, 1, 2, 1, 76, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-09-1', 0, 'C1-076-09-1', 0, 1, 2, 1, 76, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-09-2', 0, 'C1-076-09-2', 0, 1, 2, 1, 76, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-10-1', 0, 'C1-076-10-1', 0, 1, 2, 1, 76, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-10-2', 0, 'C1-076-10-2', 0, 1, 2, 1, 76, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-11-1', 0, 'C1-076-11-1', 0, 1, 2, 1, 76, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-11-2', 0, 'C1-076-11-2', 0, 1, 2, 1, 76, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-12-1', 0, 'C1-076-12-1', 0, 1, 2, 1, 76, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-12-2', 0, 'C1-076-12-2', 0, 1, 2, 1, 76, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-13-1', 0, 'C1-076-13-1', 0, 1, 2, 1, 76, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-13-2', 0, 'C1-076-13-2', 0, 1, 2, 1, 76, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-14-1', 0, 'C1-076-14-1', 0, 1, 2, 1, 76, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-14-2', 0, 'C1-076-14-2', 0, 1, 2, 1, 76, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-15-1', 0, 'C1-076-15-1', 0, 1, 2, 1, 76, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-076-15-2', 0, 'C1-076-15-2', 0, 1, 2, 1, 76, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-01-1', 0, 'C1-077-01-1', 0, 1, 2, 1, 77, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-01-2', 0, 'C1-077-01-2', 0, 1, 2, 1, 77, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-02-1', 0, 'C1-077-02-1', 0, 1, 2, 1, 77, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-02-2', 0, 'C1-077-02-2', 0, 1, 2, 1, 77, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-03-1', 0, 'C1-077-03-1', 0, 1, 2, 1, 77, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-03-2', 0, 'C1-077-03-2', 0, 1, 2, 1, 77, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-04-1', 0, 'C1-077-04-1', 0, 1, 2, 1, 77, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-04-2', 0, 'C1-077-04-2', 0, 1, 2, 1, 77, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-05-1', 0, 'C1-077-05-1', 0, 1, 2, 1, 77, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-05-2', 0, 'C1-077-05-2', 0, 1, 2, 1, 77, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-06-1', 0, 'C1-077-06-1', 0, 1, 2, 1, 77, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-06-2', 0, 'C1-077-06-2', 0, 1, 2, 1, 77, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-07-1', 0, 'C1-077-07-1', 0, 1, 2, 1, 77, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-07-2', 0, 'C1-077-07-2', 0, 1, 2, 1, 77, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-08-1', 0, 'C1-077-08-1', 0, 1, 2, 1, 77, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-08-2', 0, 'C1-077-08-2', 0, 1, 2, 1, 77, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-09-1', 0, 'C1-077-09-1', 0, 1, 2, 1, 77, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-09-2', 0, 'C1-077-09-2', 0, 1, 2, 1, 77, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-10-1', 0, 'C1-077-10-1', 0, 1, 2, 1, 77, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-10-2', 0, 'C1-077-10-2', 0, 1, 2, 1, 77, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-11-1', 0, 'C1-077-11-1', 0, 1, 2, 1, 77, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-11-2', 0, 'C1-077-11-2', 0, 1, 2, 1, 77, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-12-1', 0, 'C1-077-12-1', 0, 1, 2, 1, 77, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-12-2', 0, 'C1-077-12-2', 0, 1, 2, 1, 77, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-13-1', 0, 'C1-077-13-1', 0, 1, 2, 1, 77, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-13-2', 0, 'C1-077-13-2', 0, 1, 2, 1, 77, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-14-1', 0, 'C1-077-14-1', 0, 1, 2, 1, 77, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-14-2', 0, 'C1-077-14-2', 0, 1, 2, 1, 77, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-15-1', 0, 'C1-077-15-1', 0, 1, 2, 1, 77, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-077-15-2', 0, 'C1-077-15-2', 0, 1, 2, 1, 77, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-01-1', 0, 'C1-078-01-1', 0, 1, 2, 1, 78, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-01-2', 0, 'C1-078-01-2', 0, 1, 2, 1, 78, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-02-1', 0, 'C1-078-02-1', 0, 1, 2, 1, 78, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-02-2', 0, 'C1-078-02-2', 0, 1, 2, 1, 78, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-03-1', 0, 'C1-078-03-1', 0, 1, 2, 1, 78, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-03-2', 0, 'C1-078-03-2', 0, 1, 2, 1, 78, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-04-1', 0, 'C1-078-04-1', 0, 1, 2, 1, 78, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-04-2', 0, 'C1-078-04-2', 0, 1, 2, 1, 78, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-05-1', 0, 'C1-078-05-1', 0, 1, 2, 1, 78, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-05-2', 0, 'C1-078-05-2', 0, 1, 2, 1, 78, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-06-1', 0, 'C1-078-06-1', 0, 1, 2, 1, 78, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-06-2', 0, 'C1-078-06-2', 0, 1, 2, 1, 78, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-07-1', 0, 'C1-078-07-1', 0, 1, 2, 1, 78, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-07-2', 0, 'C1-078-07-2', 0, 1, 2, 1, 78, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-08-1', 0, 'C1-078-08-1', 0, 1, 2, 1, 78, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-08-2', 0, 'C1-078-08-2', 0, 1, 2, 1, 78, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-09-1', 0, 'C1-078-09-1', 0, 1, 2, 1, 78, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-09-2', 0, 'C1-078-09-2', 0, 1, 2, 1, 78, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-10-1', 0, 'C1-078-10-1', 0, 1, 2, 1, 78, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-10-2', 0, 'C1-078-10-2', 0, 1, 2, 1, 78, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-11-1', 0, 'C1-078-11-1', 0, 1, 2, 1, 78, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-11-2', 0, 'C1-078-11-2', 0, 1, 2, 1, 78, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-12-1', 0, 'C1-078-12-1', 0, 1, 2, 1, 78, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-12-2', 0, 'C1-078-12-2', 0, 1, 2, 1, 78, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-13-1', 0, 'C1-078-13-1', 0, 1, 2, 1, 78, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-13-2', 0, 'C1-078-13-2', 0, 1, 2, 1, 78, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-14-1', 0, 'C1-078-14-1', 0, 1, 2, 1, 78, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-14-2', 0, 'C1-078-14-2', 0, 1, 2, 1, 78, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-15-1', 0, 'C1-078-15-1', 0, 1, 2, 1, 78, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-078-15-2', 0, 'C1-078-15-2', 0, 1, 2, 1, 78, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-01-1', 0, 'C1-079-01-1', 0, 1, 2, 1, 79, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-01-2', 0, 'C1-079-01-2', 0, 1, 2, 1, 79, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-02-1', 0, 'C1-079-02-1', 0, 1, 2, 1, 79, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-02-2', 0, 'C1-079-02-2', 0, 1, 2, 1, 79, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-03-1', 0, 'C1-079-03-1', 0, 1, 2, 1, 79, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-03-2', 0, 'C1-079-03-2', 0, 1, 2, 1, 79, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-04-1', 0, 'C1-079-04-1', 0, 1, 2, 1, 79, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-04-2', 0, 'C1-079-04-2', 0, 1, 2, 1, 79, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-05-1', 0, 'C1-079-05-1', 0, 1, 2, 1, 79, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-05-2', 0, 'C1-079-05-2', 0, 1, 2, 1, 79, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-06-1', 0, 'C1-079-06-1', 0, 1, 2, 1, 79, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-06-2', 0, 'C1-079-06-2', 0, 1, 2, 1, 79, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-07-1', 0, 'C1-079-07-1', 0, 1, 2, 1, 79, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-07-2', 0, 'C1-079-07-2', 0, 1, 2, 1, 79, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-08-1', 0, 'C1-079-08-1', 0, 1, 2, 1, 79, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-08-2', 0, 'C1-079-08-2', 0, 1, 2, 1, 79, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-09-1', 0, 'C1-079-09-1', 0, 1, 2, 1, 79, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-09-2', 0, 'C1-079-09-2', 0, 1, 2, 1, 79, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-10-1', 0, 'C1-079-10-1', 0, 1, 2, 1, 79, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-10-2', 0, 'C1-079-10-2', 0, 1, 2, 1, 79, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-11-1', 0, 'C1-079-11-1', 0, 1, 2, 1, 79, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-11-2', 0, 'C1-079-11-2', 0, 1, 2, 1, 79, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-12-1', 0, 'C1-079-12-1', 0, 1, 2, 1, 79, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-12-2', 0, 'C1-079-12-2', 0, 1, 2, 1, 79, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-13-1', 0, 'C1-079-13-1', 0, 1, 2, 1, 79, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-13-2', 0, 'C1-079-13-2', 0, 1, 2, 1, 79, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-14-1', 0, 'C1-079-14-1', 0, 1, 2, 1, 79, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-14-2', 0, 'C1-079-14-2', 0, 1, 2, 1, 79, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-15-1', 0, 'C1-079-15-1', 0, 1, 2, 1, 79, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-079-15-2', 0, 'C1-079-15-2', 0, 1, 2, 1, 79, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-01-1', 0, 'C1-080-01-1', 0, 1, 2, 1, 80, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-01-2', 0, 'C1-080-01-2', 0, 1, 2, 1, 80, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-02-1', 0, 'C1-080-02-1', 0, 1, 2, 1, 80, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-02-2', 0, 'C1-080-02-2', 0, 1, 2, 1, 80, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-03-1', 0, 'C1-080-03-1', 0, 1, 2, 1, 80, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-03-2', 0, 'C1-080-03-2', 0, 1, 2, 1, 80, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-04-1', 0, 'C1-080-04-1', 0, 1, 2, 1, 80, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-04-2', 0, 'C1-080-04-2', 0, 1, 2, 1, 80, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-05-1', 0, 'C1-080-05-1', 0, 1, 2, 1, 80, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-05-2', 0, 'C1-080-05-2', 0, 1, 2, 1, 80, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-06-1', 0, 'C1-080-06-1', 0, 1, 2, 1, 80, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-06-2', 0, 'C1-080-06-2', 0, 1, 2, 1, 80, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-07-1', 0, 'C1-080-07-1', 0, 1, 2, 1, 80, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-07-2', 0, 'C1-080-07-2', 0, 1, 2, 1, 80, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-08-1', 0, 'C1-080-08-1', 0, 1, 2, 1, 80, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-08-2', 0, 'C1-080-08-2', 0, 1, 2, 1, 80, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-09-1', 0, 'C1-080-09-1', 0, 1, 2, 1, 80, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-09-2', 0, 'C1-080-09-2', 0, 1, 2, 1, 80, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-10-1', 0, 'C1-080-10-1', 0, 1, 2, 1, 80, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-10-2', 0, 'C1-080-10-2', 0, 1, 2, 1, 80, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-11-1', 0, 'C1-080-11-1', 0, 1, 2, 1, 80, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-11-2', 0, 'C1-080-11-2', 0, 1, 2, 1, 80, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-12-1', 0, 'C1-080-12-1', 0, 1, 2, 1, 80, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-12-2', 0, 'C1-080-12-2', 0, 1, 2, 1, 80, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-13-1', 0, 'C1-080-13-1', 0, 1, 2, 1, 80, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-13-2', 0, 'C1-080-13-2', 0, 1, 2, 1, 80, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-14-1', 0, 'C1-080-14-1', 0, 1, 2, 1, 80, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-14-2', 0, 'C1-080-14-2', 0, 1, 2, 1, 80, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-15-1', 0, 'C1-080-15-1', 0, 1, 2, 1, 80, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-080-15-2', 0, 'C1-080-15-2', 0, 1, 2, 1, 80, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-01-1', 0, 'C1-081-01-1', 0, 1, 2, 1, 81, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-01-2', 0, 'C1-081-01-2', 0, 1, 2, 1, 81, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-02-1', 0, 'C1-081-02-1', 0, 1, 2, 1, 81, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-02-2', 0, 'C1-081-02-2', 0, 1, 2, 1, 81, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-03-1', 0, 'C1-081-03-1', 0, 1, 2, 1, 81, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-03-2', 0, 'C1-081-03-2', 0, 1, 2, 1, 81, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-04-1', 0, 'C1-081-04-1', 0, 1, 2, 1, 81, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-04-2', 0, 'C1-081-04-2', 0, 1, 2, 1, 81, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-05-1', 0, 'C1-081-05-1', 0, 1, 2, 1, 81, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-05-2', 0, 'C1-081-05-2', 0, 1, 2, 1, 81, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-06-1', 0, 'C1-081-06-1', 0, 1, 2, 1, 81, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-06-2', 0, 'C1-081-06-2', 0, 1, 2, 1, 81, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-07-1', 0, 'C1-081-07-1', 0, 1, 2, 1, 81, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-07-2', 0, 'C1-081-07-2', 0, 1, 2, 1, 81, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-08-1', 0, 'C1-081-08-1', 0, 1, 2, 1, 81, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-08-2', 0, 'C1-081-08-2', 0, 1, 2, 1, 81, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-09-1', 0, 'C1-081-09-1', 0, 1, 2, 1, 81, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-09-2', 0, 'C1-081-09-2', 0, 1, 2, 1, 81, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-10-1', 0, 'C1-081-10-1', 0, 1, 2, 1, 81, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-10-2', 0, 'C1-081-10-2', 0, 1, 2, 1, 81, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-11-1', 0, 'C1-081-11-1', 0, 1, 2, 1, 81, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-11-2', 0, 'C1-081-11-2', 0, 1, 2, 1, 81, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-12-1', 0, 'C1-081-12-1', 0, 1, 2, 1, 81, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-12-2', 0, 'C1-081-12-2', 0, 1, 2, 1, 81, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-13-1', 0, 'C1-081-13-1', 0, 1, 2, 1, 81, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-13-2', 0, 'C1-081-13-2', 0, 1, 2, 1, 81, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-14-1', 0, 'C1-081-14-1', 0, 1, 2, 1, 81, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-14-2', 0, 'C1-081-14-2', 0, 1, 2, 1, 81, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-15-1', 2, 'C1-081-15-1', 0, 1, 2, 1, 81, 15, 1, '', '', '2025-10-06 20:07:58', '2025-10-06 20:18:04', ''); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-081-15-2', 0, 'C1-081-15-2', 0, 1, 2, 1, 81, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-01-1', 0, 'C1-082-01-1', 0, 1, 2, 1, 82, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-01-2', 0, 'C1-082-01-2', 0, 1, 2, 1, 82, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-02-1', 0, 'C1-082-02-1', 0, 1, 2, 1, 82, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-02-2', 0, 'C1-082-02-2', 0, 1, 2, 1, 82, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-03-1', 0, 'C1-082-03-1', 0, 1, 2, 1, 82, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-03-2', 0, 'C1-082-03-2', 0, 1, 2, 1, 82, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-04-1', 0, 'C1-082-04-1', 0, 1, 2, 1, 82, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-04-2', 0, 'C1-082-04-2', 0, 1, 2, 1, 82, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-05-1', 0, 'C1-082-05-1', 0, 1, 2, 1, 82, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-05-2', 0, 'C1-082-05-2', 0, 1, 2, 1, 82, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-06-1', 0, 'C1-082-06-1', 0, 1, 2, 1, 82, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-06-2', 0, 'C1-082-06-2', 0, 1, 2, 1, 82, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-07-1', 0, 'C1-082-07-1', 0, 1, 2, 1, 82, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-07-2', 0, 'C1-082-07-2', 0, 1, 2, 1, 82, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-08-1', 0, 'C1-082-08-1', 0, 1, 2, 1, 82, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-08-2', 0, 'C1-082-08-2', 0, 1, 2, 1, 82, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-09-1', 0, 'C1-082-09-1', 0, 1, 2, 1, 82, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-09-2', 0, 'C1-082-09-2', 0, 1, 2, 1, 82, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-10-1', 0, 'C1-082-10-1', 0, 1, 2, 1, 82, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-10-2', 0, 'C1-082-10-2', 0, 1, 2, 1, 82, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-11-1', 0, 'C1-082-11-1', 0, 1, 2, 1, 82, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-11-2', 0, 'C1-082-11-2', 0, 1, 2, 1, 82, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-12-1', 0, 'C1-082-12-1', 0, 1, 2, 1, 82, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-12-2', 0, 'C1-082-12-2', 0, 1, 2, 1, 82, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-13-1', 0, 'C1-082-13-1', 0, 1, 2, 1, 82, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-13-2', 0, 'C1-082-13-2', 0, 1, 2, 1, 82, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-14-1', 0, 'C1-082-14-1', 0, 1, 2, 1, 82, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-14-2', 0, 'C1-082-14-2', 0, 1, 2, 1, 82, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-15-1', 0, 'C1-082-15-1', 0, 1, 2, 1, 82, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-082-15-2', 0, 'C1-082-15-2', 0, 1, 2, 1, 82, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-01-1', 0, 'C1-083-01-1', 0, 1, 2, 1, 83, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-01-2', 0, 'C1-083-01-2', 0, 1, 2, 1, 83, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-02-1', 0, 'C1-083-02-1', 0, 1, 2, 1, 83, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-02-2', 0, 'C1-083-02-2', 0, 1, 2, 1, 83, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-03-1', 0, 'C1-083-03-1', 0, 1, 2, 1, 83, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-03-2', 0, 'C1-083-03-2', 0, 1, 2, 1, 83, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-04-1', 0, 'C1-083-04-1', 0, 1, 2, 1, 83, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-04-2', 0, 'C1-083-04-2', 0, 1, 2, 1, 83, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-05-1', 0, 'C1-083-05-1', 0, 1, 2, 1, 83, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-05-2', 0, 'C1-083-05-2', 0, 1, 2, 1, 83, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-06-1', 0, 'C1-083-06-1', 0, 1, 2, 1, 83, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-06-2', 0, 'C1-083-06-2', 0, 1, 2, 1, 83, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-07-1', 0, 'C1-083-07-1', 0, 1, 2, 1, 83, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-07-2', 0, 'C1-083-07-2', 0, 1, 2, 1, 83, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-08-1', 0, 'C1-083-08-1', 0, 1, 2, 1, 83, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-08-2', 0, 'C1-083-08-2', 0, 1, 2, 1, 83, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-09-1', 0, 'C1-083-09-1', 0, 1, 2, 1, 83, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-09-2', 0, 'C1-083-09-2', 0, 1, 2, 1, 83, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-10-1', 0, 'C1-083-10-1', 0, 1, 2, 1, 83, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-10-2', 0, 'C1-083-10-2', 0, 1, 2, 1, 83, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-11-1', 0, 'C1-083-11-1', 0, 1, 2, 1, 83, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-11-2', 0, 'C1-083-11-2', 0, 1, 2, 1, 83, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-12-1', 0, 'C1-083-12-1', 0, 1, 2, 1, 83, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-12-2', 0, 'C1-083-12-2', 0, 1, 2, 1, 83, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-13-1', 0, 'C1-083-13-1', 0, 1, 2, 1, 83, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-13-2', 0, 'C1-083-13-2', 0, 1, 2, 1, 83, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-14-1', 0, 'C1-083-14-1', 0, 1, 2, 1, 83, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-14-2', 0, 'C1-083-14-2', 0, 1, 2, 1, 83, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-15-1', 0, 'C1-083-15-1', 0, 1, 2, 1, 83, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-083-15-2', 0, 'C1-083-15-2', 0, 1, 2, 1, 83, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-01-1', 0, 'C1-084-01-1', 0, 1, 2, 1, 84, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-01-2', 0, 'C1-084-01-2', 0, 1, 2, 1, 84, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-02-1', 0, 'C1-084-02-1', 0, 1, 2, 1, 84, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-02-2', 0, 'C1-084-02-2', 0, 1, 2, 1, 84, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-03-1', 0, 'C1-084-03-1', 0, 1, 2, 1, 84, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-03-2', 0, 'C1-084-03-2', 0, 1, 2, 1, 84, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-04-1', 0, 'C1-084-04-1', 0, 1, 2, 1, 84, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-04-2', 0, 'C1-084-04-2', 0, 1, 2, 1, 84, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-05-1', 0, 'C1-084-05-1', 0, 1, 2, 1, 84, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-05-2', 0, 'C1-084-05-2', 0, 1, 2, 1, 84, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-06-1', 0, 'C1-084-06-1', 0, 1, 2, 1, 84, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-06-2', 0, 'C1-084-06-2', 0, 1, 2, 1, 84, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-07-1', 0, 'C1-084-07-1', 0, 1, 2, 1, 84, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-07-2', 0, 'C1-084-07-2', 0, 1, 2, 1, 84, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-08-1', 0, 'C1-084-08-1', 0, 1, 2, 1, 84, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-08-2', 0, 'C1-084-08-2', 0, 1, 2, 1, 84, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-09-1', 0, 'C1-084-09-1', 0, 1, 2, 1, 84, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-09-2', 0, 'C1-084-09-2', 0, 1, 2, 1, 84, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-10-1', 0, 'C1-084-10-1', 0, 1, 2, 1, 84, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-10-2', 0, 'C1-084-10-2', 0, 1, 2, 1, 84, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-11-1', 0, 'C1-084-11-1', 0, 1, 2, 1, 84, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-11-2', 0, 'C1-084-11-2', 0, 1, 2, 1, 84, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-12-1', 0, 'C1-084-12-1', 0, 1, 2, 1, 84, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-12-2', 0, 'C1-084-12-2', 0, 1, 2, 1, 84, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-13-1', 0, 'C1-084-13-1', 0, 1, 2, 1, 84, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-13-2', 0, 'C1-084-13-2', 0, 1, 2, 1, 84, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-14-1', 0, 'C1-084-14-1', 0, 1, 2, 1, 84, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-14-2', 0, 'C1-084-14-2', 0, 1, 2, 1, 84, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-15-1', 0, 'C1-084-15-1', 0, 1, 2, 1, 84, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-084-15-2', 0, 'C1-084-15-2', 0, 1, 2, 1, 84, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-01-1', 0, 'C1-085-01-1', 0, 1, 2, 1, 85, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-01-2', 0, 'C1-085-01-2', 0, 1, 2, 1, 85, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-02-1', 0, 'C1-085-02-1', 0, 1, 2, 1, 85, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-02-2', 0, 'C1-085-02-2', 0, 1, 2, 1, 85, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-03-1', 0, 'C1-085-03-1', 0, 1, 2, 1, 85, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-03-2', 0, 'C1-085-03-2', 0, 1, 2, 1, 85, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-04-1', 0, 'C1-085-04-1', 0, 1, 2, 1, 85, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-04-2', 0, 'C1-085-04-2', 0, 1, 2, 1, 85, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-05-1', 0, 'C1-085-05-1', 0, 1, 2, 1, 85, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-05-2', 0, 'C1-085-05-2', 0, 1, 2, 1, 85, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-06-1', 0, 'C1-085-06-1', 0, 1, 2, 1, 85, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-06-2', 0, 'C1-085-06-2', 0, 1, 2, 1, 85, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-07-1', 0, 'C1-085-07-1', 0, 1, 2, 1, 85, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-07-2', 0, 'C1-085-07-2', 0, 1, 2, 1, 85, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-08-1', 0, 'C1-085-08-1', 0, 1, 2, 1, 85, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-08-2', 0, 'C1-085-08-2', 0, 1, 2, 1, 85, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-09-1', 0, 'C1-085-09-1', 0, 1, 2, 1, 85, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-09-2', 0, 'C1-085-09-2', 0, 1, 2, 1, 85, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-10-1', 0, 'C1-085-10-1', 0, 1, 2, 1, 85, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-10-2', 0, 'C1-085-10-2', 0, 1, 2, 1, 85, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-11-1', 0, 'C1-085-11-1', 0, 1, 2, 1, 85, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-11-2', 0, 'C1-085-11-2', 0, 1, 2, 1, 85, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-12-1', 0, 'C1-085-12-1', 0, 1, 2, 1, 85, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-12-2', 0, 'C1-085-12-2', 0, 1, 2, 1, 85, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-13-1', 0, 'C1-085-13-1', 0, 1, 2, 1, 85, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-13-2', 0, 'C1-085-13-2', 0, 1, 2, 1, 85, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-14-1', 0, 'C1-085-14-1', 0, 1, 2, 1, 85, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-14-2', 0, 'C1-085-14-2', 0, 1, 2, 1, 85, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-15-1', 0, 'C1-085-15-1', 0, 1, 2, 1, 85, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-085-15-2', 0, 'C1-085-15-2', 0, 1, 2, 1, 85, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-01-1', 0, 'C1-086-01-1', 0, 1, 2, 1, 86, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-01-2', 0, 'C1-086-01-2', 0, 1, 2, 1, 86, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-02-1', 0, 'C1-086-02-1', 0, 1, 2, 1, 86, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-02-2', 0, 'C1-086-02-2', 0, 1, 2, 1, 86, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-03-1', 0, 'C1-086-03-1', 0, 1, 2, 1, 86, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-03-2', 0, 'C1-086-03-2', 0, 1, 2, 1, 86, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-04-1', 0, 'C1-086-04-1', 0, 1, 2, 1, 86, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-04-2', 0, 'C1-086-04-2', 0, 1, 2, 1, 86, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-05-1', 0, 'C1-086-05-1', 0, 1, 2, 1, 86, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-05-2', 0, 'C1-086-05-2', 0, 1, 2, 1, 86, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-06-1', 0, 'C1-086-06-1', 0, 1, 2, 1, 86, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-06-2', 0, 'C1-086-06-2', 0, 1, 2, 1, 86, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-07-1', 0, 'C1-086-07-1', 0, 1, 2, 1, 86, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-07-2', 0, 'C1-086-07-2', 0, 1, 2, 1, 86, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-08-1', 0, 'C1-086-08-1', 0, 1, 2, 1, 86, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-08-2', 0, 'C1-086-08-2', 0, 1, 2, 1, 86, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-09-1', 0, 'C1-086-09-1', 0, 1, 2, 1, 86, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-09-2', 0, 'C1-086-09-2', 0, 1, 2, 1, 86, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-10-1', 0, 'C1-086-10-1', 0, 1, 2, 1, 86, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-10-2', 0, 'C1-086-10-2', 0, 1, 2, 1, 86, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-11-1', 0, 'C1-086-11-1', 0, 1, 2, 1, 86, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-11-2', 0, 'C1-086-11-2', 0, 1, 2, 1, 86, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-12-1', 0, 'C1-086-12-1', 0, 1, 2, 1, 86, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-12-2', 0, 'C1-086-12-2', 0, 1, 2, 1, 86, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-13-1', 0, 'C1-086-13-1', 0, 1, 2, 1, 86, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-13-2', 0, 'C1-086-13-2', 0, 1, 2, 1, 86, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-14-1', 0, 'C1-086-14-1', 0, 1, 2, 1, 86, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-14-2', 0, 'C1-086-14-2', 0, 1, 2, 1, 86, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-15-1', 0, 'C1-086-15-1', 0, 1, 2, 1, 86, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-086-15-2', 0, 'C1-086-15-2', 0, 1, 2, 1, 86, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-01-1', 0, 'C1-087-01-1', 0, 1, 2, 1, 87, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-01-2', 0, 'C1-087-01-2', 0, 1, 2, 1, 87, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-02-1', 0, 'C1-087-02-1', 0, 1, 2, 1, 87, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-02-2', 0, 'C1-087-02-2', 0, 1, 2, 1, 87, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-03-1', 0, 'C1-087-03-1', 0, 1, 2, 1, 87, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-03-2', 0, 'C1-087-03-2', 0, 1, 2, 1, 87, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-04-1', 0, 'C1-087-04-1', 0, 1, 2, 1, 87, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-04-2', 0, 'C1-087-04-2', 0, 1, 2, 1, 87, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-05-1', 0, 'C1-087-05-1', 0, 1, 2, 1, 87, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-05-2', 0, 'C1-087-05-2', 0, 1, 2, 1, 87, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-06-1', 0, 'C1-087-06-1', 0, 1, 2, 1, 87, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-06-2', 0, 'C1-087-06-2', 0, 1, 2, 1, 87, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-07-1', 0, 'C1-087-07-1', 0, 1, 2, 1, 87, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-07-2', 0, 'C1-087-07-2', 0, 1, 2, 1, 87, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-08-1', 0, 'C1-087-08-1', 0, 1, 2, 1, 87, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-08-2', 0, 'C1-087-08-2', 0, 1, 2, 1, 87, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-09-1', 0, 'C1-087-09-1', 0, 1, 2, 1, 87, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-09-2', 0, 'C1-087-09-2', 0, 1, 2, 1, 87, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-10-1', 0, 'C1-087-10-1', 0, 1, 2, 1, 87, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-10-2', 0, 'C1-087-10-2', 0, 1, 2, 1, 87, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-11-1', 0, 'C1-087-11-1', 0, 1, 2, 1, 87, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-11-2', 0, 'C1-087-11-2', 0, 1, 2, 1, 87, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-12-1', 0, 'C1-087-12-1', 0, 1, 2, 1, 87, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-12-2', 0, 'C1-087-12-2', 0, 1, 2, 1, 87, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-13-1', 0, 'C1-087-13-1', 0, 1, 2, 1, 87, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-13-2', 0, 'C1-087-13-2', 0, 1, 2, 1, 87, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-14-1', 0, 'C1-087-14-1', 0, 1, 2, 1, 87, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-14-2', 0, 'C1-087-14-2', 0, 1, 2, 1, 87, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-15-1', 0, 'C1-087-15-1', 0, 1, 2, 1, 87, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-087-15-2', 0, 'C1-087-15-2', 0, 1, 2, 1, 87, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-01-1', 0, 'C1-088-01-1', 0, 1, 2, 1, 88, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-01-2', 0, 'C1-088-01-2', 0, 1, 2, 1, 88, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-02-1', 0, 'C1-088-02-1', 0, 1, 2, 1, 88, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-02-2', 0, 'C1-088-02-2', 0, 1, 2, 1, 88, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-03-1', 0, 'C1-088-03-1', 0, 1, 2, 1, 88, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-03-2', 0, 'C1-088-03-2', 0, 1, 2, 1, 88, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-04-1', 0, 'C1-088-04-1', 0, 1, 2, 1, 88, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-04-2', 0, 'C1-088-04-2', 0, 1, 2, 1, 88, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-05-1', 0, 'C1-088-05-1', 0, 1, 2, 1, 88, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-05-2', 0, 'C1-088-05-2', 0, 1, 2, 1, 88, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-06-1', 0, 'C1-088-06-1', 0, 1, 2, 1, 88, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-06-2', 0, 'C1-088-06-2', 0, 1, 2, 1, 88, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-07-1', 0, 'C1-088-07-1', 0, 1, 2, 1, 88, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-07-2', 0, 'C1-088-07-2', 0, 1, 2, 1, 88, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-08-1', 0, 'C1-088-08-1', 0, 1, 2, 1, 88, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-08-2', 0, 'C1-088-08-2', 0, 1, 2, 1, 88, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-09-1', 0, 'C1-088-09-1', 0, 1, 2, 1, 88, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-09-2', 0, 'C1-088-09-2', 0, 1, 2, 1, 88, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-10-1', 0, 'C1-088-10-1', 0, 1, 2, 1, 88, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-10-2', 0, 'C1-088-10-2', 0, 1, 2, 1, 88, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-11-1', 0, 'C1-088-11-1', 0, 1, 2, 1, 88, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-11-2', 0, 'C1-088-11-2', 0, 1, 2, 1, 88, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-12-1', 0, 'C1-088-12-1', 0, 1, 2, 1, 88, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-12-2', 0, 'C1-088-12-2', 0, 1, 2, 1, 88, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-13-1', 0, 'C1-088-13-1', 0, 1, 2, 1, 88, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-13-2', 0, 'C1-088-13-2', 0, 1, 2, 1, 88, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-14-1', 0, 'C1-088-14-1', 0, 1, 2, 1, 88, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-14-2', 0, 'C1-088-14-2', 0, 1, 2, 1, 88, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-15-1', 0, 'C1-088-15-1', 0, 1, 2, 1, 88, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-088-15-2', 0, 'C1-088-15-2', 0, 1, 2, 1, 88, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-01-1', 0, 'C1-089-01-1', 0, 1, 2, 1, 89, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-01-2', 0, 'C1-089-01-2', 0, 1, 2, 1, 89, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-02-1', 0, 'C1-089-02-1', 0, 1, 2, 1, 89, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-02-2', 0, 'C1-089-02-2', 0, 1, 2, 1, 89, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-03-1', 0, 'C1-089-03-1', 0, 1, 2, 1, 89, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-03-2', 0, 'C1-089-03-2', 0, 1, 2, 1, 89, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-04-1', 0, 'C1-089-04-1', 0, 1, 2, 1, 89, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-04-2', 0, 'C1-089-04-2', 0, 1, 2, 1, 89, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-05-1', 0, 'C1-089-05-1', 0, 1, 2, 1, 89, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-05-2', 0, 'C1-089-05-2', 0, 1, 2, 1, 89, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-06-1', 0, 'C1-089-06-1', 0, 1, 2, 1, 89, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-06-2', 0, 'C1-089-06-2', 0, 1, 2, 1, 89, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-07-1', 0, 'C1-089-07-1', 0, 1, 2, 1, 89, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-07-2', 0, 'C1-089-07-2', 0, 1, 2, 1, 89, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-08-1', 0, 'C1-089-08-1', 0, 1, 2, 1, 89, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-08-2', 0, 'C1-089-08-2', 0, 1, 2, 1, 89, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-09-1', 3, 'C1-089-09-1', 0, 1, 2, 1, 89, 9, 1, '', '', '2025-10-06 20:07:58', '2025-10-06 20:17:26', ''); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-09-2', 0, 'C1-089-09-2', 0, 1, 2, 1, 89, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-10-1', 0, 'C1-089-10-1', 0, 1, 2, 1, 89, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-10-2', 0, 'C1-089-10-2', 0, 1, 2, 1, 89, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-11-1', 0, 'C1-089-11-1', 0, 1, 2, 1, 89, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-11-2', 1, 'C1-089-11-2', 0, 1, 2, 1, 89, 11, 2, '', '', '2025-10-06 20:07:58', '2025-10-06 20:17:35', ''); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-12-1', 0, 'C1-089-12-1', 0, 1, 2, 1, 89, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-12-2', 0, 'C1-089-12-2', 0, 1, 2, 1, 89, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-13-1', 9, 'C1-089-13-1', 0, 1, 2, 1, 89, 13, 1, '', '', '2025-10-06 20:07:58', '2025-10-06 20:17:48', ''); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-13-2', 0, 'C1-089-13-2', 0, 1, 2, 1, 89, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-14-1', 0, 'C1-089-14-1', 0, 1, 2, 1, 89, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-14-2', 0, 'C1-089-14-2', 0, 1, 2, 1, 89, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-15-1', 0, 'C1-089-15-1', 0, 1, 2, 1, 89, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-089-15-2', 0, 'C1-089-15-2', 0, 1, 2, 1, 89, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-01-1', 0, 'C1-090-01-1', 0, 1, 2, 1, 90, 1, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-01-2', 0, 'C1-090-01-2', 0, 1, 2, 1, 90, 1, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-02-1', 0, 'C1-090-02-1', 0, 1, 2, 1, 90, 2, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-02-2', 0, 'C1-090-02-2', 0, 1, 2, 1, 90, 2, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-03-1', 0, 'C1-090-03-1', 0, 1, 2, 1, 90, 3, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-03-2', 0, 'C1-090-03-2', 0, 1, 2, 1, 90, 3, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-04-1', 0, 'C1-090-04-1', 0, 1, 2, 1, 90, 4, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-04-2', 0, 'C1-090-04-2', 0, 1, 2, 1, 90, 4, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-05-1', 0, 'C1-090-05-1', 0, 1, 2, 1, 90, 5, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-05-2', 0, 'C1-090-05-2', 0, 1, 2, 1, 90, 5, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-06-1', 0, 'C1-090-06-1', 0, 1, 2, 1, 90, 6, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-06-2', 0, 'C1-090-06-2', 0, 1, 2, 1, 90, 6, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-07-1', 0, 'C1-090-07-1', 0, 1, 2, 1, 90, 7, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-07-2', 0, 'C1-090-07-2', 0, 1, 2, 1, 90, 7, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-08-1', 0, 'C1-090-08-1', 0, 1, 2, 1, 90, 8, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-08-2', 0, 'C1-090-08-2', 0, 1, 2, 1, 90, 8, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-09-1', 0, 'C1-090-09-1', 0, 1, 2, 1, 90, 9, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-09-2', 0, 'C1-090-09-2', 0, 1, 2, 1, 90, 9, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-10-1', 0, 'C1-090-10-1', 0, 1, 2, 1, 90, 10, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-10-2', 0, 'C1-090-10-2', 0, 1, 2, 1, 90, 10, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-11-1', 0, 'C1-090-11-1', 0, 1, 2, 1, 90, 11, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-11-2', 0, 'C1-090-11-2', 0, 1, 2, 1, 90, 11, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-12-1', 0, 'C1-090-12-1', 0, 1, 2, 1, 90, 12, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-12-2', 0, 'C1-090-12-2', 0, 1, 2, 1, 90, 12, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-13-1', 0, 'C1-090-13-1', 0, 1, 2, 1, 90, 13, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-13-2', 0, 'C1-090-13-2', 0, 1, 2, 1, 90, 13, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-14-1', 0, 'C1-090-14-1', 0, 1, 2, 1, 90, 14, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-14-2', 0, 'C1-090-14-2', 0, 1, 2, 1, 90, 14, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-15-1', 0, 'C1-090-15-1', 0, 1, 2, 1, 90, 15, 1, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('C1-090-15-2', 0, 'C1-090-15-2', 0, 1, 2, 1, 90, 15, 2, NULL, NULL, '2025-10-06 20:07:58', '2025-10-06 20:07:58', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-01-1', 0, 'D2-001-01-1', 0, 1, 2, 2, 1, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-01-2', 0, 'D2-001-01-2', 0, 1, 2, 2, 1, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-02-1', 0, 'D2-001-02-1', 0, 1, 2, 2, 1, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-02-2', 0, 'D2-001-02-2', 0, 1, 2, 2, 1, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-03-1', 0, 'D2-001-03-1', 0, 1, 2, 2, 1, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-03-2', 0, 'D2-001-03-2', 0, 1, 2, 2, 1, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-04-1', 0, 'D2-001-04-1', 0, 1, 2, 2, 1, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-04-2', 0, 'D2-001-04-2', 0, 1, 2, 2, 1, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-05-1', 0, 'D2-001-05-1', 0, 1, 2, 2, 1, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-05-2', 0, 'D2-001-05-2', 0, 1, 2, 2, 1, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-06-1', 0, 'D2-001-06-1', 0, 1, 2, 2, 1, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-06-2', 0, 'D2-001-06-2', 0, 1, 2, 2, 1, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-07-1', 0, 'D2-001-07-1', 0, 1, 2, 2, 1, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-07-2', 0, 'D2-001-07-2', 0, 1, 2, 2, 1, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-08-1', 0, 'D2-001-08-1', 0, 1, 2, 2, 1, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-08-2', 0, 'D2-001-08-2', 0, 1, 2, 2, 1, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-09-1', 0, 'D2-001-09-1', 0, 1, 2, 2, 1, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-09-2', 0, 'D2-001-09-2', 0, 1, 2, 2, 1, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-10-1', 0, 'D2-001-10-1', 0, 1, 2, 2, 1, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-10-2', 0, 'D2-001-10-2', 0, 1, 2, 2, 1, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-11-1', 0, 'D2-001-11-1', 0, 1, 2, 2, 1, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-11-2', 0, 'D2-001-11-2', 0, 1, 2, 2, 1, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-12-1', 0, 'D2-001-12-1', 0, 1, 2, 2, 1, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-12-2', 0, 'D2-001-12-2', 0, 1, 2, 2, 1, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-13-1', 0, 'D2-001-13-1', 0, 1, 2, 2, 1, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-13-2', 0, 'D2-001-13-2', 0, 1, 2, 2, 1, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-14-1', 0, 'D2-001-14-1', 0, 1, 2, 2, 1, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-14-2', 0, 'D2-001-14-2', 0, 1, 2, 2, 1, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-15-1', 0, 'D2-001-15-1', 0, 1, 2, 2, 1, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-001-15-2', 0, 'D2-001-15-2', 0, 1, 2, 2, 1, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-01-1', 0, 'D2-002-01-1', 0, 1, 2, 2, 2, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-01-2', 0, 'D2-002-01-2', 0, 1, 2, 2, 2, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-02-1', 0, 'D2-002-02-1', 0, 1, 2, 2, 2, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-02-2', 0, 'D2-002-02-2', 0, 1, 2, 2, 2, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-03-1', 0, 'D2-002-03-1', 0, 1, 2, 2, 2, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-03-2', 0, 'D2-002-03-2', 0, 1, 2, 2, 2, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-04-1', 0, 'D2-002-04-1', 0, 1, 2, 2, 2, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-04-2', 0, 'D2-002-04-2', 0, 1, 2, 2, 2, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-05-1', 0, 'D2-002-05-1', 0, 1, 2, 2, 2, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-05-2', 0, 'D2-002-05-2', 0, 1, 2, 2, 2, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-06-1', 0, 'D2-002-06-1', 0, 1, 2, 2, 2, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-06-2', 0, 'D2-002-06-2', 0, 1, 2, 2, 2, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-07-1', 0, 'D2-002-07-1', 0, 1, 2, 2, 2, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-07-2', 0, 'D2-002-07-2', 0, 1, 2, 2, 2, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-08-1', 0, 'D2-002-08-1', 0, 1, 2, 2, 2, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-08-2', 0, 'D2-002-08-2', 0, 1, 2, 2, 2, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-09-1', 0, 'D2-002-09-1', 0, 1, 2, 2, 2, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-09-2', 0, 'D2-002-09-2', 0, 1, 2, 2, 2, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-10-1', 0, 'D2-002-10-1', 0, 1, 2, 2, 2, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-10-2', 0, 'D2-002-10-2', 0, 1, 2, 2, 2, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-11-1', 0, 'D2-002-11-1', 0, 1, 2, 2, 2, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-11-2', 0, 'D2-002-11-2', 0, 1, 2, 2, 2, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-12-1', 0, 'D2-002-12-1', 0, 1, 2, 2, 2, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-12-2', 0, 'D2-002-12-2', 0, 1, 2, 2, 2, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-13-1', 0, 'D2-002-13-1', 0, 1, 2, 2, 2, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-13-2', 0, 'D2-002-13-2', 0, 1, 2, 2, 2, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-14-1', 0, 'D2-002-14-1', 0, 1, 2, 2, 2, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-14-2', 0, 'D2-002-14-2', 0, 1, 2, 2, 2, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-15-1', 0, 'D2-002-15-1', 0, 1, 2, 2, 2, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-002-15-2', 0, 'D2-002-15-2', 0, 1, 2, 2, 2, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-01-1', 0, 'D2-003-01-1', 0, 1, 2, 2, 3, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-01-2', 0, 'D2-003-01-2', 0, 1, 2, 2, 3, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-02-1', 0, 'D2-003-02-1', 0, 1, 2, 2, 3, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-02-2', 0, 'D2-003-02-2', 0, 1, 2, 2, 3, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-03-1', 0, 'D2-003-03-1', 0, 1, 2, 2, 3, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-03-2', 0, 'D2-003-03-2', 0, 1, 2, 2, 3, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-04-1', 0, 'D2-003-04-1', 0, 1, 2, 2, 3, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-04-2', 0, 'D2-003-04-2', 0, 1, 2, 2, 3, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-05-1', 0, 'D2-003-05-1', 0, 1, 2, 2, 3, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-05-2', 0, 'D2-003-05-2', 0, 1, 2, 2, 3, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-06-1', 0, 'D2-003-06-1', 0, 1, 2, 2, 3, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-06-2', 0, 'D2-003-06-2', 0, 1, 2, 2, 3, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-07-1', 0, 'D2-003-07-1', 0, 1, 2, 2, 3, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-07-2', 0, 'D2-003-07-2', 0, 1, 2, 2, 3, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-08-1', 0, 'D2-003-08-1', 0, 1, 2, 2, 3, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-08-2', 0, 'D2-003-08-2', 0, 1, 2, 2, 3, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-09-1', 0, 'D2-003-09-1', 0, 1, 2, 2, 3, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-09-2', 0, 'D2-003-09-2', 0, 1, 2, 2, 3, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-10-1', 0, 'D2-003-10-1', 0, 1, 2, 2, 3, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-10-2', 0, 'D2-003-10-2', 0, 1, 2, 2, 3, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-11-1', 0, 'D2-003-11-1', 0, 1, 2, 2, 3, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-11-2', 0, 'D2-003-11-2', 0, 1, 2, 2, 3, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-12-1', 0, 'D2-003-12-1', 0, 1, 2, 2, 3, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-12-2', 0, 'D2-003-12-2', 0, 1, 2, 2, 3, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-13-1', 0, 'D2-003-13-1', 0, 1, 2, 2, 3, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-13-2', 0, 'D2-003-13-2', 0, 1, 2, 2, 3, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-14-1', 0, 'D2-003-14-1', 0, 1, 2, 2, 3, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-14-2', 0, 'D2-003-14-2', 0, 1, 2, 2, 3, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-15-1', 0, 'D2-003-15-1', 0, 1, 2, 2, 3, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-003-15-2', 0, 'D2-003-15-2', 0, 1, 2, 2, 3, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-01-1', 0, 'D2-004-01-1', 0, 1, 2, 2, 4, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-01-2', 0, 'D2-004-01-2', 0, 1, 2, 2, 4, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-02-1', 0, 'D2-004-02-1', 0, 1, 2, 2, 4, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-02-2', 0, 'D2-004-02-2', 0, 1, 2, 2, 4, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-03-1', 0, 'D2-004-03-1', 0, 1, 2, 2, 4, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-03-2', 0, 'D2-004-03-2', 0, 1, 2, 2, 4, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-04-1', 0, 'D2-004-04-1', 0, 1, 2, 2, 4, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-04-2', 0, 'D2-004-04-2', 0, 1, 2, 2, 4, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-05-1', 0, 'D2-004-05-1', 0, 1, 2, 2, 4, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-05-2', 0, 'D2-004-05-2', 0, 1, 2, 2, 4, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-06-1', 0, 'D2-004-06-1', 0, 1, 2, 2, 4, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-06-2', 0, 'D2-004-06-2', 0, 1, 2, 2, 4, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-07-1', 0, 'D2-004-07-1', 0, 1, 2, 2, 4, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-07-2', 0, 'D2-004-07-2', 0, 1, 2, 2, 4, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-08-1', 0, 'D2-004-08-1', 0, 1, 2, 2, 4, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-08-2', 0, 'D2-004-08-2', 0, 1, 2, 2, 4, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-09-1', 0, 'D2-004-09-1', 0, 1, 2, 2, 4, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-09-2', 0, 'D2-004-09-2', 0, 1, 2, 2, 4, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-10-1', 0, 'D2-004-10-1', 0, 1, 2, 2, 4, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-10-2', 0, 'D2-004-10-2', 0, 1, 2, 2, 4, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-11-1', 0, 'D2-004-11-1', 0, 1, 2, 2, 4, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-11-2', 0, 'D2-004-11-2', 0, 1, 2, 2, 4, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-12-1', 0, 'D2-004-12-1', 0, 1, 2, 2, 4, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-12-2', 0, 'D2-004-12-2', 0, 1, 2, 2, 4, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-13-1', 0, 'D2-004-13-1', 0, 1, 2, 2, 4, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-13-2', 0, 'D2-004-13-2', 0, 1, 2, 2, 4, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-14-1', 0, 'D2-004-14-1', 0, 1, 2, 2, 4, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-14-2', 0, 'D2-004-14-2', 0, 1, 2, 2, 4, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-15-1', 0, 'D2-004-15-1', 0, 1, 2, 2, 4, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-004-15-2', 0, 'D2-004-15-2', 0, 1, 2, 2, 4, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-01-1', 0, 'D2-005-01-1', 0, 1, 2, 2, 5, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-01-2', 0, 'D2-005-01-2', 0, 1, 2, 2, 5, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-02-1', 0, 'D2-005-02-1', 0, 1, 2, 2, 5, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-02-2', 0, 'D2-005-02-2', 0, 1, 2, 2, 5, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-03-1', 0, 'D2-005-03-1', 0, 1, 2, 2, 5, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-03-2', 0, 'D2-005-03-2', 0, 1, 2, 2, 5, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-04-1', 0, 'D2-005-04-1', 0, 1, 2, 2, 5, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-04-2', 0, 'D2-005-04-2', 0, 1, 2, 2, 5, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-05-1', 0, 'D2-005-05-1', 0, 1, 2, 2, 5, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-05-2', 0, 'D2-005-05-2', 0, 1, 2, 2, 5, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-06-1', 0, 'D2-005-06-1', 0, 1, 2, 2, 5, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-06-2', 0, 'D2-005-06-2', 0, 1, 2, 2, 5, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-07-1', 0, 'D2-005-07-1', 0, 1, 2, 2, 5, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-07-2', 0, 'D2-005-07-2', 0, 1, 2, 2, 5, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-08-1', 0, 'D2-005-08-1', 0, 1, 2, 2, 5, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-08-2', 0, 'D2-005-08-2', 0, 1, 2, 2, 5, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-09-1', 0, 'D2-005-09-1', 0, 1, 2, 2, 5, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-09-2', 0, 'D2-005-09-2', 0, 1, 2, 2, 5, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-10-1', 0, 'D2-005-10-1', 0, 1, 2, 2, 5, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-10-2', 0, 'D2-005-10-2', 0, 1, 2, 2, 5, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-11-1', 0, 'D2-005-11-1', 0, 1, 2, 2, 5, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-11-2', 0, 'D2-005-11-2', 0, 1, 2, 2, 5, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-12-1', 0, 'D2-005-12-1', 0, 1, 2, 2, 5, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-12-2', 0, 'D2-005-12-2', 0, 1, 2, 2, 5, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-13-1', 0, 'D2-005-13-1', 0, 1, 2, 2, 5, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-13-2', 0, 'D2-005-13-2', 0, 1, 2, 2, 5, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-14-1', 0, 'D2-005-14-1', 0, 1, 2, 2, 5, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-14-2', 0, 'D2-005-14-2', 0, 1, 2, 2, 5, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-15-1', 0, 'D2-005-15-1', 0, 1, 2, 2, 5, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-005-15-2', 0, 'D2-005-15-2', 0, 1, 2, 2, 5, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-01-1', 0, 'D2-006-01-1', 0, 1, 2, 2, 6, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-01-2', 0, 'D2-006-01-2', 0, 1, 2, 2, 6, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-02-1', 0, 'D2-006-02-1', 0, 1, 2, 2, 6, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-02-2', 0, 'D2-006-02-2', 0, 1, 2, 2, 6, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-03-1', 0, 'D2-006-03-1', 0, 1, 2, 2, 6, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-03-2', 0, 'D2-006-03-2', 0, 1, 2, 2, 6, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-04-1', 0, 'D2-006-04-1', 0, 1, 2, 2, 6, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-04-2', 0, 'D2-006-04-2', 0, 1, 2, 2, 6, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-05-1', 0, 'D2-006-05-1', 0, 1, 2, 2, 6, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-05-2', 0, 'D2-006-05-2', 0, 1, 2, 2, 6, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-06-1', 0, 'D2-006-06-1', 0, 1, 2, 2, 6, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-06-2', 0, 'D2-006-06-2', 0, 1, 2, 2, 6, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-07-1', 0, 'D2-006-07-1', 0, 1, 2, 2, 6, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-07-2', 0, 'D2-006-07-2', 0, 1, 2, 2, 6, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-08-1', 0, 'D2-006-08-1', 0, 1, 2, 2, 6, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-08-2', 0, 'D2-006-08-2', 0, 1, 2, 2, 6, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-09-1', 0, 'D2-006-09-1', 0, 1, 2, 2, 6, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-09-2', 0, 'D2-006-09-2', 0, 1, 2, 2, 6, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-10-1', 0, 'D2-006-10-1', 0, 1, 2, 2, 6, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-10-2', 0, 'D2-006-10-2', 0, 1, 2, 2, 6, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-11-1', 0, 'D2-006-11-1', 0, 1, 2, 2, 6, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-11-2', 0, 'D2-006-11-2', 0, 1, 2, 2, 6, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-12-1', 0, 'D2-006-12-1', 0, 1, 2, 2, 6, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-12-2', 0, 'D2-006-12-2', 0, 1, 2, 2, 6, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-13-1', 0, 'D2-006-13-1', 0, 1, 2, 2, 6, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-13-2', 0, 'D2-006-13-2', 0, 1, 2, 2, 6, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-14-1', 0, 'D2-006-14-1', 0, 1, 2, 2, 6, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-14-2', 0, 'D2-006-14-2', 0, 1, 2, 2, 6, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-15-1', 0, 'D2-006-15-1', 0, 1, 2, 2, 6, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-006-15-2', 0, 'D2-006-15-2', 0, 1, 2, 2, 6, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-01-1', 0, 'D2-007-01-1', 0, 1, 2, 2, 7, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-01-2', 0, 'D2-007-01-2', 0, 1, 2, 2, 7, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-02-1', 0, 'D2-007-02-1', 0, 1, 2, 2, 7, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-02-2', 0, 'D2-007-02-2', 0, 1, 2, 2, 7, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-03-1', 0, 'D2-007-03-1', 0, 1, 2, 2, 7, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-03-2', 0, 'D2-007-03-2', 0, 1, 2, 2, 7, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-04-1', 0, 'D2-007-04-1', 0, 1, 2, 2, 7, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-04-2', 0, 'D2-007-04-2', 0, 1, 2, 2, 7, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-05-1', 0, 'D2-007-05-1', 0, 1, 2, 2, 7, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-05-2', 0, 'D2-007-05-2', 0, 1, 2, 2, 7, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-06-1', 0, 'D2-007-06-1', 0, 1, 2, 2, 7, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-06-2', 0, 'D2-007-06-2', 0, 1, 2, 2, 7, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-07-1', 0, 'D2-007-07-1', 0, 1, 2, 2, 7, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-07-2', 0, 'D2-007-07-2', 0, 1, 2, 2, 7, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-08-1', 0, 'D2-007-08-1', 0, 1, 2, 2, 7, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-08-2', 0, 'D2-007-08-2', 0, 1, 2, 2, 7, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-09-1', 0, 'D2-007-09-1', 0, 1, 2, 2, 7, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-09-2', 0, 'D2-007-09-2', 0, 1, 2, 2, 7, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-10-1', 0, 'D2-007-10-1', 0, 1, 2, 2, 7, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-10-2', 0, 'D2-007-10-2', 0, 1, 2, 2, 7, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-11-1', 0, 'D2-007-11-1', 0, 1, 2, 2, 7, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-11-2', 0, 'D2-007-11-2', 0, 1, 2, 2, 7, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-12-1', 0, 'D2-007-12-1', 0, 1, 2, 2, 7, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-12-2', 0, 'D2-007-12-2', 0, 1, 2, 2, 7, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-13-1', 0, 'D2-007-13-1', 0, 1, 2, 2, 7, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-13-2', 0, 'D2-007-13-2', 0, 1, 2, 2, 7, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-14-1', 0, 'D2-007-14-1', 0, 1, 2, 2, 7, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-14-2', 0, 'D2-007-14-2', 0, 1, 2, 2, 7, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-15-1', 0, 'D2-007-15-1', 0, 1, 2, 2, 7, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-007-15-2', 0, 'D2-007-15-2', 0, 1, 2, 2, 7, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-01-1', 0, 'D2-008-01-1', 0, 1, 2, 2, 8, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-01-2', 0, 'D2-008-01-2', 0, 1, 2, 2, 8, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-02-1', 0, 'D2-008-02-1', 0, 1, 2, 2, 8, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-02-2', 0, 'D2-008-02-2', 0, 1, 2, 2, 8, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-03-1', 0, 'D2-008-03-1', 0, 1, 2, 2, 8, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-03-2', 0, 'D2-008-03-2', 0, 1, 2, 2, 8, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-04-1', 0, 'D2-008-04-1', 0, 1, 2, 2, 8, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-04-2', 0, 'D2-008-04-2', 0, 1, 2, 2, 8, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-05-1', 0, 'D2-008-05-1', 0, 1, 2, 2, 8, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-05-2', 0, 'D2-008-05-2', 0, 1, 2, 2, 8, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-06-1', 0, 'D2-008-06-1', 0, 1, 2, 2, 8, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-06-2', 0, 'D2-008-06-2', 0, 1, 2, 2, 8, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-07-1', 0, 'D2-008-07-1', 0, 1, 2, 2, 8, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-07-2', 0, 'D2-008-07-2', 0, 1, 2, 2, 8, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-08-1', 0, 'D2-008-08-1', 0, 1, 2, 2, 8, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-08-2', 0, 'D2-008-08-2', 0, 1, 2, 2, 8, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-09-1', 0, 'D2-008-09-1', 0, 1, 2, 2, 8, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-09-2', 0, 'D2-008-09-2', 0, 1, 2, 2, 8, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-10-1', 0, 'D2-008-10-1', 0, 1, 2, 2, 8, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-10-2', 0, 'D2-008-10-2', 0, 1, 2, 2, 8, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-11-1', 0, 'D2-008-11-1', 0, 1, 2, 2, 8, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-11-2', 0, 'D2-008-11-2', 0, 1, 2, 2, 8, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-12-1', 0, 'D2-008-12-1', 0, 1, 2, 2, 8, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-12-2', 0, 'D2-008-12-2', 0, 1, 2, 2, 8, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-13-1', 0, 'D2-008-13-1', 0, 1, 2, 2, 8, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-13-2', 0, 'D2-008-13-2', 0, 1, 2, 2, 8, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-14-1', 0, 'D2-008-14-1', 0, 1, 2, 2, 8, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-14-2', 0, 'D2-008-14-2', 0, 1, 2, 2, 8, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-15-1', 0, 'D2-008-15-1', 0, 1, 2, 2, 8, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-008-15-2', 0, 'D2-008-15-2', 0, 1, 2, 2, 8, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-01-1', 0, 'D2-009-01-1', 0, 1, 2, 2, 9, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-01-2', 0, 'D2-009-01-2', 0, 1, 2, 2, 9, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-02-1', 0, 'D2-009-02-1', 0, 1, 2, 2, 9, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-02-2', 0, 'D2-009-02-2', 0, 1, 2, 2, 9, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-03-1', 0, 'D2-009-03-1', 0, 1, 2, 2, 9, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-03-2', 0, 'D2-009-03-2', 0, 1, 2, 2, 9, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-04-1', 0, 'D2-009-04-1', 0, 1, 2, 2, 9, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-04-2', 0, 'D2-009-04-2', 0, 1, 2, 2, 9, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-05-1', 0, 'D2-009-05-1', 0, 1, 2, 2, 9, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-05-2', 0, 'D2-009-05-2', 0, 1, 2, 2, 9, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-06-1', 0, 'D2-009-06-1', 0, 1, 2, 2, 9, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-06-2', 0, 'D2-009-06-2', 0, 1, 2, 2, 9, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-07-1', 0, 'D2-009-07-1', 0, 1, 2, 2, 9, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-07-2', 0, 'D2-009-07-2', 0, 1, 2, 2, 9, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-08-1', 0, 'D2-009-08-1', 0, 1, 2, 2, 9, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-08-2', 0, 'D2-009-08-2', 0, 1, 2, 2, 9, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-09-1', 0, 'D2-009-09-1', 0, 1, 2, 2, 9, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-09-2', 0, 'D2-009-09-2', 0, 1, 2, 2, 9, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-10-1', 0, 'D2-009-10-1', 0, 1, 2, 2, 9, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-10-2', 0, 'D2-009-10-2', 0, 1, 2, 2, 9, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-11-1', 0, 'D2-009-11-1', 0, 1, 2, 2, 9, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-11-2', 0, 'D2-009-11-2', 0, 1, 2, 2, 9, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-12-1', 0, 'D2-009-12-1', 0, 1, 2, 2, 9, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-12-2', 0, 'D2-009-12-2', 0, 1, 2, 2, 9, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-13-1', 0, 'D2-009-13-1', 0, 1, 2, 2, 9, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-13-2', 0, 'D2-009-13-2', 0, 1, 2, 2, 9, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-14-1', 0, 'D2-009-14-1', 0, 1, 2, 2, 9, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-14-2', 0, 'D2-009-14-2', 0, 1, 2, 2, 9, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-15-1', 0, 'D2-009-15-1', 0, 1, 2, 2, 9, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-009-15-2', 0, 'D2-009-15-2', 0, 1, 2, 2, 9, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-01-1', 0, 'D2-010-01-1', 0, 1, 2, 2, 10, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-01-2', 0, 'D2-010-01-2', 0, 1, 2, 2, 10, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-02-1', 0, 'D2-010-02-1', 0, 1, 2, 2, 10, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-02-2', 0, 'D2-010-02-2', 0, 1, 2, 2, 10, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-03-1', 0, 'D2-010-03-1', 0, 1, 2, 2, 10, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-03-2', 0, 'D2-010-03-2', 0, 1, 2, 2, 10, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-04-1', 0, 'D2-010-04-1', 0, 1, 2, 2, 10, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-04-2', 0, 'D2-010-04-2', 0, 1, 2, 2, 10, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-05-1', 0, 'D2-010-05-1', 0, 1, 2, 2, 10, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-05-2', 0, 'D2-010-05-2', 0, 1, 2, 2, 10, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-06-1', 0, 'D2-010-06-1', 0, 1, 2, 2, 10, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-06-2', 0, 'D2-010-06-2', 0, 1, 2, 2, 10, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-07-1', 0, 'D2-010-07-1', 0, 1, 2, 2, 10, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-07-2', 0, 'D2-010-07-2', 0, 1, 2, 2, 10, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-08-1', 0, 'D2-010-08-1', 0, 1, 2, 2, 10, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-08-2', 0, 'D2-010-08-2', 0, 1, 2, 2, 10, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-09-1', 0, 'D2-010-09-1', 0, 1, 2, 2, 10, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-09-2', 0, 'D2-010-09-2', 0, 1, 2, 2, 10, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-10-1', 0, 'D2-010-10-1', 0, 1, 2, 2, 10, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-10-2', 0, 'D2-010-10-2', 0, 1, 2, 2, 10, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-11-1', 0, 'D2-010-11-1', 0, 1, 2, 2, 10, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-11-2', 0, 'D2-010-11-2', 0, 1, 2, 2, 10, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-12-1', 0, 'D2-010-12-1', 0, 1, 2, 2, 10, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-12-2', 0, 'D2-010-12-2', 0, 1, 2, 2, 10, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-13-1', 0, 'D2-010-13-1', 0, 1, 2, 2, 10, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-13-2', 0, 'D2-010-13-2', 0, 1, 2, 2, 10, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-14-1', 0, 'D2-010-14-1', 0, 1, 2, 2, 10, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-14-2', 0, 'D2-010-14-2', 0, 1, 2, 2, 10, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-15-1', 0, 'D2-010-15-1', 0, 1, 2, 2, 10, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-010-15-2', 0, 'D2-010-15-2', 0, 1, 2, 2, 10, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-01-1', 0, 'D2-011-01-1', 0, 1, 2, 2, 11, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-01-2', 0, 'D2-011-01-2', 0, 1, 2, 2, 11, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-02-1', 0, 'D2-011-02-1', 0, 1, 2, 2, 11, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-02-2', 0, 'D2-011-02-2', 0, 1, 2, 2, 11, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-03-1', 0, 'D2-011-03-1', 0, 1, 2, 2, 11, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-03-2', 0, 'D2-011-03-2', 0, 1, 2, 2, 11, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-04-1', 0, 'D2-011-04-1', 0, 1, 2, 2, 11, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-04-2', 0, 'D2-011-04-2', 0, 1, 2, 2, 11, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-05-1', 0, 'D2-011-05-1', 0, 1, 2, 2, 11, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-05-2', 0, 'D2-011-05-2', 0, 1, 2, 2, 11, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-06-1', 0, 'D2-011-06-1', 0, 1, 2, 2, 11, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-06-2', 0, 'D2-011-06-2', 0, 1, 2, 2, 11, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-07-1', 0, 'D2-011-07-1', 0, 1, 2, 2, 11, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-07-2', 0, 'D2-011-07-2', 0, 1, 2, 2, 11, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-08-1', 0, 'D2-011-08-1', 0, 1, 2, 2, 11, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-08-2', 0, 'D2-011-08-2', 0, 1, 2, 2, 11, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-09-1', 0, 'D2-011-09-1', 0, 1, 2, 2, 11, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-09-2', 0, 'D2-011-09-2', 0, 1, 2, 2, 11, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-10-1', 0, 'D2-011-10-1', 0, 1, 2, 2, 11, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-10-2', 0, 'D2-011-10-2', 0, 1, 2, 2, 11, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-11-1', 0, 'D2-011-11-1', 0, 1, 2, 2, 11, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-11-2', 0, 'D2-011-11-2', 0, 1, 2, 2, 11, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-12-1', 0, 'D2-011-12-1', 0, 1, 2, 2, 11, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-12-2', 0, 'D2-011-12-2', 0, 1, 2, 2, 11, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-13-1', 0, 'D2-011-13-1', 0, 1, 2, 2, 11, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-13-2', 0, 'D2-011-13-2', 0, 1, 2, 2, 11, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-14-1', 0, 'D2-011-14-1', 0, 1, 2, 2, 11, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-14-2', 0, 'D2-011-14-2', 0, 1, 2, 2, 11, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-15-1', 0, 'D2-011-15-1', 0, 1, 2, 2, 11, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-011-15-2', 0, 'D2-011-15-2', 0, 1, 2, 2, 11, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-01-1', 0, 'D2-012-01-1', 0, 1, 2, 2, 12, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-01-2', 0, 'D2-012-01-2', 0, 1, 2, 2, 12, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-02-1', 0, 'D2-012-02-1', 0, 1, 2, 2, 12, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-02-2', 0, 'D2-012-02-2', 0, 1, 2, 2, 12, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-03-1', 0, 'D2-012-03-1', 0, 1, 2, 2, 12, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-03-2', 0, 'D2-012-03-2', 0, 1, 2, 2, 12, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-04-1', 0, 'D2-012-04-1', 0, 1, 2, 2, 12, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-04-2', 0, 'D2-012-04-2', 0, 1, 2, 2, 12, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-05-1', 0, 'D2-012-05-1', 0, 1, 2, 2, 12, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-05-2', 0, 'D2-012-05-2', 0, 1, 2, 2, 12, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-06-1', 0, 'D2-012-06-1', 0, 1, 2, 2, 12, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-06-2', 0, 'D2-012-06-2', 0, 1, 2, 2, 12, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-07-1', 0, 'D2-012-07-1', 0, 1, 2, 2, 12, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-07-2', 0, 'D2-012-07-2', 0, 1, 2, 2, 12, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-08-1', 0, 'D2-012-08-1', 0, 1, 2, 2, 12, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-08-2', 0, 'D2-012-08-2', 0, 1, 2, 2, 12, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-09-1', 0, 'D2-012-09-1', 0, 1, 2, 2, 12, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-09-2', 0, 'D2-012-09-2', 0, 1, 2, 2, 12, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-10-1', 0, 'D2-012-10-1', 0, 1, 2, 2, 12, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-10-2', 0, 'D2-012-10-2', 0, 1, 2, 2, 12, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-11-1', 0, 'D2-012-11-1', 0, 1, 2, 2, 12, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-11-2', 0, 'D2-012-11-2', 0, 1, 2, 2, 12, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-12-1', 0, 'D2-012-12-1', 0, 1, 2, 2, 12, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-12-2', 0, 'D2-012-12-2', 0, 1, 2, 2, 12, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-13-1', 0, 'D2-012-13-1', 0, 1, 2, 2, 12, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-13-2', 0, 'D2-012-13-2', 0, 1, 2, 2, 12, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-14-1', 0, 'D2-012-14-1', 0, 1, 2, 2, 12, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-14-2', 0, 'D2-012-14-2', 0, 1, 2, 2, 12, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-15-1', 0, 'D2-012-15-1', 0, 1, 2, 2, 12, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-012-15-2', 0, 'D2-012-15-2', 0, 1, 2, 2, 12, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-01-1', 0, 'D2-013-01-1', 0, 1, 2, 2, 13, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-01-2', 0, 'D2-013-01-2', 0, 1, 2, 2, 13, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-02-1', 0, 'D2-013-02-1', 0, 1, 2, 2, 13, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-02-2', 0, 'D2-013-02-2', 0, 1, 2, 2, 13, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-03-1', 0, 'D2-013-03-1', 0, 1, 2, 2, 13, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-03-2', 0, 'D2-013-03-2', 0, 1, 2, 2, 13, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-04-1', 0, 'D2-013-04-1', 0, 1, 2, 2, 13, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-04-2', 0, 'D2-013-04-2', 0, 1, 2, 2, 13, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-05-1', 0, 'D2-013-05-1', 0, 1, 2, 2, 13, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-05-2', 0, 'D2-013-05-2', 0, 1, 2, 2, 13, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-06-1', 0, 'D2-013-06-1', 0, 1, 2, 2, 13, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-06-2', 0, 'D2-013-06-2', 0, 1, 2, 2, 13, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-07-1', 0, 'D2-013-07-1', 0, 1, 2, 2, 13, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-07-2', 0, 'D2-013-07-2', 0, 1, 2, 2, 13, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-08-1', 0, 'D2-013-08-1', 0, 1, 2, 2, 13, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-08-2', 0, 'D2-013-08-2', 0, 1, 2, 2, 13, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-09-1', 0, 'D2-013-09-1', 0, 1, 2, 2, 13, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-09-2', 0, 'D2-013-09-2', 0, 1, 2, 2, 13, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-10-1', 0, 'D2-013-10-1', 0, 1, 2, 2, 13, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-10-2', 0, 'D2-013-10-2', 0, 1, 2, 2, 13, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-11-1', 0, 'D2-013-11-1', 0, 1, 2, 2, 13, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-11-2', 0, 'D2-013-11-2', 0, 1, 2, 2, 13, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-12-1', 0, 'D2-013-12-1', 0, 1, 2, 2, 13, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-12-2', 0, 'D2-013-12-2', 0, 1, 2, 2, 13, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-13-1', 0, 'D2-013-13-1', 0, 1, 2, 2, 13, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-13-2', 0, 'D2-013-13-2', 0, 1, 2, 2, 13, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-14-1', 0, 'D2-013-14-1', 0, 1, 2, 2, 13, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-14-2', 0, 'D2-013-14-2', 0, 1, 2, 2, 13, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-15-1', 0, 'D2-013-15-1', 0, 1, 2, 2, 13, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-013-15-2', 0, 'D2-013-15-2', 0, 1, 2, 2, 13, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-01-1', 0, 'D2-014-01-1', 0, 1, 2, 2, 14, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-01-2', 0, 'D2-014-01-2', 0, 1, 2, 2, 14, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-02-1', 0, 'D2-014-02-1', 0, 1, 2, 2, 14, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-02-2', 0, 'D2-014-02-2', 0, 1, 2, 2, 14, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-03-1', 0, 'D2-014-03-1', 0, 1, 2, 2, 14, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-03-2', 0, 'D2-014-03-2', 0, 1, 2, 2, 14, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-04-1', 0, 'D2-014-04-1', 0, 1, 2, 2, 14, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-04-2', 0, 'D2-014-04-2', 0, 1, 2, 2, 14, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-05-1', 0, 'D2-014-05-1', 0, 1, 2, 2, 14, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-05-2', 0, 'D2-014-05-2', 0, 1, 2, 2, 14, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-06-1', 0, 'D2-014-06-1', 0, 1, 2, 2, 14, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-06-2', 0, 'D2-014-06-2', 0, 1, 2, 2, 14, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-07-1', 0, 'D2-014-07-1', 0, 1, 2, 2, 14, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-07-2', 0, 'D2-014-07-2', 0, 1, 2, 2, 14, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-08-1', 0, 'D2-014-08-1', 0, 1, 2, 2, 14, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-08-2', 0, 'D2-014-08-2', 0, 1, 2, 2, 14, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-09-1', 0, 'D2-014-09-1', 0, 1, 2, 2, 14, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-09-2', 0, 'D2-014-09-2', 0, 1, 2, 2, 14, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-10-1', 0, 'D2-014-10-1', 0, 1, 2, 2, 14, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-10-2', 0, 'D2-014-10-2', 0, 1, 2, 2, 14, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-11-1', 0, 'D2-014-11-1', 0, 1, 2, 2, 14, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-11-2', 0, 'D2-014-11-2', 0, 1, 2, 2, 14, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-12-1', 0, 'D2-014-12-1', 0, 1, 2, 2, 14, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-12-2', 0, 'D2-014-12-2', 0, 1, 2, 2, 14, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-13-1', 0, 'D2-014-13-1', 0, 1, 2, 2, 14, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-13-2', 0, 'D2-014-13-2', 0, 1, 2, 2, 14, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-14-1', 0, 'D2-014-14-1', 0, 1, 2, 2, 14, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-14-2', 0, 'D2-014-14-2', 0, 1, 2, 2, 14, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-15-1', 0, 'D2-014-15-1', 0, 1, 2, 2, 14, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-014-15-2', 0, 'D2-014-15-2', 0, 1, 2, 2, 14, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-01-1', 0, 'D2-015-01-1', 0, 1, 2, 2, 15, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-01-2', 0, 'D2-015-01-2', 0, 1, 2, 2, 15, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-02-1', 0, 'D2-015-02-1', 0, 1, 2, 2, 15, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-02-2', 0, 'D2-015-02-2', 0, 1, 2, 2, 15, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-03-1', 0, 'D2-015-03-1', 0, 1, 2, 2, 15, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-03-2', 0, 'D2-015-03-2', 0, 1, 2, 2, 15, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-04-1', 0, 'D2-015-04-1', 0, 1, 2, 2, 15, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-04-2', 0, 'D2-015-04-2', 0, 1, 2, 2, 15, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-05-1', 0, 'D2-015-05-1', 0, 1, 2, 2, 15, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-05-2', 0, 'D2-015-05-2', 0, 1, 2, 2, 15, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-06-1', 0, 'D2-015-06-1', 0, 1, 2, 2, 15, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-06-2', 0, 'D2-015-06-2', 0, 1, 2, 2, 15, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-07-1', 0, 'D2-015-07-1', 0, 1, 2, 2, 15, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-07-2', 0, 'D2-015-07-2', 0, 1, 2, 2, 15, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-08-1', 0, 'D2-015-08-1', 0, 1, 2, 2, 15, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-08-2', 0, 'D2-015-08-2', 0, 1, 2, 2, 15, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-09-1', 0, 'D2-015-09-1', 0, 1, 2, 2, 15, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-09-2', 0, 'D2-015-09-2', 0, 1, 2, 2, 15, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-10-1', 0, 'D2-015-10-1', 0, 1, 2, 2, 15, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-10-2', 0, 'D2-015-10-2', 0, 1, 2, 2, 15, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-11-1', 0, 'D2-015-11-1', 0, 1, 2, 2, 15, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-11-2', 0, 'D2-015-11-2', 0, 1, 2, 2, 15, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-12-1', 0, 'D2-015-12-1', 0, 1, 2, 2, 15, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-12-2', 0, 'D2-015-12-2', 0, 1, 2, 2, 15, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-13-1', 0, 'D2-015-13-1', 0, 1, 2, 2, 15, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-13-2', 0, 'D2-015-13-2', 0, 1, 2, 2, 15, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-14-1', 0, 'D2-015-14-1', 0, 1, 2, 2, 15, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-14-2', 0, 'D2-015-14-2', 0, 1, 2, 2, 15, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-15-1', 0, 'D2-015-15-1', 0, 1, 2, 2, 15, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-015-15-2', 0, 'D2-015-15-2', 0, 1, 2, 2, 15, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-01-1', 0, 'D2-016-01-1', 0, 1, 2, 2, 16, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-01-2', 0, 'D2-016-01-2', 0, 1, 2, 2, 16, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-02-1', 0, 'D2-016-02-1', 0, 1, 2, 2, 16, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-02-2', 0, 'D2-016-02-2', 0, 1, 2, 2, 16, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-03-1', 0, 'D2-016-03-1', 0, 1, 2, 2, 16, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-03-2', 0, 'D2-016-03-2', 0, 1, 2, 2, 16, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-04-1', 0, 'D2-016-04-1', 0, 1, 2, 2, 16, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-04-2', 0, 'D2-016-04-2', 0, 1, 2, 2, 16, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-05-1', 0, 'D2-016-05-1', 0, 1, 2, 2, 16, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-05-2', 0, 'D2-016-05-2', 0, 1, 2, 2, 16, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-06-1', 0, 'D2-016-06-1', 0, 1, 2, 2, 16, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-06-2', 0, 'D2-016-06-2', 0, 1, 2, 2, 16, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-07-1', 0, 'D2-016-07-1', 0, 1, 2, 2, 16, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-07-2', 0, 'D2-016-07-2', 0, 1, 2, 2, 16, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-08-1', 0, 'D2-016-08-1', 0, 1, 2, 2, 16, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-08-2', 0, 'D2-016-08-2', 0, 1, 2, 2, 16, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-09-1', 0, 'D2-016-09-1', 0, 1, 2, 2, 16, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-09-2', 0, 'D2-016-09-2', 0, 1, 2, 2, 16, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-10-1', 0, 'D2-016-10-1', 0, 1, 2, 2, 16, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-10-2', 0, 'D2-016-10-2', 0, 1, 2, 2, 16, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-11-1', 0, 'D2-016-11-1', 0, 1, 2, 2, 16, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-11-2', 0, 'D2-016-11-2', 0, 1, 2, 2, 16, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-12-1', 0, 'D2-016-12-1', 0, 1, 2, 2, 16, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-12-2', 0, 'D2-016-12-2', 0, 1, 2, 2, 16, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-13-1', 0, 'D2-016-13-1', 0, 1, 2, 2, 16, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-13-2', 0, 'D2-016-13-2', 0, 1, 2, 2, 16, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-14-1', 0, 'D2-016-14-1', 0, 1, 2, 2, 16, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-14-2', 0, 'D2-016-14-2', 0, 1, 2, 2, 16, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-15-1', 0, 'D2-016-15-1', 0, 1, 2, 2, 16, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-016-15-2', 0, 'D2-016-15-2', 0, 1, 2, 2, 16, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-01-1', 0, 'D2-017-01-1', 0, 1, 2, 2, 17, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-01-2', 0, 'D2-017-01-2', 0, 1, 2, 2, 17, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-02-1', 0, 'D2-017-02-1', 0, 1, 2, 2, 17, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-02-2', 0, 'D2-017-02-2', 0, 1, 2, 2, 17, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-03-1', 0, 'D2-017-03-1', 0, 1, 2, 2, 17, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-03-2', 0, 'D2-017-03-2', 0, 1, 2, 2, 17, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-04-1', 0, 'D2-017-04-1', 0, 1, 2, 2, 17, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-04-2', 0, 'D2-017-04-2', 0, 1, 2, 2, 17, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-05-1', 0, 'D2-017-05-1', 0, 1, 2, 2, 17, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-05-2', 0, 'D2-017-05-2', 0, 1, 2, 2, 17, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-06-1', 0, 'D2-017-06-1', 0, 1, 2, 2, 17, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-06-2', 0, 'D2-017-06-2', 0, 1, 2, 2, 17, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-07-1', 0, 'D2-017-07-1', 0, 1, 2, 2, 17, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-07-2', 0, 'D2-017-07-2', 0, 1, 2, 2, 17, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-08-1', 0, 'D2-017-08-1', 0, 1, 2, 2, 17, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-08-2', 0, 'D2-017-08-2', 0, 1, 2, 2, 17, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-09-1', 0, 'D2-017-09-1', 0, 1, 2, 2, 17, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-09-2', 0, 'D2-017-09-2', 0, 1, 2, 2, 17, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-10-1', 0, 'D2-017-10-1', 0, 1, 2, 2, 17, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-10-2', 0, 'D2-017-10-2', 0, 1, 2, 2, 17, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-11-1', 0, 'D2-017-11-1', 0, 1, 2, 2, 17, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-11-2', 0, 'D2-017-11-2', 0, 1, 2, 2, 17, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-12-1', 0, 'D2-017-12-1', 0, 1, 2, 2, 17, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-12-2', 0, 'D2-017-12-2', 0, 1, 2, 2, 17, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-13-1', 0, 'D2-017-13-1', 0, 1, 2, 2, 17, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-13-2', 0, 'D2-017-13-2', 0, 1, 2, 2, 17, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-14-1', 0, 'D2-017-14-1', 0, 1, 2, 2, 17, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-14-2', 0, 'D2-017-14-2', 0, 1, 2, 2, 17, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-15-1', 0, 'D2-017-15-1', 0, 1, 2, 2, 17, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-017-15-2', 0, 'D2-017-15-2', 0, 1, 2, 2, 17, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-01-1', 0, 'D2-018-01-1', 0, 1, 2, 2, 18, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-01-2', 0, 'D2-018-01-2', 0, 1, 2, 2, 18, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-02-1', 0, 'D2-018-02-1', 0, 1, 2, 2, 18, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-02-2', 0, 'D2-018-02-2', 0, 1, 2, 2, 18, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-03-1', 0, 'D2-018-03-1', 0, 1, 2, 2, 18, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-03-2', 0, 'D2-018-03-2', 0, 1, 2, 2, 18, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-04-1', 0, 'D2-018-04-1', 0, 1, 2, 2, 18, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-04-2', 0, 'D2-018-04-2', 0, 1, 2, 2, 18, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-05-1', 0, 'D2-018-05-1', 0, 1, 2, 2, 18, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-05-2', 0, 'D2-018-05-2', 0, 1, 2, 2, 18, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-06-1', 0, 'D2-018-06-1', 0, 1, 2, 2, 18, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-06-2', 0, 'D2-018-06-2', 0, 1, 2, 2, 18, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-07-1', 0, 'D2-018-07-1', 0, 1, 2, 2, 18, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-07-2', 0, 'D2-018-07-2', 0, 1, 2, 2, 18, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-08-1', 0, 'D2-018-08-1', 0, 1, 2, 2, 18, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-08-2', 0, 'D2-018-08-2', 0, 1, 2, 2, 18, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-09-1', 0, 'D2-018-09-1', 0, 1, 2, 2, 18, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-09-2', 0, 'D2-018-09-2', 0, 1, 2, 2, 18, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-10-1', 0, 'D2-018-10-1', 0, 1, 2, 2, 18, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-10-2', 0, 'D2-018-10-2', 0, 1, 2, 2, 18, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-11-1', 0, 'D2-018-11-1', 0, 1, 2, 2, 18, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-11-2', 0, 'D2-018-11-2', 0, 1, 2, 2, 18, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-12-1', 0, 'D2-018-12-1', 0, 1, 2, 2, 18, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-12-2', 0, 'D2-018-12-2', 0, 1, 2, 2, 18, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-13-1', 0, 'D2-018-13-1', 0, 1, 2, 2, 18, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-13-2', 0, 'D2-018-13-2', 0, 1, 2, 2, 18, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-14-1', 0, 'D2-018-14-1', 0, 1, 2, 2, 18, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-14-2', 0, 'D2-018-14-2', 0, 1, 2, 2, 18, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-15-1', 0, 'D2-018-15-1', 0, 1, 2, 2, 18, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-018-15-2', 0, 'D2-018-15-2', 0, 1, 2, 2, 18, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-01-1', 0, 'D2-019-01-1', 0, 1, 2, 2, 19, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-01-2', 0, 'D2-019-01-2', 0, 1, 2, 2, 19, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-02-1', 0, 'D2-019-02-1', 0, 1, 2, 2, 19, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-02-2', 0, 'D2-019-02-2', 0, 1, 2, 2, 19, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-03-1', 0, 'D2-019-03-1', 0, 1, 2, 2, 19, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-03-2', 0, 'D2-019-03-2', 0, 1, 2, 2, 19, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-04-1', 0, 'D2-019-04-1', 0, 1, 2, 2, 19, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-04-2', 0, 'D2-019-04-2', 0, 1, 2, 2, 19, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-05-1', 0, 'D2-019-05-1', 0, 1, 2, 2, 19, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-05-2', 0, 'D2-019-05-2', 0, 1, 2, 2, 19, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-06-1', 0, 'D2-019-06-1', 0, 1, 2, 2, 19, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-06-2', 0, 'D2-019-06-2', 0, 1, 2, 2, 19, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-07-1', 0, 'D2-019-07-1', 0, 1, 2, 2, 19, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-07-2', 0, 'D2-019-07-2', 0, 1, 2, 2, 19, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-08-1', 0, 'D2-019-08-1', 0, 1, 2, 2, 19, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-08-2', 0, 'D2-019-08-2', 0, 1, 2, 2, 19, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-09-1', 0, 'D2-019-09-1', 0, 1, 2, 2, 19, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-09-2', 0, 'D2-019-09-2', 0, 1, 2, 2, 19, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-10-1', 0, 'D2-019-10-1', 0, 1, 2, 2, 19, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-10-2', 0, 'D2-019-10-2', 0, 1, 2, 2, 19, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-11-1', 0, 'D2-019-11-1', 0, 1, 2, 2, 19, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-11-2', 0, 'D2-019-11-2', 0, 1, 2, 2, 19, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-12-1', 0, 'D2-019-12-1', 0, 1, 2, 2, 19, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-12-2', 0, 'D2-019-12-2', 0, 1, 2, 2, 19, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-13-1', 0, 'D2-019-13-1', 0, 1, 2, 2, 19, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-13-2', 0, 'D2-019-13-2', 0, 1, 2, 2, 19, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-14-1', 0, 'D2-019-14-1', 0, 1, 2, 2, 19, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-14-2', 0, 'D2-019-14-2', 0, 1, 2, 2, 19, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-15-1', 0, 'D2-019-15-1', 0, 1, 2, 2, 19, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-019-15-2', 0, 'D2-019-15-2', 0, 1, 2, 2, 19, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-01-1', 0, 'D2-020-01-1', 0, 1, 2, 2, 20, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-01-2', 0, 'D2-020-01-2', 0, 1, 2, 2, 20, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-02-1', 0, 'D2-020-02-1', 0, 1, 2, 2, 20, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-02-2', 0, 'D2-020-02-2', 0, 1, 2, 2, 20, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-03-1', 0, 'D2-020-03-1', 0, 1, 2, 2, 20, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-03-2', 0, 'D2-020-03-2', 0, 1, 2, 2, 20, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-04-1', 0, 'D2-020-04-1', 0, 1, 2, 2, 20, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-04-2', 0, 'D2-020-04-2', 0, 1, 2, 2, 20, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-05-1', 0, 'D2-020-05-1', 0, 1, 2, 2, 20, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-05-2', 0, 'D2-020-05-2', 0, 1, 2, 2, 20, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-06-1', 0, 'D2-020-06-1', 0, 1, 2, 2, 20, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-06-2', 0, 'D2-020-06-2', 0, 1, 2, 2, 20, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-07-1', 0, 'D2-020-07-1', 0, 1, 2, 2, 20, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-07-2', 0, 'D2-020-07-2', 0, 1, 2, 2, 20, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-08-1', 0, 'D2-020-08-1', 0, 1, 2, 2, 20, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-08-2', 0, 'D2-020-08-2', 0, 1, 2, 2, 20, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-09-1', 0, 'D2-020-09-1', 0, 1, 2, 2, 20, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-09-2', 0, 'D2-020-09-2', 0, 1, 2, 2, 20, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-10-1', 0, 'D2-020-10-1', 0, 1, 2, 2, 20, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-10-2', 0, 'D2-020-10-2', 0, 1, 2, 2, 20, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-11-1', 0, 'D2-020-11-1', 0, 1, 2, 2, 20, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-11-2', 0, 'D2-020-11-2', 0, 1, 2, 2, 20, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-12-1', 0, 'D2-020-12-1', 0, 1, 2, 2, 20, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-12-2', 0, 'D2-020-12-2', 0, 1, 2, 2, 20, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-13-1', 0, 'D2-020-13-1', 0, 1, 2, 2, 20, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-13-2', 0, 'D2-020-13-2', 0, 1, 2, 2, 20, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-14-1', 0, 'D2-020-14-1', 0, 1, 2, 2, 20, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-14-2', 0, 'D2-020-14-2', 0, 1, 2, 2, 20, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-15-1', 0, 'D2-020-15-1', 0, 1, 2, 2, 20, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-020-15-2', 0, 'D2-020-15-2', 0, 1, 2, 2, 20, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-01-1', 0, 'D2-021-01-1', 0, 1, 2, 2, 21, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-01-2', 0, 'D2-021-01-2', 0, 1, 2, 2, 21, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-02-1', 0, 'D2-021-02-1', 0, 1, 2, 2, 21, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-02-2', 0, 'D2-021-02-2', 0, 1, 2, 2, 21, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-03-1', 0, 'D2-021-03-1', 0, 1, 2, 2, 21, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-03-2', 0, 'D2-021-03-2', 0, 1, 2, 2, 21, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-04-1', 0, 'D2-021-04-1', 0, 1, 2, 2, 21, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-04-2', 0, 'D2-021-04-2', 0, 1, 2, 2, 21, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-05-1', 0, 'D2-021-05-1', 0, 1, 2, 2, 21, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-05-2', 0, 'D2-021-05-2', 0, 1, 2, 2, 21, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-06-1', 0, 'D2-021-06-1', 0, 1, 2, 2, 21, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-06-2', 0, 'D2-021-06-2', 0, 1, 2, 2, 21, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-07-1', 0, 'D2-021-07-1', 0, 1, 2, 2, 21, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-07-2', 0, 'D2-021-07-2', 0, 1, 2, 2, 21, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-08-1', 0, 'D2-021-08-1', 0, 1, 2, 2, 21, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-08-2', 0, 'D2-021-08-2', 0, 1, 2, 2, 21, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-09-1', 0, 'D2-021-09-1', 0, 1, 2, 2, 21, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-09-2', 0, 'D2-021-09-2', 0, 1, 2, 2, 21, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-10-1', 0, 'D2-021-10-1', 0, 1, 2, 2, 21, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-10-2', 0, 'D2-021-10-2', 0, 1, 2, 2, 21, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-11-1', 0, 'D2-021-11-1', 0, 1, 2, 2, 21, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-11-2', 0, 'D2-021-11-2', 0, 1, 2, 2, 21, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-12-1', 0, 'D2-021-12-1', 0, 1, 2, 2, 21, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-12-2', 0, 'D2-021-12-2', 0, 1, 2, 2, 21, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-13-1', 0, 'D2-021-13-1', 0, 1, 2, 2, 21, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-13-2', 0, 'D2-021-13-2', 0, 1, 2, 2, 21, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-14-1', 0, 'D2-021-14-1', 0, 1, 2, 2, 21, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-14-2', 0, 'D2-021-14-2', 0, 1, 2, 2, 21, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-15-1', 0, 'D2-021-15-1', 0, 1, 2, 2, 21, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-021-15-2', 0, 'D2-021-15-2', 0, 1, 2, 2, 21, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-01-1', 0, 'D2-022-01-1', 0, 1, 2, 2, 22, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-01-2', 0, 'D2-022-01-2', 0, 1, 2, 2, 22, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-02-1', 0, 'D2-022-02-1', 0, 1, 2, 2, 22, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-02-2', 0, 'D2-022-02-2', 0, 1, 2, 2, 22, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-03-1', 0, 'D2-022-03-1', 0, 1, 2, 2, 22, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-03-2', 0, 'D2-022-03-2', 0, 1, 2, 2, 22, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-04-1', 0, 'D2-022-04-1', 0, 1, 2, 2, 22, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-04-2', 0, 'D2-022-04-2', 0, 1, 2, 2, 22, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-05-1', 0, 'D2-022-05-1', 0, 1, 2, 2, 22, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-05-2', 0, 'D2-022-05-2', 0, 1, 2, 2, 22, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-06-1', 0, 'D2-022-06-1', 0, 1, 2, 2, 22, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-06-2', 0, 'D2-022-06-2', 0, 1, 2, 2, 22, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-07-1', 0, 'D2-022-07-1', 0, 1, 2, 2, 22, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-07-2', 0, 'D2-022-07-2', 0, 1, 2, 2, 22, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-08-1', 0, 'D2-022-08-1', 0, 1, 2, 2, 22, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-08-2', 0, 'D2-022-08-2', 0, 1, 2, 2, 22, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-09-1', 0, 'D2-022-09-1', 0, 1, 2, 2, 22, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-09-2', 0, 'D2-022-09-2', 0, 1, 2, 2, 22, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-10-1', 0, 'D2-022-10-1', 0, 1, 2, 2, 22, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-10-2', 0, 'D2-022-10-2', 0, 1, 2, 2, 22, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-11-1', 0, 'D2-022-11-1', 0, 1, 2, 2, 22, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-11-2', 0, 'D2-022-11-2', 0, 1, 2, 2, 22, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-12-1', 0, 'D2-022-12-1', 0, 1, 2, 2, 22, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-12-2', 0, 'D2-022-12-2', 0, 1, 2, 2, 22, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-13-1', 0, 'D2-022-13-1', 0, 1, 2, 2, 22, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-13-2', 0, 'D2-022-13-2', 0, 1, 2, 2, 22, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-14-1', 0, 'D2-022-14-1', 0, 1, 2, 2, 22, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-14-2', 0, 'D2-022-14-2', 0, 1, 2, 2, 22, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-15-1', 0, 'D2-022-15-1', 0, 1, 2, 2, 22, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-022-15-2', 0, 'D2-022-15-2', 0, 1, 2, 2, 22, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-01-1', 0, 'D2-023-01-1', 0, 1, 2, 2, 23, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-01-2', 0, 'D2-023-01-2', 0, 1, 2, 2, 23, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-02-1', 0, 'D2-023-02-1', 0, 1, 2, 2, 23, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-02-2', 0, 'D2-023-02-2', 0, 1, 2, 2, 23, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-03-1', 0, 'D2-023-03-1', 0, 1, 2, 2, 23, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-03-2', 0, 'D2-023-03-2', 0, 1, 2, 2, 23, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-04-1', 0, 'D2-023-04-1', 0, 1, 2, 2, 23, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-04-2', 0, 'D2-023-04-2', 0, 1, 2, 2, 23, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-05-1', 0, 'D2-023-05-1', 0, 1, 2, 2, 23, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-05-2', 0, 'D2-023-05-2', 0, 1, 2, 2, 23, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-06-1', 0, 'D2-023-06-1', 0, 1, 2, 2, 23, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-06-2', 0, 'D2-023-06-2', 0, 1, 2, 2, 23, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-07-1', 0, 'D2-023-07-1', 0, 1, 2, 2, 23, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-07-2', 0, 'D2-023-07-2', 0, 1, 2, 2, 23, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-08-1', 0, 'D2-023-08-1', 0, 1, 2, 2, 23, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-08-2', 0, 'D2-023-08-2', 0, 1, 2, 2, 23, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-09-1', 0, 'D2-023-09-1', 0, 1, 2, 2, 23, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-09-2', 0, 'D2-023-09-2', 0, 1, 2, 2, 23, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-10-1', 0, 'D2-023-10-1', 0, 1, 2, 2, 23, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-10-2', 0, 'D2-023-10-2', 0, 1, 2, 2, 23, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-11-1', 0, 'D2-023-11-1', 0, 1, 2, 2, 23, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-11-2', 0, 'D2-023-11-2', 0, 1, 2, 2, 23, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-12-1', 0, 'D2-023-12-1', 0, 1, 2, 2, 23, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-12-2', 0, 'D2-023-12-2', 0, 1, 2, 2, 23, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-13-1', 0, 'D2-023-13-1', 0, 1, 2, 2, 23, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-13-2', 0, 'D2-023-13-2', 0, 1, 2, 2, 23, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-14-1', 0, 'D2-023-14-1', 0, 1, 2, 2, 23, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-14-2', 0, 'D2-023-14-2', 0, 1, 2, 2, 23, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-15-1', 0, 'D2-023-15-1', 0, 1, 2, 2, 23, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-023-15-2', 0, 'D2-023-15-2', 0, 1, 2, 2, 23, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-01-1', 0, 'D2-024-01-1', 0, 1, 2, 2, 24, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-01-2', 0, 'D2-024-01-2', 0, 1, 2, 2, 24, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-02-1', 0, 'D2-024-02-1', 0, 1, 2, 2, 24, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-02-2', 0, 'D2-024-02-2', 0, 1, 2, 2, 24, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-03-1', 0, 'D2-024-03-1', 0, 1, 2, 2, 24, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-03-2', 0, 'D2-024-03-2', 0, 1, 2, 2, 24, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-04-1', 0, 'D2-024-04-1', 0, 1, 2, 2, 24, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-04-2', 0, 'D2-024-04-2', 0, 1, 2, 2, 24, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-05-1', 0, 'D2-024-05-1', 0, 1, 2, 2, 24, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-05-2', 0, 'D2-024-05-2', 0, 1, 2, 2, 24, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-06-1', 0, 'D2-024-06-1', 0, 1, 2, 2, 24, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-06-2', 0, 'D2-024-06-2', 0, 1, 2, 2, 24, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-07-1', 0, 'D2-024-07-1', 0, 1, 2, 2, 24, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-07-2', 0, 'D2-024-07-2', 0, 1, 2, 2, 24, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-08-1', 0, 'D2-024-08-1', 0, 1, 2, 2, 24, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-08-2', 0, 'D2-024-08-2', 0, 1, 2, 2, 24, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-09-1', 0, 'D2-024-09-1', 0, 1, 2, 2, 24, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-09-2', 0, 'D2-024-09-2', 0, 1, 2, 2, 24, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-10-1', 0, 'D2-024-10-1', 0, 1, 2, 2, 24, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-10-2', 0, 'D2-024-10-2', 0, 1, 2, 2, 24, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-11-1', 0, 'D2-024-11-1', 0, 1, 2, 2, 24, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-11-2', 0, 'D2-024-11-2', 0, 1, 2, 2, 24, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-12-1', 0, 'D2-024-12-1', 0, 1, 2, 2, 24, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-12-2', 0, 'D2-024-12-2', 0, 1, 2, 2, 24, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-13-1', 0, 'D2-024-13-1', 0, 1, 2, 2, 24, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-13-2', 0, 'D2-024-13-2', 0, 1, 2, 2, 24, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-14-1', 0, 'D2-024-14-1', 0, 1, 2, 2, 24, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-14-2', 0, 'D2-024-14-2', 0, 1, 2, 2, 24, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-15-1', 0, 'D2-024-15-1', 0, 1, 2, 2, 24, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-024-15-2', 0, 'D2-024-15-2', 0, 1, 2, 2, 24, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-01-1', 0, 'D2-025-01-1', 0, 1, 2, 2, 25, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-01-2', 0, 'D2-025-01-2', 0, 1, 2, 2, 25, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-02-1', 0, 'D2-025-02-1', 0, 1, 2, 2, 25, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-02-2', 0, 'D2-025-02-2', 0, 1, 2, 2, 25, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-03-1', 0, 'D2-025-03-1', 0, 1, 2, 2, 25, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-03-2', 0, 'D2-025-03-2', 0, 1, 2, 2, 25, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-04-1', 0, 'D2-025-04-1', 0, 1, 2, 2, 25, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-04-2', 0, 'D2-025-04-2', 0, 1, 2, 2, 25, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-05-1', 0, 'D2-025-05-1', 0, 1, 2, 2, 25, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-05-2', 0, 'D2-025-05-2', 0, 1, 2, 2, 25, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-06-1', 0, 'D2-025-06-1', 0, 1, 2, 2, 25, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-06-2', 0, 'D2-025-06-2', 0, 1, 2, 2, 25, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-07-1', 0, 'D2-025-07-1', 0, 1, 2, 2, 25, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-07-2', 0, 'D2-025-07-2', 0, 1, 2, 2, 25, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-08-1', 0, 'D2-025-08-1', 0, 1, 2, 2, 25, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-08-2', 0, 'D2-025-08-2', 0, 1, 2, 2, 25, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-09-1', 0, 'D2-025-09-1', 0, 1, 2, 2, 25, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-09-2', 0, 'D2-025-09-2', 0, 1, 2, 2, 25, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-10-1', 0, 'D2-025-10-1', 0, 1, 2, 2, 25, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-10-2', 0, 'D2-025-10-2', 0, 1, 2, 2, 25, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-11-1', 0, 'D2-025-11-1', 0, 1, 2, 2, 25, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-11-2', 0, 'D2-025-11-2', 0, 1, 2, 2, 25, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-12-1', 0, 'D2-025-12-1', 0, 1, 2, 2, 25, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-12-2', 0, 'D2-025-12-2', 0, 1, 2, 2, 25, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-13-1', 0, 'D2-025-13-1', 0, 1, 2, 2, 25, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-13-2', 0, 'D2-025-13-2', 0, 1, 2, 2, 25, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-14-1', 0, 'D2-025-14-1', 0, 1, 2, 2, 25, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-14-2', 0, 'D2-025-14-2', 0, 1, 2, 2, 25, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-15-1', 0, 'D2-025-15-1', 0, 1, 2, 2, 25, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-025-15-2', 0, 'D2-025-15-2', 0, 1, 2, 2, 25, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-01-1', 0, 'D2-026-01-1', 0, 1, 2, 2, 26, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-01-2', 0, 'D2-026-01-2', 0, 1, 2, 2, 26, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-02-1', 0, 'D2-026-02-1', 0, 1, 2, 2, 26, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-02-2', 0, 'D2-026-02-2', 0, 1, 2, 2, 26, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-03-1', 0, 'D2-026-03-1', 0, 1, 2, 2, 26, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-03-2', 0, 'D2-026-03-2', 0, 1, 2, 2, 26, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-04-1', 0, 'D2-026-04-1', 0, 1, 2, 2, 26, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-04-2', 0, 'D2-026-04-2', 0, 1, 2, 2, 26, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-05-1', 0, 'D2-026-05-1', 0, 1, 2, 2, 26, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-05-2', 0, 'D2-026-05-2', 0, 1, 2, 2, 26, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-06-1', 0, 'D2-026-06-1', 0, 1, 2, 2, 26, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-06-2', 0, 'D2-026-06-2', 0, 1, 2, 2, 26, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-07-1', 0, 'D2-026-07-1', 0, 1, 2, 2, 26, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-07-2', 0, 'D2-026-07-2', 0, 1, 2, 2, 26, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-08-1', 0, 'D2-026-08-1', 0, 1, 2, 2, 26, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-08-2', 0, 'D2-026-08-2', 0, 1, 2, 2, 26, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-09-1', 0, 'D2-026-09-1', 0, 1, 2, 2, 26, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-09-2', 0, 'D2-026-09-2', 0, 1, 2, 2, 26, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-10-1', 0, 'D2-026-10-1', 0, 1, 2, 2, 26, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-10-2', 0, 'D2-026-10-2', 0, 1, 2, 2, 26, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-11-1', 0, 'D2-026-11-1', 0, 1, 2, 2, 26, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-11-2', 0, 'D2-026-11-2', 0, 1, 2, 2, 26, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-12-1', 0, 'D2-026-12-1', 0, 1, 2, 2, 26, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-12-2', 0, 'D2-026-12-2', 0, 1, 2, 2, 26, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-13-1', 0, 'D2-026-13-1', 0, 1, 2, 2, 26, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-13-2', 0, 'D2-026-13-2', 0, 1, 2, 2, 26, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-14-1', 0, 'D2-026-14-1', 0, 1, 2, 2, 26, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-14-2', 0, 'D2-026-14-2', 0, 1, 2, 2, 26, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-15-1', 0, 'D2-026-15-1', 0, 1, 2, 2, 26, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-026-15-2', 0, 'D2-026-15-2', 0, 1, 2, 2, 26, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-01-1', 0, 'D2-027-01-1', 0, 1, 2, 2, 27, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-01-2', 0, 'D2-027-01-2', 0, 1, 2, 2, 27, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-02-1', 0, 'D2-027-02-1', 0, 1, 2, 2, 27, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-02-2', 0, 'D2-027-02-2', 0, 1, 2, 2, 27, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-03-1', 0, 'D2-027-03-1', 0, 1, 2, 2, 27, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-03-2', 0, 'D2-027-03-2', 0, 1, 2, 2, 27, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-04-1', 0, 'D2-027-04-1', 0, 1, 2, 2, 27, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-04-2', 0, 'D2-027-04-2', 0, 1, 2, 2, 27, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-05-1', 0, 'D2-027-05-1', 0, 1, 2, 2, 27, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-05-2', 0, 'D2-027-05-2', 0, 1, 2, 2, 27, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-06-1', 0, 'D2-027-06-1', 0, 1, 2, 2, 27, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-06-2', 0, 'D2-027-06-2', 0, 1, 2, 2, 27, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-07-1', 0, 'D2-027-07-1', 0, 1, 2, 2, 27, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-07-2', 0, 'D2-027-07-2', 0, 1, 2, 2, 27, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-08-1', 0, 'D2-027-08-1', 0, 1, 2, 2, 27, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-08-2', 0, 'D2-027-08-2', 0, 1, 2, 2, 27, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-09-1', 0, 'D2-027-09-1', 0, 1, 2, 2, 27, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-09-2', 0, 'D2-027-09-2', 0, 1, 2, 2, 27, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-10-1', 0, 'D2-027-10-1', 0, 1, 2, 2, 27, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-10-2', 0, 'D2-027-10-2', 0, 1, 2, 2, 27, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-11-1', 0, 'D2-027-11-1', 0, 1, 2, 2, 27, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-11-2', 0, 'D2-027-11-2', 0, 1, 2, 2, 27, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-12-1', 0, 'D2-027-12-1', 0, 1, 2, 2, 27, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-12-2', 0, 'D2-027-12-2', 0, 1, 2, 2, 27, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-13-1', 0, 'D2-027-13-1', 0, 1, 2, 2, 27, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-13-2', 0, 'D2-027-13-2', 0, 1, 2, 2, 27, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-14-1', 0, 'D2-027-14-1', 0, 1, 2, 2, 27, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-14-2', 0, 'D2-027-14-2', 0, 1, 2, 2, 27, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-15-1', 0, 'D2-027-15-1', 0, 1, 2, 2, 27, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-027-15-2', 0, 'D2-027-15-2', 0, 1, 2, 2, 27, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-01-1', 0, 'D2-028-01-1', 0, 1, 2, 2, 28, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-01-2', 0, 'D2-028-01-2', 0, 1, 2, 2, 28, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-02-1', 0, 'D2-028-02-1', 0, 1, 2, 2, 28, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-02-2', 0, 'D2-028-02-2', 0, 1, 2, 2, 28, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-03-1', 0, 'D2-028-03-1', 0, 1, 2, 2, 28, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-03-2', 0, 'D2-028-03-2', 0, 1, 2, 2, 28, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-04-1', 0, 'D2-028-04-1', 0, 1, 2, 2, 28, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-04-2', 0, 'D2-028-04-2', 0, 1, 2, 2, 28, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-05-1', 0, 'D2-028-05-1', 0, 1, 2, 2, 28, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-05-2', 0, 'D2-028-05-2', 0, 1, 2, 2, 28, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-06-1', 0, 'D2-028-06-1', 0, 1, 2, 2, 28, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-06-2', 0, 'D2-028-06-2', 0, 1, 2, 2, 28, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-07-1', 0, 'D2-028-07-1', 0, 1, 2, 2, 28, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-07-2', 0, 'D2-028-07-2', 0, 1, 2, 2, 28, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-08-1', 0, 'D2-028-08-1', 0, 1, 2, 2, 28, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-08-2', 0, 'D2-028-08-2', 0, 1, 2, 2, 28, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-09-1', 0, 'D2-028-09-1', 0, 1, 2, 2, 28, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-09-2', 0, 'D2-028-09-2', 0, 1, 2, 2, 28, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-10-1', 0, 'D2-028-10-1', 0, 1, 2, 2, 28, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-10-2', 0, 'D2-028-10-2', 0, 1, 2, 2, 28, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-11-1', 0, 'D2-028-11-1', 0, 1, 2, 2, 28, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-11-2', 0, 'D2-028-11-2', 0, 1, 2, 2, 28, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-12-1', 0, 'D2-028-12-1', 0, 1, 2, 2, 28, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-12-2', 0, 'D2-028-12-2', 0, 1, 2, 2, 28, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-13-1', 0, 'D2-028-13-1', 0, 1, 2, 2, 28, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-13-2', 0, 'D2-028-13-2', 0, 1, 2, 2, 28, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-14-1', 0, 'D2-028-14-1', 0, 1, 2, 2, 28, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-14-2', 0, 'D2-028-14-2', 0, 1, 2, 2, 28, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-15-1', 0, 'D2-028-15-1', 0, 1, 2, 2, 28, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-028-15-2', 0, 'D2-028-15-2', 0, 1, 2, 2, 28, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-01-1', 0, 'D2-029-01-1', 0, 1, 2, 2, 29, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-01-2', 0, 'D2-029-01-2', 0, 1, 2, 2, 29, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-02-1', 0, 'D2-029-02-1', 0, 1, 2, 2, 29, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-02-2', 0, 'D2-029-02-2', 0, 1, 2, 2, 29, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-03-1', 0, 'D2-029-03-1', 0, 1, 2, 2, 29, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-03-2', 0, 'D2-029-03-2', 0, 1, 2, 2, 29, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-04-1', 0, 'D2-029-04-1', 0, 1, 2, 2, 29, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-04-2', 0, 'D2-029-04-2', 0, 1, 2, 2, 29, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-05-1', 0, 'D2-029-05-1', 0, 1, 2, 2, 29, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-05-2', 0, 'D2-029-05-2', 0, 1, 2, 2, 29, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-06-1', 0, 'D2-029-06-1', 0, 1, 2, 2, 29, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-06-2', 0, 'D2-029-06-2', 0, 1, 2, 2, 29, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-07-1', 0, 'D2-029-07-1', 0, 1, 2, 2, 29, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-07-2', 0, 'D2-029-07-2', 0, 1, 2, 2, 29, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-08-1', 0, 'D2-029-08-1', 0, 1, 2, 2, 29, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-08-2', 0, 'D2-029-08-2', 0, 1, 2, 2, 29, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-09-1', 0, 'D2-029-09-1', 0, 1, 2, 2, 29, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-09-2', 0, 'D2-029-09-2', 0, 1, 2, 2, 29, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-10-1', 0, 'D2-029-10-1', 0, 1, 2, 2, 29, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-10-2', 0, 'D2-029-10-2', 0, 1, 2, 2, 29, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-11-1', 0, 'D2-029-11-1', 0, 1, 2, 2, 29, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-11-2', 0, 'D2-029-11-2', 0, 1, 2, 2, 29, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-12-1', 0, 'D2-029-12-1', 0, 1, 2, 2, 29, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-12-2', 0, 'D2-029-12-2', 0, 1, 2, 2, 29, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-13-1', 0, 'D2-029-13-1', 0, 1, 2, 2, 29, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-13-2', 0, 'D2-029-13-2', 0, 1, 2, 2, 29, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-14-1', 0, 'D2-029-14-1', 0, 1, 2, 2, 29, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-14-2', 0, 'D2-029-14-2', 0, 1, 2, 2, 29, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-15-1', 0, 'D2-029-15-1', 0, 1, 2, 2, 29, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-029-15-2', 0, 'D2-029-15-2', 0, 1, 2, 2, 29, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-01-1', 0, 'D2-030-01-1', 0, 1, 2, 2, 30, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-01-2', 0, 'D2-030-01-2', 0, 1, 2, 2, 30, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-02-1', 0, 'D2-030-02-1', 0, 1, 2, 2, 30, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-02-2', 0, 'D2-030-02-2', 0, 1, 2, 2, 30, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-03-1', 0, 'D2-030-03-1', 0, 1, 2, 2, 30, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-03-2', 0, 'D2-030-03-2', 0, 1, 2, 2, 30, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-04-1', 0, 'D2-030-04-1', 0, 1, 2, 2, 30, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-04-2', 0, 'D2-030-04-2', 0, 1, 2, 2, 30, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-05-1', 0, 'D2-030-05-1', 0, 1, 2, 2, 30, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-05-2', 0, 'D2-030-05-2', 0, 1, 2, 2, 30, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-06-1', 0, 'D2-030-06-1', 0, 1, 2, 2, 30, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-06-2', 0, 'D2-030-06-2', 0, 1, 2, 2, 30, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-07-1', 0, 'D2-030-07-1', 0, 1, 2, 2, 30, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-07-2', 0, 'D2-030-07-2', 0, 1, 2, 2, 30, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-08-1', 0, 'D2-030-08-1', 0, 1, 2, 2, 30, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-08-2', 0, 'D2-030-08-2', 0, 1, 2, 2, 30, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-09-1', 0, 'D2-030-09-1', 0, 1, 2, 2, 30, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-09-2', 0, 'D2-030-09-2', 0, 1, 2, 2, 30, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-10-1', 0, 'D2-030-10-1', 0, 1, 2, 2, 30, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-10-2', 0, 'D2-030-10-2', 0, 1, 2, 2, 30, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-11-1', 0, 'D2-030-11-1', 0, 1, 2, 2, 30, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-11-2', 0, 'D2-030-11-2', 0, 1, 2, 2, 30, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-12-1', 0, 'D2-030-12-1', 0, 1, 2, 2, 30, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-12-2', 0, 'D2-030-12-2', 0, 1, 2, 2, 30, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-13-1', 0, 'D2-030-13-1', 0, 1, 2, 2, 30, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-13-2', 0, 'D2-030-13-2', 0, 1, 2, 2, 30, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-14-1', 0, 'D2-030-14-1', 0, 1, 2, 2, 30, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-14-2', 0, 'D2-030-14-2', 0, 1, 2, 2, 30, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-15-1', 0, 'D2-030-15-1', 0, 1, 2, 2, 30, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-030-15-2', 0, 'D2-030-15-2', 0, 1, 2, 2, 30, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-01-1', 0, 'D2-031-01-1', 0, 1, 2, 2, 31, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-01-2', 0, 'D2-031-01-2', 0, 1, 2, 2, 31, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-02-1', 0, 'D2-031-02-1', 0, 1, 2, 2, 31, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-02-2', 0, 'D2-031-02-2', 0, 1, 2, 2, 31, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-03-1', 0, 'D2-031-03-1', 0, 1, 2, 2, 31, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-03-2', 0, 'D2-031-03-2', 0, 1, 2, 2, 31, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-04-1', 0, 'D2-031-04-1', 0, 1, 2, 2, 31, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-04-2', 0, 'D2-031-04-2', 0, 1, 2, 2, 31, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-05-1', 0, 'D2-031-05-1', 0, 1, 2, 2, 31, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-05-2', 0, 'D2-031-05-2', 0, 1, 2, 2, 31, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-06-1', 0, 'D2-031-06-1', 0, 1, 2, 2, 31, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-06-2', 0, 'D2-031-06-2', 0, 1, 2, 2, 31, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-07-1', 0, 'D2-031-07-1', 0, 1, 2, 2, 31, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-07-2', 0, 'D2-031-07-2', 0, 1, 2, 2, 31, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-08-1', 0, 'D2-031-08-1', 0, 1, 2, 2, 31, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-08-2', 0, 'D2-031-08-2', 0, 1, 2, 2, 31, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-09-1', 0, 'D2-031-09-1', 0, 1, 2, 2, 31, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-09-2', 0, 'D2-031-09-2', 0, 1, 2, 2, 31, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-10-1', 0, 'D2-031-10-1', 0, 1, 2, 2, 31, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-10-2', 0, 'D2-031-10-2', 0, 1, 2, 2, 31, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-11-1', 0, 'D2-031-11-1', 0, 1, 2, 2, 31, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-11-2', 0, 'D2-031-11-2', 0, 1, 2, 2, 31, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-12-1', 0, 'D2-031-12-1', 0, 1, 2, 2, 31, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-12-2', 0, 'D2-031-12-2', 0, 1, 2, 2, 31, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-13-1', 0, 'D2-031-13-1', 0, 1, 2, 2, 31, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-13-2', 0, 'D2-031-13-2', 0, 1, 2, 2, 31, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-14-1', 0, 'D2-031-14-1', 0, 1, 2, 2, 31, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-14-2', 0, 'D2-031-14-2', 0, 1, 2, 2, 31, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-15-1', 0, 'D2-031-15-1', 0, 1, 2, 2, 31, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-031-15-2', 0, 'D2-031-15-2', 0, 1, 2, 2, 31, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-01-1', 0, 'D2-032-01-1', 0, 1, 2, 2, 32, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-01-2', 0, 'D2-032-01-2', 0, 1, 2, 2, 32, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-02-1', 0, 'D2-032-02-1', 0, 1, 2, 2, 32, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-02-2', 0, 'D2-032-02-2', 0, 1, 2, 2, 32, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-03-1', 0, 'D2-032-03-1', 0, 1, 2, 2, 32, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-03-2', 0, 'D2-032-03-2', 0, 1, 2, 2, 32, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-04-1', 0, 'D2-032-04-1', 0, 1, 2, 2, 32, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-04-2', 0, 'D2-032-04-2', 0, 1, 2, 2, 32, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-05-1', 0, 'D2-032-05-1', 0, 1, 2, 2, 32, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-05-2', 0, 'D2-032-05-2', 0, 1, 2, 2, 32, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-06-1', 0, 'D2-032-06-1', 0, 1, 2, 2, 32, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-06-2', 0, 'D2-032-06-2', 0, 1, 2, 2, 32, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-07-1', 0, 'D2-032-07-1', 0, 1, 2, 2, 32, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-07-2', 0, 'D2-032-07-2', 0, 1, 2, 2, 32, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-08-1', 0, 'D2-032-08-1', 0, 1, 2, 2, 32, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-08-2', 0, 'D2-032-08-2', 0, 1, 2, 2, 32, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-09-1', 0, 'D2-032-09-1', 0, 1, 2, 2, 32, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-09-2', 0, 'D2-032-09-2', 0, 1, 2, 2, 32, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-10-1', 0, 'D2-032-10-1', 0, 1, 2, 2, 32, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-10-2', 0, 'D2-032-10-2', 0, 1, 2, 2, 32, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-11-1', 0, 'D2-032-11-1', 0, 1, 2, 2, 32, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-11-2', 0, 'D2-032-11-2', 0, 1, 2, 2, 32, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-12-1', 0, 'D2-032-12-1', 0, 1, 2, 2, 32, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-12-2', 0, 'D2-032-12-2', 0, 1, 2, 2, 32, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-13-1', 0, 'D2-032-13-1', 0, 1, 2, 2, 32, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-13-2', 0, 'D2-032-13-2', 0, 1, 2, 2, 32, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-14-1', 0, 'D2-032-14-1', 0, 1, 2, 2, 32, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-14-2', 0, 'D2-032-14-2', 0, 1, 2, 2, 32, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-15-1', 0, 'D2-032-15-1', 0, 1, 2, 2, 32, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-032-15-2', 0, 'D2-032-15-2', 0, 1, 2, 2, 32, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-01-1', 0, 'D2-033-01-1', 0, 1, 2, 2, 33, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-01-2', 0, 'D2-033-01-2', 0, 1, 2, 2, 33, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-02-1', 0, 'D2-033-02-1', 0, 1, 2, 2, 33, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-02-2', 0, 'D2-033-02-2', 0, 1, 2, 2, 33, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-03-1', 0, 'D2-033-03-1', 0, 1, 2, 2, 33, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-03-2', 0, 'D2-033-03-2', 0, 1, 2, 2, 33, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-04-1', 0, 'D2-033-04-1', 0, 1, 2, 2, 33, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-04-2', 0, 'D2-033-04-2', 0, 1, 2, 2, 33, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-05-1', 0, 'D2-033-05-1', 0, 1, 2, 2, 33, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-05-2', 0, 'D2-033-05-2', 0, 1, 2, 2, 33, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-06-1', 0, 'D2-033-06-1', 0, 1, 2, 2, 33, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-06-2', 0, 'D2-033-06-2', 0, 1, 2, 2, 33, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-07-1', 0, 'D2-033-07-1', 0, 1, 2, 2, 33, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-07-2', 0, 'D2-033-07-2', 0, 1, 2, 2, 33, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-08-1', 0, 'D2-033-08-1', 0, 1, 2, 2, 33, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-08-2', 0, 'D2-033-08-2', 0, 1, 2, 2, 33, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-09-1', 0, 'D2-033-09-1', 0, 1, 2, 2, 33, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-09-2', 0, 'D2-033-09-2', 0, 1, 2, 2, 33, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-10-1', 0, 'D2-033-10-1', 0, 1, 2, 2, 33, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-10-2', 0, 'D2-033-10-2', 0, 1, 2, 2, 33, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-11-1', 0, 'D2-033-11-1', 0, 1, 2, 2, 33, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-11-2', 0, 'D2-033-11-2', 0, 1, 2, 2, 33, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-12-1', 0, 'D2-033-12-1', 0, 1, 2, 2, 33, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-12-2', 0, 'D2-033-12-2', 0, 1, 2, 2, 33, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-13-1', 0, 'D2-033-13-1', 0, 1, 2, 2, 33, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-13-2', 0, 'D2-033-13-2', 0, 1, 2, 2, 33, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-14-1', 0, 'D2-033-14-1', 0, 1, 2, 2, 33, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-14-2', 0, 'D2-033-14-2', 0, 1, 2, 2, 33, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-15-1', 0, 'D2-033-15-1', 0, 1, 2, 2, 33, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-033-15-2', 0, 'D2-033-15-2', 0, 1, 2, 2, 33, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-01-1', 0, 'D2-034-01-1', 0, 1, 2, 2, 34, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-01-2', 0, 'D2-034-01-2', 0, 1, 2, 2, 34, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-02-1', 0, 'D2-034-02-1', 0, 1, 2, 2, 34, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-02-2', 0, 'D2-034-02-2', 0, 1, 2, 2, 34, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-03-1', 0, 'D2-034-03-1', 0, 1, 2, 2, 34, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-03-2', 0, 'D2-034-03-2', 0, 1, 2, 2, 34, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-04-1', 0, 'D2-034-04-1', 0, 1, 2, 2, 34, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-04-2', 0, 'D2-034-04-2', 0, 1, 2, 2, 34, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-05-1', 0, 'D2-034-05-1', 0, 1, 2, 2, 34, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-05-2', 0, 'D2-034-05-2', 0, 1, 2, 2, 34, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-06-1', 0, 'D2-034-06-1', 0, 1, 2, 2, 34, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-06-2', 0, 'D2-034-06-2', 0, 1, 2, 2, 34, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-07-1', 0, 'D2-034-07-1', 0, 1, 2, 2, 34, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-07-2', 0, 'D2-034-07-2', 0, 1, 2, 2, 34, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-08-1', 0, 'D2-034-08-1', 0, 1, 2, 2, 34, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-08-2', 0, 'D2-034-08-2', 0, 1, 2, 2, 34, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-09-1', 0, 'D2-034-09-1', 0, 1, 2, 2, 34, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-09-2', 0, 'D2-034-09-2', 0, 1, 2, 2, 34, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-10-1', 0, 'D2-034-10-1', 0, 1, 2, 2, 34, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-10-2', 0, 'D2-034-10-2', 0, 1, 2, 2, 34, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-11-1', 0, 'D2-034-11-1', 0, 1, 2, 2, 34, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-11-2', 0, 'D2-034-11-2', 0, 1, 2, 2, 34, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-12-1', 0, 'D2-034-12-1', 0, 1, 2, 2, 34, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-12-2', 0, 'D2-034-12-2', 0, 1, 2, 2, 34, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-13-1', 0, 'D2-034-13-1', 0, 1, 2, 2, 34, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-13-2', 0, 'D2-034-13-2', 0, 1, 2, 2, 34, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-14-1', 0, 'D2-034-14-1', 0, 1, 2, 2, 34, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-14-2', 0, 'D2-034-14-2', 0, 1, 2, 2, 34, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-15-1', 0, 'D2-034-15-1', 0, 1, 2, 2, 34, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-034-15-2', 0, 'D2-034-15-2', 0, 1, 2, 2, 34, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-01-1', 0, 'D2-035-01-1', 0, 1, 2, 2, 35, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-01-2', 0, 'D2-035-01-2', 0, 1, 2, 2, 35, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-02-1', 0, 'D2-035-02-1', 0, 1, 2, 2, 35, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-02-2', 0, 'D2-035-02-2', 0, 1, 2, 2, 35, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-03-1', 0, 'D2-035-03-1', 0, 1, 2, 2, 35, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-03-2', 0, 'D2-035-03-2', 0, 1, 2, 2, 35, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-04-1', 0, 'D2-035-04-1', 0, 1, 2, 2, 35, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-04-2', 0, 'D2-035-04-2', 0, 1, 2, 2, 35, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-05-1', 0, 'D2-035-05-1', 0, 1, 2, 2, 35, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-05-2', 0, 'D2-035-05-2', 0, 1, 2, 2, 35, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-06-1', 0, 'D2-035-06-1', 0, 1, 2, 2, 35, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-06-2', 0, 'D2-035-06-2', 0, 1, 2, 2, 35, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-07-1', 0, 'D2-035-07-1', 0, 1, 2, 2, 35, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-07-2', 0, 'D2-035-07-2', 0, 1, 2, 2, 35, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-08-1', 0, 'D2-035-08-1', 0, 1, 2, 2, 35, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-08-2', 0, 'D2-035-08-2', 0, 1, 2, 2, 35, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-09-1', 0, 'D2-035-09-1', 0, 1, 2, 2, 35, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-09-2', 0, 'D2-035-09-2', 0, 1, 2, 2, 35, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-10-1', 0, 'D2-035-10-1', 0, 1, 2, 2, 35, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-10-2', 0, 'D2-035-10-2', 0, 1, 2, 2, 35, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-11-1', 0, 'D2-035-11-1', 0, 1, 2, 2, 35, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-11-2', 0, 'D2-035-11-2', 0, 1, 2, 2, 35, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-12-1', 0, 'D2-035-12-1', 0, 1, 2, 2, 35, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-12-2', 0, 'D2-035-12-2', 0, 1, 2, 2, 35, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-13-1', 0, 'D2-035-13-1', 0, 1, 2, 2, 35, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-13-2', 0, 'D2-035-13-2', 0, 1, 2, 2, 35, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-14-1', 0, 'D2-035-14-1', 0, 1, 2, 2, 35, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-14-2', 0, 'D2-035-14-2', 0, 1, 2, 2, 35, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-15-1', 0, 'D2-035-15-1', 0, 1, 2, 2, 35, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-035-15-2', 0, 'D2-035-15-2', 0, 1, 2, 2, 35, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-01-1', 0, 'D2-036-01-1', 0, 1, 2, 2, 36, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-01-2', 0, 'D2-036-01-2', 0, 1, 2, 2, 36, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-02-1', 0, 'D2-036-02-1', 0, 1, 2, 2, 36, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-02-2', 0, 'D2-036-02-2', 0, 1, 2, 2, 36, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-03-1', 0, 'D2-036-03-1', 0, 1, 2, 2, 36, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-03-2', 0, 'D2-036-03-2', 0, 1, 2, 2, 36, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-04-1', 0, 'D2-036-04-1', 0, 1, 2, 2, 36, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-04-2', 0, 'D2-036-04-2', 0, 1, 2, 2, 36, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-05-1', 0, 'D2-036-05-1', 0, 1, 2, 2, 36, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-05-2', 0, 'D2-036-05-2', 0, 1, 2, 2, 36, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-06-1', 0, 'D2-036-06-1', 0, 1, 2, 2, 36, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-06-2', 0, 'D2-036-06-2', 0, 1, 2, 2, 36, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-07-1', 0, 'D2-036-07-1', 0, 1, 2, 2, 36, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-07-2', 0, 'D2-036-07-2', 0, 1, 2, 2, 36, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-08-1', 0, 'D2-036-08-1', 0, 1, 2, 2, 36, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-08-2', 0, 'D2-036-08-2', 0, 1, 2, 2, 36, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-09-1', 0, 'D2-036-09-1', 0, 1, 2, 2, 36, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-09-2', 0, 'D2-036-09-2', 0, 1, 2, 2, 36, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-10-1', 0, 'D2-036-10-1', 0, 1, 2, 2, 36, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-10-2', 0, 'D2-036-10-2', 0, 1, 2, 2, 36, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-11-1', 0, 'D2-036-11-1', 0, 1, 2, 2, 36, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-11-2', 0, 'D2-036-11-2', 0, 1, 2, 2, 36, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-12-1', 0, 'D2-036-12-1', 0, 1, 2, 2, 36, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-12-2', 0, 'D2-036-12-2', 0, 1, 2, 2, 36, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-13-1', 0, 'D2-036-13-1', 0, 1, 2, 2, 36, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-13-2', 0, 'D2-036-13-2', 0, 1, 2, 2, 36, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-14-1', 0, 'D2-036-14-1', 0, 1, 2, 2, 36, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-14-2', 0, 'D2-036-14-2', 0, 1, 2, 2, 36, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-15-1', 0, 'D2-036-15-1', 0, 1, 2, 2, 36, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-036-15-2', 0, 'D2-036-15-2', 0, 1, 2, 2, 36, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-01-1', 0, 'D2-037-01-1', 0, 1, 2, 2, 37, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-01-2', 0, 'D2-037-01-2', 0, 1, 2, 2, 37, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-02-1', 0, 'D2-037-02-1', 0, 1, 2, 2, 37, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-02-2', 0, 'D2-037-02-2', 0, 1, 2, 2, 37, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-03-1', 0, 'D2-037-03-1', 0, 1, 2, 2, 37, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-03-2', 0, 'D2-037-03-2', 0, 1, 2, 2, 37, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-04-1', 0, 'D2-037-04-1', 0, 1, 2, 2, 37, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-04-2', 0, 'D2-037-04-2', 0, 1, 2, 2, 37, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-05-1', 0, 'D2-037-05-1', 0, 1, 2, 2, 37, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-05-2', 0, 'D2-037-05-2', 0, 1, 2, 2, 37, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-06-1', 0, 'D2-037-06-1', 0, 1, 2, 2, 37, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-06-2', 0, 'D2-037-06-2', 0, 1, 2, 2, 37, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-07-1', 0, 'D2-037-07-1', 0, 1, 2, 2, 37, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-07-2', 0, 'D2-037-07-2', 0, 1, 2, 2, 37, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-08-1', 0, 'D2-037-08-1', 0, 1, 2, 2, 37, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-08-2', 0, 'D2-037-08-2', 0, 1, 2, 2, 37, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-09-1', 0, 'D2-037-09-1', 0, 1, 2, 2, 37, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-09-2', 0, 'D2-037-09-2', 0, 1, 2, 2, 37, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-10-1', 0, 'D2-037-10-1', 0, 1, 2, 2, 37, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-10-2', 0, 'D2-037-10-2', 0, 1, 2, 2, 37, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-11-1', 0, 'D2-037-11-1', 0, 1, 2, 2, 37, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-11-2', 0, 'D2-037-11-2', 0, 1, 2, 2, 37, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-12-1', 0, 'D2-037-12-1', 0, 1, 2, 2, 37, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-12-2', 0, 'D2-037-12-2', 0, 1, 2, 2, 37, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-13-1', 0, 'D2-037-13-1', 0, 1, 2, 2, 37, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-13-2', 0, 'D2-037-13-2', 0, 1, 2, 2, 37, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-14-1', 0, 'D2-037-14-1', 0, 1, 2, 2, 37, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-14-2', 0, 'D2-037-14-2', 0, 1, 2, 2, 37, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-15-1', 0, 'D2-037-15-1', 0, 1, 2, 2, 37, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-037-15-2', 0, 'D2-037-15-2', 0, 1, 2, 2, 37, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-01-1', 0, 'D2-038-01-1', 0, 1, 2, 2, 38, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-01-2', 0, 'D2-038-01-2', 0, 1, 2, 2, 38, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-02-1', 0, 'D2-038-02-1', 0, 1, 2, 2, 38, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-02-2', 0, 'D2-038-02-2', 0, 1, 2, 2, 38, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-03-1', 0, 'D2-038-03-1', 0, 1, 2, 2, 38, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-03-2', 0, 'D2-038-03-2', 0, 1, 2, 2, 38, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-04-1', 0, 'D2-038-04-1', 0, 1, 2, 2, 38, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-04-2', 0, 'D2-038-04-2', 0, 1, 2, 2, 38, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-05-1', 0, 'D2-038-05-1', 0, 1, 2, 2, 38, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-05-2', 0, 'D2-038-05-2', 0, 1, 2, 2, 38, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-06-1', 0, 'D2-038-06-1', 0, 1, 2, 2, 38, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-06-2', 0, 'D2-038-06-2', 0, 1, 2, 2, 38, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-07-1', 0, 'D2-038-07-1', 0, 1, 2, 2, 38, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-07-2', 0, 'D2-038-07-2', 0, 1, 2, 2, 38, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-08-1', 0, 'D2-038-08-1', 0, 1, 2, 2, 38, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-08-2', 0, 'D2-038-08-2', 0, 1, 2, 2, 38, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-09-1', 0, 'D2-038-09-1', 0, 1, 2, 2, 38, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-09-2', 0, 'D2-038-09-2', 0, 1, 2, 2, 38, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-10-1', 0, 'D2-038-10-1', 0, 1, 2, 2, 38, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-10-2', 0, 'D2-038-10-2', 0, 1, 2, 2, 38, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-11-1', 0, 'D2-038-11-1', 0, 1, 2, 2, 38, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-11-2', 0, 'D2-038-11-2', 0, 1, 2, 2, 38, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-12-1', 0, 'D2-038-12-1', 0, 1, 2, 2, 38, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-12-2', 0, 'D2-038-12-2', 0, 1, 2, 2, 38, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-13-1', 0, 'D2-038-13-1', 0, 1, 2, 2, 38, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-13-2', 0, 'D2-038-13-2', 0, 1, 2, 2, 38, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-14-1', 0, 'D2-038-14-1', 0, 1, 2, 2, 38, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-14-2', 0, 'D2-038-14-2', 0, 1, 2, 2, 38, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-15-1', 0, 'D2-038-15-1', 0, 1, 2, 2, 38, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-038-15-2', 0, 'D2-038-15-2', 0, 1, 2, 2, 38, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-01-1', 0, 'D2-039-01-1', 0, 1, 2, 2, 39, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-01-2', 0, 'D2-039-01-2', 0, 1, 2, 2, 39, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-02-1', 0, 'D2-039-02-1', 0, 1, 2, 2, 39, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-02-2', 0, 'D2-039-02-2', 0, 1, 2, 2, 39, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-03-1', 0, 'D2-039-03-1', 0, 1, 2, 2, 39, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-03-2', 0, 'D2-039-03-2', 0, 1, 2, 2, 39, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-04-1', 0, 'D2-039-04-1', 0, 1, 2, 2, 39, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-04-2', 0, 'D2-039-04-2', 0, 1, 2, 2, 39, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-05-1', 0, 'D2-039-05-1', 0, 1, 2, 2, 39, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-05-2', 0, 'D2-039-05-2', 0, 1, 2, 2, 39, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-06-1', 0, 'D2-039-06-1', 0, 1, 2, 2, 39, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-06-2', 0, 'D2-039-06-2', 0, 1, 2, 2, 39, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-07-1', 0, 'D2-039-07-1', 0, 1, 2, 2, 39, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-07-2', 0, 'D2-039-07-2', 0, 1, 2, 2, 39, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-08-1', 0, 'D2-039-08-1', 0, 1, 2, 2, 39, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-08-2', 0, 'D2-039-08-2', 0, 1, 2, 2, 39, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-09-1', 0, 'D2-039-09-1', 0, 1, 2, 2, 39, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-09-2', 0, 'D2-039-09-2', 0, 1, 2, 2, 39, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-10-1', 0, 'D2-039-10-1', 0, 1, 2, 2, 39, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-10-2', 0, 'D2-039-10-2', 0, 1, 2, 2, 39, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-11-1', 0, 'D2-039-11-1', 0, 1, 2, 2, 39, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-11-2', 0, 'D2-039-11-2', 0, 1, 2, 2, 39, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-12-1', 0, 'D2-039-12-1', 0, 1, 2, 2, 39, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-12-2', 0, 'D2-039-12-2', 0, 1, 2, 2, 39, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-13-1', 0, 'D2-039-13-1', 0, 1, 2, 2, 39, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-13-2', 0, 'D2-039-13-2', 0, 1, 2, 2, 39, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-14-1', 0, 'D2-039-14-1', 0, 1, 2, 2, 39, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-14-2', 0, 'D2-039-14-2', 0, 1, 2, 2, 39, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-15-1', 0, 'D2-039-15-1', 0, 1, 2, 2, 39, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-039-15-2', 0, 'D2-039-15-2', 0, 1, 2, 2, 39, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-01-1', 0, 'D2-040-01-1', 0, 1, 2, 2, 40, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-01-2', 0, 'D2-040-01-2', 0, 1, 2, 2, 40, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-02-1', 0, 'D2-040-02-1', 0, 1, 2, 2, 40, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-02-2', 0, 'D2-040-02-2', 0, 1, 2, 2, 40, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-03-1', 0, 'D2-040-03-1', 0, 1, 2, 2, 40, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-03-2', 0, 'D2-040-03-2', 0, 1, 2, 2, 40, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-04-1', 0, 'D2-040-04-1', 0, 1, 2, 2, 40, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-04-2', 0, 'D2-040-04-2', 0, 1, 2, 2, 40, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-05-1', 0, 'D2-040-05-1', 0, 1, 2, 2, 40, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-05-2', 0, 'D2-040-05-2', 0, 1, 2, 2, 40, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-06-1', 0, 'D2-040-06-1', 0, 1, 2, 2, 40, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-06-2', 0, 'D2-040-06-2', 0, 1, 2, 2, 40, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-07-1', 0, 'D2-040-07-1', 0, 1, 2, 2, 40, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-07-2', 0, 'D2-040-07-2', 0, 1, 2, 2, 40, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-08-1', 0, 'D2-040-08-1', 0, 1, 2, 2, 40, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-08-2', 0, 'D2-040-08-2', 0, 1, 2, 2, 40, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-09-1', 0, 'D2-040-09-1', 0, 1, 2, 2, 40, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-09-2', 0, 'D2-040-09-2', 0, 1, 2, 2, 40, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-10-1', 0, 'D2-040-10-1', 0, 1, 2, 2, 40, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-10-2', 0, 'D2-040-10-2', 0, 1, 2, 2, 40, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-11-1', 0, 'D2-040-11-1', 0, 1, 2, 2, 40, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-11-2', 0, 'D2-040-11-2', 0, 1, 2, 2, 40, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-12-1', 0, 'D2-040-12-1', 0, 1, 2, 2, 40, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-12-2', 0, 'D2-040-12-2', 0, 1, 2, 2, 40, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-13-1', 0, 'D2-040-13-1', 0, 1, 2, 2, 40, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-13-2', 0, 'D2-040-13-2', 0, 1, 2, 2, 40, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-14-1', 0, 'D2-040-14-1', 0, 1, 2, 2, 40, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-14-2', 0, 'D2-040-14-2', 0, 1, 2, 2, 40, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-15-1', 0, 'D2-040-15-1', 0, 1, 2, 2, 40, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-040-15-2', 0, 'D2-040-15-2', 0, 1, 2, 2, 40, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-01-1', 0, 'D2-041-01-1', 0, 1, 2, 2, 41, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-01-2', 0, 'D2-041-01-2', 0, 1, 2, 2, 41, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-02-1', 0, 'D2-041-02-1', 0, 1, 2, 2, 41, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-02-2', 0, 'D2-041-02-2', 0, 1, 2, 2, 41, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-03-1', 0, 'D2-041-03-1', 0, 1, 2, 2, 41, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-03-2', 0, 'D2-041-03-2', 0, 1, 2, 2, 41, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-04-1', 0, 'D2-041-04-1', 0, 1, 2, 2, 41, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-04-2', 0, 'D2-041-04-2', 0, 1, 2, 2, 41, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-05-1', 0, 'D2-041-05-1', 0, 1, 2, 2, 41, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-05-2', 0, 'D2-041-05-2', 0, 1, 2, 2, 41, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-06-1', 0, 'D2-041-06-1', 0, 1, 2, 2, 41, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-06-2', 0, 'D2-041-06-2', 0, 1, 2, 2, 41, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-07-1', 0, 'D2-041-07-1', 0, 1, 2, 2, 41, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-07-2', 0, 'D2-041-07-2', 0, 1, 2, 2, 41, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-08-1', 0, 'D2-041-08-1', 0, 1, 2, 2, 41, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-08-2', 0, 'D2-041-08-2', 0, 1, 2, 2, 41, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-09-1', 0, 'D2-041-09-1', 0, 1, 2, 2, 41, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-09-2', 0, 'D2-041-09-2', 0, 1, 2, 2, 41, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-10-1', 0, 'D2-041-10-1', 0, 1, 2, 2, 41, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-10-2', 0, 'D2-041-10-2', 0, 1, 2, 2, 41, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-11-1', 0, 'D2-041-11-1', 0, 1, 2, 2, 41, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-11-2', 0, 'D2-041-11-2', 0, 1, 2, 2, 41, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-12-1', 0, 'D2-041-12-1', 0, 1, 2, 2, 41, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-12-2', 0, 'D2-041-12-2', 0, 1, 2, 2, 41, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-13-1', 0, 'D2-041-13-1', 0, 1, 2, 2, 41, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-13-2', 0, 'D2-041-13-2', 0, 1, 2, 2, 41, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-14-1', 0, 'D2-041-14-1', 0, 1, 2, 2, 41, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-14-2', 0, 'D2-041-14-2', 0, 1, 2, 2, 41, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-15-1', 0, 'D2-041-15-1', 0, 1, 2, 2, 41, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-041-15-2', 0, 'D2-041-15-2', 0, 1, 2, 2, 41, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-01-1', 0, 'D2-042-01-1', 0, 1, 2, 2, 42, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-01-2', 0, 'D2-042-01-2', 0, 1, 2, 2, 42, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-02-1', 0, 'D2-042-02-1', 0, 1, 2, 2, 42, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-02-2', 0, 'D2-042-02-2', 0, 1, 2, 2, 42, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-03-1', 0, 'D2-042-03-1', 0, 1, 2, 2, 42, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-03-2', 0, 'D2-042-03-2', 0, 1, 2, 2, 42, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-04-1', 0, 'D2-042-04-1', 0, 1, 2, 2, 42, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-04-2', 0, 'D2-042-04-2', 0, 1, 2, 2, 42, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-05-1', 0, 'D2-042-05-1', 0, 1, 2, 2, 42, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-05-2', 0, 'D2-042-05-2', 0, 1, 2, 2, 42, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-06-1', 0, 'D2-042-06-1', 0, 1, 2, 2, 42, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-06-2', 0, 'D2-042-06-2', 0, 1, 2, 2, 42, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-07-1', 0, 'D2-042-07-1', 0, 1, 2, 2, 42, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-07-2', 0, 'D2-042-07-2', 0, 1, 2, 2, 42, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-08-1', 0, 'D2-042-08-1', 0, 1, 2, 2, 42, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-08-2', 0, 'D2-042-08-2', 0, 1, 2, 2, 42, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-09-1', 0, 'D2-042-09-1', 0, 1, 2, 2, 42, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-09-2', 0, 'D2-042-09-2', 0, 1, 2, 2, 42, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-10-1', 0, 'D2-042-10-1', 0, 1, 2, 2, 42, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-10-2', 0, 'D2-042-10-2', 0, 1, 2, 2, 42, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-11-1', 0, 'D2-042-11-1', 0, 1, 2, 2, 42, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-11-2', 0, 'D2-042-11-2', 0, 1, 2, 2, 42, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-12-1', 0, 'D2-042-12-1', 0, 1, 2, 2, 42, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-12-2', 0, 'D2-042-12-2', 0, 1, 2, 2, 42, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-13-1', 0, 'D2-042-13-1', 0, 1, 2, 2, 42, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-13-2', 0, 'D2-042-13-2', 0, 1, 2, 2, 42, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-14-1', 0, 'D2-042-14-1', 0, 1, 2, 2, 42, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-14-2', 0, 'D2-042-14-2', 0, 1, 2, 2, 42, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-15-1', 0, 'D2-042-15-1', 0, 1, 2, 2, 42, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-042-15-2', 0, 'D2-042-15-2', 0, 1, 2, 2, 42, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-01-1', 0, 'D2-043-01-1', 0, 1, 2, 2, 43, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-01-2', 0, 'D2-043-01-2', 0, 1, 2, 2, 43, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-02-1', 0, 'D2-043-02-1', 0, 1, 2, 2, 43, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-02-2', 0, 'D2-043-02-2', 0, 1, 2, 2, 43, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-03-1', 0, 'D2-043-03-1', 0, 1, 2, 2, 43, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-03-2', 0, 'D2-043-03-2', 0, 1, 2, 2, 43, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-04-1', 0, 'D2-043-04-1', 0, 1, 2, 2, 43, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-04-2', 0, 'D2-043-04-2', 0, 1, 2, 2, 43, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-05-1', 0, 'D2-043-05-1', 0, 1, 2, 2, 43, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-05-2', 0, 'D2-043-05-2', 0, 1, 2, 2, 43, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-06-1', 0, 'D2-043-06-1', 0, 1, 2, 2, 43, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-06-2', 0, 'D2-043-06-2', 0, 1, 2, 2, 43, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-07-1', 0, 'D2-043-07-1', 0, 1, 2, 2, 43, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-07-2', 0, 'D2-043-07-2', 0, 1, 2, 2, 43, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-08-1', 0, 'D2-043-08-1', 0, 1, 2, 2, 43, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-08-2', 0, 'D2-043-08-2', 0, 1, 2, 2, 43, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-09-1', 0, 'D2-043-09-1', 0, 1, 2, 2, 43, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-09-2', 0, 'D2-043-09-2', 0, 1, 2, 2, 43, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-10-1', 0, 'D2-043-10-1', 0, 1, 2, 2, 43, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-10-2', 0, 'D2-043-10-2', 0, 1, 2, 2, 43, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-11-1', 0, 'D2-043-11-1', 0, 1, 2, 2, 43, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-11-2', 0, 'D2-043-11-2', 0, 1, 2, 2, 43, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-12-1', 0, 'D2-043-12-1', 0, 1, 2, 2, 43, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-12-2', 0, 'D2-043-12-2', 0, 1, 2, 2, 43, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-13-1', 0, 'D2-043-13-1', 0, 1, 2, 2, 43, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-13-2', 0, 'D2-043-13-2', 0, 1, 2, 2, 43, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-14-1', 0, 'D2-043-14-1', 0, 1, 2, 2, 43, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-14-2', 0, 'D2-043-14-2', 0, 1, 2, 2, 43, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-15-1', 0, 'D2-043-15-1', 0, 1, 2, 2, 43, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-043-15-2', 0, 'D2-043-15-2', 0, 1, 2, 2, 43, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-01-1', 0, 'D2-044-01-1', 0, 1, 2, 2, 44, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-01-2', 0, 'D2-044-01-2', 0, 1, 2, 2, 44, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-02-1', 0, 'D2-044-02-1', 0, 1, 2, 2, 44, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-02-2', 0, 'D2-044-02-2', 0, 1, 2, 2, 44, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-03-1', 0, 'D2-044-03-1', 0, 1, 2, 2, 44, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-03-2', 0, 'D2-044-03-2', 0, 1, 2, 2, 44, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-04-1', 0, 'D2-044-04-1', 0, 1, 2, 2, 44, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-04-2', 0, 'D2-044-04-2', 0, 1, 2, 2, 44, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-05-1', 0, 'D2-044-05-1', 0, 1, 2, 2, 44, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-05-2', 0, 'D2-044-05-2', 0, 1, 2, 2, 44, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-06-1', 0, 'D2-044-06-1', 0, 1, 2, 2, 44, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-06-2', 0, 'D2-044-06-2', 0, 1, 2, 2, 44, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-07-1', 0, 'D2-044-07-1', 0, 1, 2, 2, 44, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-07-2', 0, 'D2-044-07-2', 0, 1, 2, 2, 44, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-08-1', 0, 'D2-044-08-1', 0, 1, 2, 2, 44, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-08-2', 0, 'D2-044-08-2', 0, 1, 2, 2, 44, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-09-1', 0, 'D2-044-09-1', 0, 1, 2, 2, 44, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-09-2', 0, 'D2-044-09-2', 0, 1, 2, 2, 44, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-10-1', 0, 'D2-044-10-1', 0, 1, 2, 2, 44, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-10-2', 0, 'D2-044-10-2', 0, 1, 2, 2, 44, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-11-1', 0, 'D2-044-11-1', 0, 1, 2, 2, 44, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-11-2', 0, 'D2-044-11-2', 0, 1, 2, 2, 44, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-12-1', 0, 'D2-044-12-1', 0, 1, 2, 2, 44, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-12-2', 0, 'D2-044-12-2', 0, 1, 2, 2, 44, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-13-1', 0, 'D2-044-13-1', 0, 1, 2, 2, 44, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-13-2', 0, 'D2-044-13-2', 0, 1, 2, 2, 44, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-14-1', 0, 'D2-044-14-1', 0, 1, 2, 2, 44, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-14-2', 0, 'D2-044-14-2', 0, 1, 2, 2, 44, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-15-1', 0, 'D2-044-15-1', 0, 1, 2, 2, 44, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-044-15-2', 0, 'D2-044-15-2', 0, 1, 2, 2, 44, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-01-1', 0, 'D2-045-01-1', 0, 1, 2, 2, 45, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-01-2', 0, 'D2-045-01-2', 0, 1, 2, 2, 45, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-02-1', 0, 'D2-045-02-1', 0, 1, 2, 2, 45, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-02-2', 0, 'D2-045-02-2', 0, 1, 2, 2, 45, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-03-1', 0, 'D2-045-03-1', 0, 1, 2, 2, 45, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-03-2', 0, 'D2-045-03-2', 0, 1, 2, 2, 45, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-04-1', 0, 'D2-045-04-1', 0, 1, 2, 2, 45, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-04-2', 0, 'D2-045-04-2', 0, 1, 2, 2, 45, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-05-1', 0, 'D2-045-05-1', 0, 1, 2, 2, 45, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-05-2', 0, 'D2-045-05-2', 0, 1, 2, 2, 45, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-06-1', 0, 'D2-045-06-1', 0, 1, 2, 2, 45, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-06-2', 0, 'D2-045-06-2', 0, 1, 2, 2, 45, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-07-1', 0, 'D2-045-07-1', 0, 1, 2, 2, 45, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-07-2', 0, 'D2-045-07-2', 0, 1, 2, 2, 45, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-08-1', 0, 'D2-045-08-1', 0, 1, 2, 2, 45, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-08-2', 0, 'D2-045-08-2', 0, 1, 2, 2, 45, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-09-1', 0, 'D2-045-09-1', 0, 1, 2, 2, 45, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-09-2', 0, 'D2-045-09-2', 0, 1, 2, 2, 45, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-10-1', 0, 'D2-045-10-1', 0, 1, 2, 2, 45, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-10-2', 0, 'D2-045-10-2', 0, 1, 2, 2, 45, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-11-1', 0, 'D2-045-11-1', 0, 1, 2, 2, 45, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-11-2', 0, 'D2-045-11-2', 0, 1, 2, 2, 45, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-12-1', 0, 'D2-045-12-1', 0, 1, 2, 2, 45, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-12-2', 0, 'D2-045-12-2', 0, 1, 2, 2, 45, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-13-1', 0, 'D2-045-13-1', 0, 1, 2, 2, 45, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-13-2', 0, 'D2-045-13-2', 0, 1, 2, 2, 45, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-14-1', 0, 'D2-045-14-1', 0, 1, 2, 2, 45, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-14-2', 0, 'D2-045-14-2', 0, 1, 2, 2, 45, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-15-1', 0, 'D2-045-15-1', 0, 1, 2, 2, 45, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-045-15-2', 0, 'D2-045-15-2', 0, 1, 2, 2, 45, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-01-1', 0, 'D2-046-01-1', 0, 1, 2, 2, 46, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-01-2', 0, 'D2-046-01-2', 0, 1, 2, 2, 46, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-02-1', 0, 'D2-046-02-1', 0, 1, 2, 2, 46, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-02-2', 0, 'D2-046-02-2', 0, 1, 2, 2, 46, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-03-1', 0, 'D2-046-03-1', 0, 1, 2, 2, 46, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-03-2', 0, 'D2-046-03-2', 0, 1, 2, 2, 46, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-04-1', 0, 'D2-046-04-1', 0, 1, 2, 2, 46, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-04-2', 0, 'D2-046-04-2', 0, 1, 2, 2, 46, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-05-1', 0, 'D2-046-05-1', 0, 1, 2, 2, 46, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-05-2', 0, 'D2-046-05-2', 0, 1, 2, 2, 46, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-06-1', 0, 'D2-046-06-1', 0, 1, 2, 2, 46, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-06-2', 0, 'D2-046-06-2', 0, 1, 2, 2, 46, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-07-1', 0, 'D2-046-07-1', 0, 1, 2, 2, 46, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-07-2', 0, 'D2-046-07-2', 0, 1, 2, 2, 46, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-08-1', 0, 'D2-046-08-1', 0, 1, 2, 2, 46, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-08-2', 0, 'D2-046-08-2', 0, 1, 2, 2, 46, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-09-1', 0, 'D2-046-09-1', 0, 1, 2, 2, 46, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-09-2', 0, 'D2-046-09-2', 0, 1, 2, 2, 46, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-10-1', 0, 'D2-046-10-1', 0, 1, 2, 2, 46, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-10-2', 0, 'D2-046-10-2', 0, 1, 2, 2, 46, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-11-1', 0, 'D2-046-11-1', 0, 1, 2, 2, 46, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-11-2', 0, 'D2-046-11-2', 0, 1, 2, 2, 46, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-12-1', 0, 'D2-046-12-1', 0, 1, 2, 2, 46, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-12-2', 0, 'D2-046-12-2', 0, 1, 2, 2, 46, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-13-1', 0, 'D2-046-13-1', 0, 1, 2, 2, 46, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-13-2', 0, 'D2-046-13-2', 0, 1, 2, 2, 46, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-14-1', 0, 'D2-046-14-1', 0, 1, 2, 2, 46, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-14-2', 0, 'D2-046-14-2', 0, 1, 2, 2, 46, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-15-1', 0, 'D2-046-15-1', 0, 1, 2, 2, 46, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-046-15-2', 0, 'D2-046-15-2', 0, 1, 2, 2, 46, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-01-1', 0, 'D2-047-01-1', 0, 1, 2, 2, 47, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-01-2', 0, 'D2-047-01-2', 0, 1, 2, 2, 47, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-02-1', 0, 'D2-047-02-1', 0, 1, 2, 2, 47, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-02-2', 0, 'D2-047-02-2', 0, 1, 2, 2, 47, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-03-1', 0, 'D2-047-03-1', 0, 1, 2, 2, 47, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-03-2', 0, 'D2-047-03-2', 0, 1, 2, 2, 47, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-04-1', 0, 'D2-047-04-1', 0, 1, 2, 2, 47, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-04-2', 0, 'D2-047-04-2', 0, 1, 2, 2, 47, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-05-1', 0, 'D2-047-05-1', 0, 1, 2, 2, 47, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-05-2', 0, 'D2-047-05-2', 0, 1, 2, 2, 47, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-06-1', 0, 'D2-047-06-1', 0, 1, 2, 2, 47, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-06-2', 0, 'D2-047-06-2', 0, 1, 2, 2, 47, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-07-1', 0, 'D2-047-07-1', 0, 1, 2, 2, 47, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-07-2', 0, 'D2-047-07-2', 0, 1, 2, 2, 47, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-08-1', 0, 'D2-047-08-1', 0, 1, 2, 2, 47, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-08-2', 0, 'D2-047-08-2', 0, 1, 2, 2, 47, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-09-1', 0, 'D2-047-09-1', 0, 1, 2, 2, 47, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-09-2', 0, 'D2-047-09-2', 0, 1, 2, 2, 47, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-10-1', 0, 'D2-047-10-1', 0, 1, 2, 2, 47, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-10-2', 0, 'D2-047-10-2', 0, 1, 2, 2, 47, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-11-1', 0, 'D2-047-11-1', 0, 1, 2, 2, 47, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-11-2', 0, 'D2-047-11-2', 0, 1, 2, 2, 47, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-12-1', 0, 'D2-047-12-1', 0, 1, 2, 2, 47, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-12-2', 0, 'D2-047-12-2', 0, 1, 2, 2, 47, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-13-1', 0, 'D2-047-13-1', 0, 1, 2, 2, 47, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-13-2', 0, 'D2-047-13-2', 0, 1, 2, 2, 47, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-14-1', 0, 'D2-047-14-1', 0, 1, 2, 2, 47, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-14-2', 0, 'D2-047-14-2', 0, 1, 2, 2, 47, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-15-1', 0, 'D2-047-15-1', 0, 1, 2, 2, 47, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-047-15-2', 0, 'D2-047-15-2', 0, 1, 2, 2, 47, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-01-1', 0, 'D2-048-01-1', 0, 1, 2, 2, 48, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-01-2', 0, 'D2-048-01-2', 0, 1, 2, 2, 48, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-02-1', 0, 'D2-048-02-1', 0, 1, 2, 2, 48, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-02-2', 0, 'D2-048-02-2', 0, 1, 2, 2, 48, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-03-1', 0, 'D2-048-03-1', 0, 1, 2, 2, 48, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-03-2', 0, 'D2-048-03-2', 0, 1, 2, 2, 48, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-04-1', 0, 'D2-048-04-1', 0, 1, 2, 2, 48, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-04-2', 0, 'D2-048-04-2', 0, 1, 2, 2, 48, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-05-1', 0, 'D2-048-05-1', 0, 1, 2, 2, 48, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-05-2', 0, 'D2-048-05-2', 0, 1, 2, 2, 48, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-06-1', 0, 'D2-048-06-1', 0, 1, 2, 2, 48, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-06-2', 0, 'D2-048-06-2', 0, 1, 2, 2, 48, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-07-1', 0, 'D2-048-07-1', 0, 1, 2, 2, 48, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-07-2', 0, 'D2-048-07-2', 0, 1, 2, 2, 48, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-08-1', 0, 'D2-048-08-1', 0, 1, 2, 2, 48, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-08-2', 0, 'D2-048-08-2', 0, 1, 2, 2, 48, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-09-1', 0, 'D2-048-09-1', 0, 1, 2, 2, 48, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-09-2', 0, 'D2-048-09-2', 0, 1, 2, 2, 48, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-10-1', 0, 'D2-048-10-1', 0, 1, 2, 2, 48, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-10-2', 0, 'D2-048-10-2', 0, 1, 2, 2, 48, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-11-1', 0, 'D2-048-11-1', 0, 1, 2, 2, 48, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-11-2', 0, 'D2-048-11-2', 0, 1, 2, 2, 48, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-12-1', 0, 'D2-048-12-1', 0, 1, 2, 2, 48, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-12-2', 0, 'D2-048-12-2', 0, 1, 2, 2, 48, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-13-1', 0, 'D2-048-13-1', 0, 1, 2, 2, 48, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-13-2', 0, 'D2-048-13-2', 0, 1, 2, 2, 48, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-14-1', 0, 'D2-048-14-1', 0, 1, 2, 2, 48, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-14-2', 0, 'D2-048-14-2', 0, 1, 2, 2, 48, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-15-1', 0, 'D2-048-15-1', 0, 1, 2, 2, 48, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-048-15-2', 0, 'D2-048-15-2', 0, 1, 2, 2, 48, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-01-1', 0, 'D2-049-01-1', 0, 1, 2, 2, 49, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-01-2', 0, 'D2-049-01-2', 0, 1, 2, 2, 49, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-02-1', 0, 'D2-049-02-1', 0, 1, 2, 2, 49, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-02-2', 0, 'D2-049-02-2', 0, 1, 2, 2, 49, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-03-1', 0, 'D2-049-03-1', 0, 1, 2, 2, 49, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-03-2', 0, 'D2-049-03-2', 0, 1, 2, 2, 49, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-04-1', 0, 'D2-049-04-1', 0, 1, 2, 2, 49, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-04-2', 0, 'D2-049-04-2', 0, 1, 2, 2, 49, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-05-1', 0, 'D2-049-05-1', 0, 1, 2, 2, 49, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-05-2', 0, 'D2-049-05-2', 0, 1, 2, 2, 49, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-06-1', 0, 'D2-049-06-1', 0, 1, 2, 2, 49, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-06-2', 0, 'D2-049-06-2', 0, 1, 2, 2, 49, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-07-1', 0, 'D2-049-07-1', 0, 1, 2, 2, 49, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-07-2', 0, 'D2-049-07-2', 0, 1, 2, 2, 49, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-08-1', 0, 'D2-049-08-1', 0, 1, 2, 2, 49, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-08-2', 0, 'D2-049-08-2', 0, 1, 2, 2, 49, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-09-1', 0, 'D2-049-09-1', 0, 1, 2, 2, 49, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-09-2', 0, 'D2-049-09-2', 0, 1, 2, 2, 49, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-10-1', 0, 'D2-049-10-1', 0, 1, 2, 2, 49, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-10-2', 0, 'D2-049-10-2', 0, 1, 2, 2, 49, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-11-1', 0, 'D2-049-11-1', 0, 1, 2, 2, 49, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-11-2', 0, 'D2-049-11-2', 0, 1, 2, 2, 49, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-12-1', 0, 'D2-049-12-1', 0, 1, 2, 2, 49, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-12-2', 0, 'D2-049-12-2', 0, 1, 2, 2, 49, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-13-1', 0, 'D2-049-13-1', 0, 1, 2, 2, 49, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-13-2', 0, 'D2-049-13-2', 0, 1, 2, 2, 49, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-14-1', 0, 'D2-049-14-1', 0, 1, 2, 2, 49, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-14-2', 0, 'D2-049-14-2', 0, 1, 2, 2, 49, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-15-1', 0, 'D2-049-15-1', 0, 1, 2, 2, 49, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-049-15-2', 0, 'D2-049-15-2', 0, 1, 2, 2, 49, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-01-1', 0, 'D2-050-01-1', 0, 1, 2, 2, 50, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-01-2', 0, 'D2-050-01-2', 0, 1, 2, 2, 50, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-02-1', 0, 'D2-050-02-1', 0, 1, 2, 2, 50, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-02-2', 0, 'D2-050-02-2', 0, 1, 2, 2, 50, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-03-1', 0, 'D2-050-03-1', 0, 1, 2, 2, 50, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-03-2', 0, 'D2-050-03-2', 0, 1, 2, 2, 50, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-04-1', 0, 'D2-050-04-1', 0, 1, 2, 2, 50, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-04-2', 0, 'D2-050-04-2', 0, 1, 2, 2, 50, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-05-1', 0, 'D2-050-05-1', 0, 1, 2, 2, 50, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-05-2', 0, 'D2-050-05-2', 0, 1, 2, 2, 50, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-06-1', 0, 'D2-050-06-1', 0, 1, 2, 2, 50, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-06-2', 0, 'D2-050-06-2', 0, 1, 2, 2, 50, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-07-1', 0, 'D2-050-07-1', 0, 1, 2, 2, 50, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-07-2', 0, 'D2-050-07-2', 0, 1, 2, 2, 50, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-08-1', 0, 'D2-050-08-1', 0, 1, 2, 2, 50, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-08-2', 0, 'D2-050-08-2', 0, 1, 2, 2, 50, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-09-1', 0, 'D2-050-09-1', 0, 1, 2, 2, 50, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-09-2', 0, 'D2-050-09-2', 0, 1, 2, 2, 50, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-10-1', 0, 'D2-050-10-1', 0, 1, 2, 2, 50, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-10-2', 0, 'D2-050-10-2', 0, 1, 2, 2, 50, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-11-1', 0, 'D2-050-11-1', 0, 1, 2, 2, 50, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-11-2', 0, 'D2-050-11-2', 0, 1, 2, 2, 50, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-12-1', 0, 'D2-050-12-1', 0, 1, 2, 2, 50, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-12-2', 0, 'D2-050-12-2', 0, 1, 2, 2, 50, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-13-1', 0, 'D2-050-13-1', 0, 1, 2, 2, 50, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-13-2', 0, 'D2-050-13-2', 0, 1, 2, 2, 50, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-14-1', 0, 'D2-050-14-1', 0, 1, 2, 2, 50, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-14-2', 0, 'D2-050-14-2', 0, 1, 2, 2, 50, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-15-1', 0, 'D2-050-15-1', 0, 1, 2, 2, 50, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-050-15-2', 0, 'D2-050-15-2', 0, 1, 2, 2, 50, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-01-1', 0, 'D2-051-01-1', 0, 1, 2, 2, 51, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-01-2', 0, 'D2-051-01-2', 0, 1, 2, 2, 51, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-02-1', 0, 'D2-051-02-1', 0, 1, 2, 2, 51, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-02-2', 0, 'D2-051-02-2', 0, 1, 2, 2, 51, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-03-1', 0, 'D2-051-03-1', 0, 1, 2, 2, 51, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-03-2', 0, 'D2-051-03-2', 0, 1, 2, 2, 51, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-04-1', 0, 'D2-051-04-1', 0, 1, 2, 2, 51, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-04-2', 0, 'D2-051-04-2', 0, 1, 2, 2, 51, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-05-1', 0, 'D2-051-05-1', 0, 1, 2, 2, 51, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-05-2', 0, 'D2-051-05-2', 0, 1, 2, 2, 51, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-06-1', 0, 'D2-051-06-1', 0, 1, 2, 2, 51, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-06-2', 0, 'D2-051-06-2', 0, 1, 2, 2, 51, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-07-1', 0, 'D2-051-07-1', 0, 1, 2, 2, 51, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-07-2', 0, 'D2-051-07-2', 0, 1, 2, 2, 51, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-08-1', 0, 'D2-051-08-1', 0, 1, 2, 2, 51, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-08-2', 0, 'D2-051-08-2', 0, 1, 2, 2, 51, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-09-1', 0, 'D2-051-09-1', 0, 1, 2, 2, 51, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-09-2', 0, 'D2-051-09-2', 0, 1, 2, 2, 51, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-10-1', 0, 'D2-051-10-1', 0, 1, 2, 2, 51, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-10-2', 0, 'D2-051-10-2', 0, 1, 2, 2, 51, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-11-1', 0, 'D2-051-11-1', 0, 1, 2, 2, 51, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-11-2', 0, 'D2-051-11-2', 0, 1, 2, 2, 51, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-12-1', 0, 'D2-051-12-1', 0, 1, 2, 2, 51, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-12-2', 0, 'D2-051-12-2', 0, 1, 2, 2, 51, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-13-1', 0, 'D2-051-13-1', 0, 1, 2, 2, 51, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-13-2', 0, 'D2-051-13-2', 0, 1, 2, 2, 51, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-14-1', 0, 'D2-051-14-1', 0, 1, 2, 2, 51, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-14-2', 0, 'D2-051-14-2', 0, 1, 2, 2, 51, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-15-1', 0, 'D2-051-15-1', 0, 1, 2, 2, 51, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-051-15-2', 0, 'D2-051-15-2', 0, 1, 2, 2, 51, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-01-1', 0, 'D2-052-01-1', 0, 1, 2, 2, 52, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-01-2', 0, 'D2-052-01-2', 0, 1, 2, 2, 52, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-02-1', 0, 'D2-052-02-1', 0, 1, 2, 2, 52, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-02-2', 0, 'D2-052-02-2', 0, 1, 2, 2, 52, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-03-1', 0, 'D2-052-03-1', 0, 1, 2, 2, 52, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-03-2', 0, 'D2-052-03-2', 0, 1, 2, 2, 52, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-04-1', 0, 'D2-052-04-1', 0, 1, 2, 2, 52, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-04-2', 0, 'D2-052-04-2', 0, 1, 2, 2, 52, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-05-1', 0, 'D2-052-05-1', 0, 1, 2, 2, 52, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-05-2', 0, 'D2-052-05-2', 0, 1, 2, 2, 52, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-06-1', 0, 'D2-052-06-1', 0, 1, 2, 2, 52, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-06-2', 0, 'D2-052-06-2', 0, 1, 2, 2, 52, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-07-1', 0, 'D2-052-07-1', 0, 1, 2, 2, 52, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-07-2', 0, 'D2-052-07-2', 0, 1, 2, 2, 52, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-08-1', 0, 'D2-052-08-1', 0, 1, 2, 2, 52, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-08-2', 0, 'D2-052-08-2', 0, 1, 2, 2, 52, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-09-1', 0, 'D2-052-09-1', 0, 1, 2, 2, 52, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-09-2', 0, 'D2-052-09-2', 0, 1, 2, 2, 52, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-10-1', 0, 'D2-052-10-1', 0, 1, 2, 2, 52, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-10-2', 0, 'D2-052-10-2', 0, 1, 2, 2, 52, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-11-1', 0, 'D2-052-11-1', 0, 1, 2, 2, 52, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-11-2', 0, 'D2-052-11-2', 0, 1, 2, 2, 52, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-12-1', 0, 'D2-052-12-1', 0, 1, 2, 2, 52, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-12-2', 0, 'D2-052-12-2', 0, 1, 2, 2, 52, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-13-1', 0, 'D2-052-13-1', 0, 1, 2, 2, 52, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-13-2', 0, 'D2-052-13-2', 0, 1, 2, 2, 52, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-14-1', 0, 'D2-052-14-1', 0, 1, 2, 2, 52, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-14-2', 0, 'D2-052-14-2', 0, 1, 2, 2, 52, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-15-1', 0, 'D2-052-15-1', 0, 1, 2, 2, 52, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-052-15-2', 0, 'D2-052-15-2', 0, 1, 2, 2, 52, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-01-1', 0, 'D2-053-01-1', 0, 1, 2, 2, 53, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-01-2', 0, 'D2-053-01-2', 0, 1, 2, 2, 53, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-02-1', 0, 'D2-053-02-1', 0, 1, 2, 2, 53, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-02-2', 0, 'D2-053-02-2', 0, 1, 2, 2, 53, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-03-1', 0, 'D2-053-03-1', 0, 1, 2, 2, 53, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-03-2', 0, 'D2-053-03-2', 0, 1, 2, 2, 53, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-04-1', 0, 'D2-053-04-1', 0, 1, 2, 2, 53, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-04-2', 0, 'D2-053-04-2', 0, 1, 2, 2, 53, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-05-1', 0, 'D2-053-05-1', 0, 1, 2, 2, 53, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-05-2', 0, 'D2-053-05-2', 0, 1, 2, 2, 53, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-06-1', 0, 'D2-053-06-1', 0, 1, 2, 2, 53, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-06-2', 0, 'D2-053-06-2', 0, 1, 2, 2, 53, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-07-1', 0, 'D2-053-07-1', 0, 1, 2, 2, 53, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-07-2', 0, 'D2-053-07-2', 0, 1, 2, 2, 53, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-08-1', 0, 'D2-053-08-1', 0, 1, 2, 2, 53, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-08-2', 0, 'D2-053-08-2', 0, 1, 2, 2, 53, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-09-1', 0, 'D2-053-09-1', 0, 1, 2, 2, 53, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-09-2', 0, 'D2-053-09-2', 0, 1, 2, 2, 53, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-10-1', 0, 'D2-053-10-1', 0, 1, 2, 2, 53, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-10-2', 0, 'D2-053-10-2', 0, 1, 2, 2, 53, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-11-1', 0, 'D2-053-11-1', 0, 1, 2, 2, 53, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-11-2', 0, 'D2-053-11-2', 0, 1, 2, 2, 53, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-12-1', 0, 'D2-053-12-1', 0, 1, 2, 2, 53, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-12-2', 0, 'D2-053-12-2', 0, 1, 2, 2, 53, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-13-1', 0, 'D2-053-13-1', 0, 1, 2, 2, 53, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-13-2', 0, 'D2-053-13-2', 0, 1, 2, 2, 53, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-14-1', 0, 'D2-053-14-1', 0, 1, 2, 2, 53, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-14-2', 0, 'D2-053-14-2', 0, 1, 2, 2, 53, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-15-1', 0, 'D2-053-15-1', 0, 1, 2, 2, 53, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-053-15-2', 0, 'D2-053-15-2', 0, 1, 2, 2, 53, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-01-1', 0, 'D2-054-01-1', 0, 1, 2, 2, 54, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-01-2', 0, 'D2-054-01-2', 0, 1, 2, 2, 54, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-02-1', 0, 'D2-054-02-1', 0, 1, 2, 2, 54, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-02-2', 0, 'D2-054-02-2', 0, 1, 2, 2, 54, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-03-1', 0, 'D2-054-03-1', 0, 1, 2, 2, 54, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-03-2', 0, 'D2-054-03-2', 0, 1, 2, 2, 54, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-04-1', 0, 'D2-054-04-1', 0, 1, 2, 2, 54, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-04-2', 0, 'D2-054-04-2', 0, 1, 2, 2, 54, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-05-1', 0, 'D2-054-05-1', 0, 1, 2, 2, 54, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-05-2', 0, 'D2-054-05-2', 0, 1, 2, 2, 54, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-06-1', 0, 'D2-054-06-1', 0, 1, 2, 2, 54, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-06-2', 0, 'D2-054-06-2', 0, 1, 2, 2, 54, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-07-1', 0, 'D2-054-07-1', 0, 1, 2, 2, 54, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-07-2', 0, 'D2-054-07-2', 0, 1, 2, 2, 54, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-08-1', 0, 'D2-054-08-1', 0, 1, 2, 2, 54, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-08-2', 0, 'D2-054-08-2', 0, 1, 2, 2, 54, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-09-1', 0, 'D2-054-09-1', 0, 1, 2, 2, 54, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-09-2', 0, 'D2-054-09-2', 0, 1, 2, 2, 54, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-10-1', 0, 'D2-054-10-1', 0, 1, 2, 2, 54, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-10-2', 0, 'D2-054-10-2', 0, 1, 2, 2, 54, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-11-1', 0, 'D2-054-11-1', 0, 1, 2, 2, 54, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-11-2', 0, 'D2-054-11-2', 0, 1, 2, 2, 54, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-12-1', 0, 'D2-054-12-1', 0, 1, 2, 2, 54, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-12-2', 0, 'D2-054-12-2', 0, 1, 2, 2, 54, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-13-1', 0, 'D2-054-13-1', 0, 1, 2, 2, 54, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-13-2', 0, 'D2-054-13-2', 0, 1, 2, 2, 54, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-14-1', 0, 'D2-054-14-1', 0, 1, 2, 2, 54, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-14-2', 0, 'D2-054-14-2', 0, 1, 2, 2, 54, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-15-1', 0, 'D2-054-15-1', 0, 1, 2, 2, 54, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-054-15-2', 0, 'D2-054-15-2', 0, 1, 2, 2, 54, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-01-1', 0, 'D2-055-01-1', 0, 1, 2, 2, 55, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-01-2', 0, 'D2-055-01-2', 0, 1, 2, 2, 55, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-02-1', 0, 'D2-055-02-1', 0, 1, 2, 2, 55, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-02-2', 0, 'D2-055-02-2', 0, 1, 2, 2, 55, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-03-1', 0, 'D2-055-03-1', 0, 1, 2, 2, 55, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-03-2', 0, 'D2-055-03-2', 0, 1, 2, 2, 55, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-04-1', 0, 'D2-055-04-1', 0, 1, 2, 2, 55, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-04-2', 0, 'D2-055-04-2', 0, 1, 2, 2, 55, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-05-1', 0, 'D2-055-05-1', 0, 1, 2, 2, 55, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-05-2', 0, 'D2-055-05-2', 0, 1, 2, 2, 55, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-06-1', 0, 'D2-055-06-1', 0, 1, 2, 2, 55, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-06-2', 0, 'D2-055-06-2', 0, 1, 2, 2, 55, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-07-1', 0, 'D2-055-07-1', 0, 1, 2, 2, 55, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-07-2', 0, 'D2-055-07-2', 0, 1, 2, 2, 55, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-08-1', 0, 'D2-055-08-1', 0, 1, 2, 2, 55, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-08-2', 0, 'D2-055-08-2', 0, 1, 2, 2, 55, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-09-1', 0, 'D2-055-09-1', 0, 1, 2, 2, 55, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-09-2', 0, 'D2-055-09-2', 0, 1, 2, 2, 55, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-10-1', 0, 'D2-055-10-1', 0, 1, 2, 2, 55, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-10-2', 0, 'D2-055-10-2', 0, 1, 2, 2, 55, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-11-1', 0, 'D2-055-11-1', 0, 1, 2, 2, 55, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-11-2', 0, 'D2-055-11-2', 0, 1, 2, 2, 55, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-12-1', 0, 'D2-055-12-1', 0, 1, 2, 2, 55, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-12-2', 0, 'D2-055-12-2', 0, 1, 2, 2, 55, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-13-1', 0, 'D2-055-13-1', 0, 1, 2, 2, 55, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-13-2', 0, 'D2-055-13-2', 0, 1, 2, 2, 55, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-14-1', 0, 'D2-055-14-1', 0, 1, 2, 2, 55, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-14-2', 0, 'D2-055-14-2', 0, 1, 2, 2, 55, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-15-1', 0, 'D2-055-15-1', 0, 1, 2, 2, 55, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-055-15-2', 0, 'D2-055-15-2', 0, 1, 2, 2, 55, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-01-1', 0, 'D2-056-01-1', 0, 1, 2, 2, 56, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-01-2', 0, 'D2-056-01-2', 0, 1, 2, 2, 56, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-02-1', 0, 'D2-056-02-1', 0, 1, 2, 2, 56, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-02-2', 0, 'D2-056-02-2', 0, 1, 2, 2, 56, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-03-1', 0, 'D2-056-03-1', 0, 1, 2, 2, 56, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-03-2', 0, 'D2-056-03-2', 0, 1, 2, 2, 56, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-04-1', 0, 'D2-056-04-1', 0, 1, 2, 2, 56, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-04-2', 0, 'D2-056-04-2', 0, 1, 2, 2, 56, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-05-1', 0, 'D2-056-05-1', 0, 1, 2, 2, 56, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-05-2', 0, 'D2-056-05-2', 0, 1, 2, 2, 56, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-06-1', 0, 'D2-056-06-1', 0, 1, 2, 2, 56, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-06-2', 0, 'D2-056-06-2', 0, 1, 2, 2, 56, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-07-1', 0, 'D2-056-07-1', 0, 1, 2, 2, 56, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-07-2', 0, 'D2-056-07-2', 0, 1, 2, 2, 56, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-08-1', 0, 'D2-056-08-1', 0, 1, 2, 2, 56, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-08-2', 0, 'D2-056-08-2', 0, 1, 2, 2, 56, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-09-1', 0, 'D2-056-09-1', 0, 1, 2, 2, 56, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-09-2', 0, 'D2-056-09-2', 0, 1, 2, 2, 56, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-10-1', 0, 'D2-056-10-1', 0, 1, 2, 2, 56, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-10-2', 0, 'D2-056-10-2', 0, 1, 2, 2, 56, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-11-1', 0, 'D2-056-11-1', 0, 1, 2, 2, 56, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-11-2', 0, 'D2-056-11-2', 0, 1, 2, 2, 56, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-12-1', 0, 'D2-056-12-1', 0, 1, 2, 2, 56, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-12-2', 0, 'D2-056-12-2', 0, 1, 2, 2, 56, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-13-1', 0, 'D2-056-13-1', 0, 1, 2, 2, 56, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-13-2', 0, 'D2-056-13-2', 0, 1, 2, 2, 56, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-14-1', 0, 'D2-056-14-1', 0, 1, 2, 2, 56, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-14-2', 0, 'D2-056-14-2', 0, 1, 2, 2, 56, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-15-1', 0, 'D2-056-15-1', 0, 1, 2, 2, 56, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-056-15-2', 0, 'D2-056-15-2', 0, 1, 2, 2, 56, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-01-1', 0, 'D2-057-01-1', 0, 1, 2, 2, 57, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-01-2', 0, 'D2-057-01-2', 0, 1, 2, 2, 57, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-02-1', 0, 'D2-057-02-1', 0, 1, 2, 2, 57, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-02-2', 0, 'D2-057-02-2', 0, 1, 2, 2, 57, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-03-1', 0, 'D2-057-03-1', 0, 1, 2, 2, 57, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-03-2', 0, 'D2-057-03-2', 0, 1, 2, 2, 57, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-04-1', 0, 'D2-057-04-1', 0, 1, 2, 2, 57, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-04-2', 0, 'D2-057-04-2', 0, 1, 2, 2, 57, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-05-1', 0, 'D2-057-05-1', 0, 1, 2, 2, 57, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-05-2', 0, 'D2-057-05-2', 0, 1, 2, 2, 57, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-06-1', 0, 'D2-057-06-1', 0, 1, 2, 2, 57, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-06-2', 0, 'D2-057-06-2', 0, 1, 2, 2, 57, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-07-1', 0, 'D2-057-07-1', 0, 1, 2, 2, 57, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-07-2', 0, 'D2-057-07-2', 0, 1, 2, 2, 57, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-08-1', 0, 'D2-057-08-1', 0, 1, 2, 2, 57, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-08-2', 0, 'D2-057-08-2', 0, 1, 2, 2, 57, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-09-1', 0, 'D2-057-09-1', 0, 1, 2, 2, 57, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-09-2', 0, 'D2-057-09-2', 0, 1, 2, 2, 57, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-10-1', 0, 'D2-057-10-1', 0, 1, 2, 2, 57, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-10-2', 0, 'D2-057-10-2', 0, 1, 2, 2, 57, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-11-1', 0, 'D2-057-11-1', 0, 1, 2, 2, 57, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-11-2', 0, 'D2-057-11-2', 0, 1, 2, 2, 57, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-12-1', 0, 'D2-057-12-1', 0, 1, 2, 2, 57, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-12-2', 0, 'D2-057-12-2', 0, 1, 2, 2, 57, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-13-1', 0, 'D2-057-13-1', 0, 1, 2, 2, 57, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-13-2', 0, 'D2-057-13-2', 0, 1, 2, 2, 57, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-14-1', 0, 'D2-057-14-1', 0, 1, 2, 2, 57, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-14-2', 0, 'D2-057-14-2', 0, 1, 2, 2, 57, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-15-1', 0, 'D2-057-15-1', 0, 1, 2, 2, 57, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-057-15-2', 0, 'D2-057-15-2', 0, 1, 2, 2, 57, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-01-1', 0, 'D2-058-01-1', 0, 1, 2, 2, 58, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-01-2', 0, 'D2-058-01-2', 0, 1, 2, 2, 58, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-02-1', 0, 'D2-058-02-1', 0, 1, 2, 2, 58, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-02-2', 0, 'D2-058-02-2', 0, 1, 2, 2, 58, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-03-1', 0, 'D2-058-03-1', 0, 1, 2, 2, 58, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-03-2', 0, 'D2-058-03-2', 0, 1, 2, 2, 58, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-04-1', 0, 'D2-058-04-1', 0, 1, 2, 2, 58, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-04-2', 0, 'D2-058-04-2', 0, 1, 2, 2, 58, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-05-1', 0, 'D2-058-05-1', 0, 1, 2, 2, 58, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-05-2', 0, 'D2-058-05-2', 0, 1, 2, 2, 58, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-06-1', 0, 'D2-058-06-1', 0, 1, 2, 2, 58, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-06-2', 0, 'D2-058-06-2', 0, 1, 2, 2, 58, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-07-1', 0, 'D2-058-07-1', 0, 1, 2, 2, 58, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-07-2', 0, 'D2-058-07-2', 0, 1, 2, 2, 58, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-08-1', 0, 'D2-058-08-1', 0, 1, 2, 2, 58, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-08-2', 0, 'D2-058-08-2', 0, 1, 2, 2, 58, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-09-1', 0, 'D2-058-09-1', 0, 1, 2, 2, 58, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-09-2', 0, 'D2-058-09-2', 0, 1, 2, 2, 58, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-10-1', 0, 'D2-058-10-1', 0, 1, 2, 2, 58, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-10-2', 0, 'D2-058-10-2', 0, 1, 2, 2, 58, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-11-1', 0, 'D2-058-11-1', 0, 1, 2, 2, 58, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-11-2', 0, 'D2-058-11-2', 0, 1, 2, 2, 58, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-12-1', 0, 'D2-058-12-1', 0, 1, 2, 2, 58, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-12-2', 0, 'D2-058-12-2', 0, 1, 2, 2, 58, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-13-1', 0, 'D2-058-13-1', 0, 1, 2, 2, 58, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-13-2', 0, 'D2-058-13-2', 0, 1, 2, 2, 58, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-14-1', 0, 'D2-058-14-1', 0, 1, 2, 2, 58, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-14-2', 0, 'D2-058-14-2', 0, 1, 2, 2, 58, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-15-1', 0, 'D2-058-15-1', 0, 1, 2, 2, 58, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-058-15-2', 0, 'D2-058-15-2', 0, 1, 2, 2, 58, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-01-1', 0, 'D2-059-01-1', 0, 1, 2, 2, 59, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-01-2', 0, 'D2-059-01-2', 0, 1, 2, 2, 59, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-02-1', 0, 'D2-059-02-1', 0, 1, 2, 2, 59, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-02-2', 0, 'D2-059-02-2', 0, 1, 2, 2, 59, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-03-1', 0, 'D2-059-03-1', 0, 1, 2, 2, 59, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-03-2', 0, 'D2-059-03-2', 0, 1, 2, 2, 59, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-04-1', 0, 'D2-059-04-1', 0, 1, 2, 2, 59, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-04-2', 0, 'D2-059-04-2', 0, 1, 2, 2, 59, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-05-1', 0, 'D2-059-05-1', 0, 1, 2, 2, 59, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-05-2', 0, 'D2-059-05-2', 0, 1, 2, 2, 59, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-06-1', 0, 'D2-059-06-1', 0, 1, 2, 2, 59, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-06-2', 0, 'D2-059-06-2', 0, 1, 2, 2, 59, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-07-1', 0, 'D2-059-07-1', 0, 1, 2, 2, 59, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-07-2', 0, 'D2-059-07-2', 0, 1, 2, 2, 59, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-08-1', 0, 'D2-059-08-1', 0, 1, 2, 2, 59, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-08-2', 0, 'D2-059-08-2', 0, 1, 2, 2, 59, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-09-1', 0, 'D2-059-09-1', 0, 1, 2, 2, 59, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-09-2', 0, 'D2-059-09-2', 0, 1, 2, 2, 59, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-10-1', 0, 'D2-059-10-1', 0, 1, 2, 2, 59, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-10-2', 0, 'D2-059-10-2', 0, 1, 2, 2, 59, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-11-1', 0, 'D2-059-11-1', 0, 1, 2, 2, 59, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-11-2', 0, 'D2-059-11-2', 0, 1, 2, 2, 59, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-12-1', 0, 'D2-059-12-1', 0, 1, 2, 2, 59, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-12-2', 0, 'D2-059-12-2', 0, 1, 2, 2, 59, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-13-1', 0, 'D2-059-13-1', 0, 1, 2, 2, 59, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-13-2', 0, 'D2-059-13-2', 0, 1, 2, 2, 59, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-14-1', 0, 'D2-059-14-1', 0, 1, 2, 2, 59, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-14-2', 0, 'D2-059-14-2', 0, 1, 2, 2, 59, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-15-1', 0, 'D2-059-15-1', 0, 1, 2, 2, 59, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-059-15-2', 0, 'D2-059-15-2', 0, 1, 2, 2, 59, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-01-1', 0, 'D2-060-01-1', 0, 1, 2, 2, 60, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-01-2', 0, 'D2-060-01-2', 0, 1, 2, 2, 60, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-02-1', 0, 'D2-060-02-1', 0, 1, 2, 2, 60, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-02-2', 0, 'D2-060-02-2', 0, 1, 2, 2, 60, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-03-1', 0, 'D2-060-03-1', 0, 1, 2, 2, 60, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-03-2', 0, 'D2-060-03-2', 0, 1, 2, 2, 60, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-04-1', 0, 'D2-060-04-1', 0, 1, 2, 2, 60, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-04-2', 0, 'D2-060-04-2', 0, 1, 2, 2, 60, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-05-1', 0, 'D2-060-05-1', 0, 1, 2, 2, 60, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-05-2', 0, 'D2-060-05-2', 0, 1, 2, 2, 60, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-06-1', 0, 'D2-060-06-1', 0, 1, 2, 2, 60, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-06-2', 0, 'D2-060-06-2', 0, 1, 2, 2, 60, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-07-1', 0, 'D2-060-07-1', 0, 1, 2, 2, 60, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-07-2', 0, 'D2-060-07-2', 0, 1, 2, 2, 60, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-08-1', 0, 'D2-060-08-1', 0, 1, 2, 2, 60, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-08-2', 0, 'D2-060-08-2', 0, 1, 2, 2, 60, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-09-1', 0, 'D2-060-09-1', 0, 1, 2, 2, 60, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-09-2', 0, 'D2-060-09-2', 0, 1, 2, 2, 60, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-10-1', 0, 'D2-060-10-1', 0, 1, 2, 2, 60, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-10-2', 0, 'D2-060-10-2', 0, 1, 2, 2, 60, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-11-1', 0, 'D2-060-11-1', 0, 1, 2, 2, 60, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-11-2', 0, 'D2-060-11-2', 0, 1, 2, 2, 60, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-12-1', 0, 'D2-060-12-1', 0, 1, 2, 2, 60, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-12-2', 0, 'D2-060-12-2', 0, 1, 2, 2, 60, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-13-1', 0, 'D2-060-13-1', 0, 1, 2, 2, 60, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-13-2', 0, 'D2-060-13-2', 0, 1, 2, 2, 60, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-14-1', 0, 'D2-060-14-1', 0, 1, 2, 2, 60, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-14-2', 0, 'D2-060-14-2', 0, 1, 2, 2, 60, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-15-1', 0, 'D2-060-15-1', 0, 1, 2, 2, 60, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-060-15-2', 0, 'D2-060-15-2', 0, 1, 2, 2, 60, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-01-1', 0, 'D2-061-01-1', 0, 1, 2, 2, 61, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-01-2', 0, 'D2-061-01-2', 0, 1, 2, 2, 61, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-02-1', 0, 'D2-061-02-1', 0, 1, 2, 2, 61, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-02-2', 0, 'D2-061-02-2', 0, 1, 2, 2, 61, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-03-1', 0, 'D2-061-03-1', 0, 1, 2, 2, 61, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-03-2', 0, 'D2-061-03-2', 0, 1, 2, 2, 61, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-04-1', 0, 'D2-061-04-1', 0, 1, 2, 2, 61, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-04-2', 0, 'D2-061-04-2', 0, 1, 2, 2, 61, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-05-1', 0, 'D2-061-05-1', 0, 1, 2, 2, 61, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-05-2', 0, 'D2-061-05-2', 0, 1, 2, 2, 61, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-06-1', 0, 'D2-061-06-1', 0, 1, 2, 2, 61, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-06-2', 0, 'D2-061-06-2', 0, 1, 2, 2, 61, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-07-1', 0, 'D2-061-07-1', 0, 1, 2, 2, 61, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-07-2', 0, 'D2-061-07-2', 0, 1, 2, 2, 61, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-08-1', 0, 'D2-061-08-1', 0, 1, 2, 2, 61, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-08-2', 0, 'D2-061-08-2', 0, 1, 2, 2, 61, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-09-1', 0, 'D2-061-09-1', 0, 1, 2, 2, 61, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-09-2', 0, 'D2-061-09-2', 0, 1, 2, 2, 61, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-10-1', 0, 'D2-061-10-1', 0, 1, 2, 2, 61, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-10-2', 0, 'D2-061-10-2', 0, 1, 2, 2, 61, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-11-1', 0, 'D2-061-11-1', 0, 1, 2, 2, 61, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-11-2', 0, 'D2-061-11-2', 0, 1, 2, 2, 61, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-12-1', 0, 'D2-061-12-1', 0, 1, 2, 2, 61, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-12-2', 0, 'D2-061-12-2', 0, 1, 2, 2, 61, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-13-1', 0, 'D2-061-13-1', 0, 1, 2, 2, 61, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-13-2', 0, 'D2-061-13-2', 0, 1, 2, 2, 61, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-14-1', 0, 'D2-061-14-1', 0, 1, 2, 2, 61, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-14-2', 0, 'D2-061-14-2', 0, 1, 2, 2, 61, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-15-1', 0, 'D2-061-15-1', 0, 1, 2, 2, 61, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-061-15-2', 0, 'D2-061-15-2', 0, 1, 2, 2, 61, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-01-1', 0, 'D2-062-01-1', 0, 1, 2, 2, 62, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-01-2', 0, 'D2-062-01-2', 0, 1, 2, 2, 62, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-02-1', 0, 'D2-062-02-1', 0, 1, 2, 2, 62, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-02-2', 0, 'D2-062-02-2', 0, 1, 2, 2, 62, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-03-1', 0, 'D2-062-03-1', 0, 1, 2, 2, 62, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-03-2', 0, 'D2-062-03-2', 0, 1, 2, 2, 62, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-04-1', 0, 'D2-062-04-1', 0, 1, 2, 2, 62, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-04-2', 0, 'D2-062-04-2', 0, 1, 2, 2, 62, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-05-1', 0, 'D2-062-05-1', 0, 1, 2, 2, 62, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-05-2', 0, 'D2-062-05-2', 0, 1, 2, 2, 62, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-06-1', 0, 'D2-062-06-1', 0, 1, 2, 2, 62, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-06-2', 0, 'D2-062-06-2', 0, 1, 2, 2, 62, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-07-1', 0, 'D2-062-07-1', 0, 1, 2, 2, 62, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-07-2', 0, 'D2-062-07-2', 0, 1, 2, 2, 62, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-08-1', 0, 'D2-062-08-1', 0, 1, 2, 2, 62, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-08-2', 0, 'D2-062-08-2', 0, 1, 2, 2, 62, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-09-1', 0, 'D2-062-09-1', 0, 1, 2, 2, 62, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-09-2', 0, 'D2-062-09-2', 0, 1, 2, 2, 62, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-10-1', 0, 'D2-062-10-1', 0, 1, 2, 2, 62, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-10-2', 0, 'D2-062-10-2', 0, 1, 2, 2, 62, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-11-1', 0, 'D2-062-11-1', 0, 1, 2, 2, 62, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-11-2', 0, 'D2-062-11-2', 0, 1, 2, 2, 62, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-12-1', 0, 'D2-062-12-1', 0, 1, 2, 2, 62, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-12-2', 0, 'D2-062-12-2', 0, 1, 2, 2, 62, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-13-1', 0, 'D2-062-13-1', 0, 1, 2, 2, 62, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-13-2', 0, 'D2-062-13-2', 0, 1, 2, 2, 62, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-14-1', 0, 'D2-062-14-1', 0, 1, 2, 2, 62, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-14-2', 0, 'D2-062-14-2', 0, 1, 2, 2, 62, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-15-1', 0, 'D2-062-15-1', 0, 1, 2, 2, 62, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-062-15-2', 0, 'D2-062-15-2', 0, 1, 2, 2, 62, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-01-1', 0, 'D2-063-01-1', 0, 1, 2, 2, 63, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-01-2', 0, 'D2-063-01-2', 0, 1, 2, 2, 63, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-02-1', 0, 'D2-063-02-1', 0, 1, 2, 2, 63, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-02-2', 0, 'D2-063-02-2', 0, 1, 2, 2, 63, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-03-1', 0, 'D2-063-03-1', 0, 1, 2, 2, 63, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-03-2', 0, 'D2-063-03-2', 0, 1, 2, 2, 63, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-04-1', 0, 'D2-063-04-1', 0, 1, 2, 2, 63, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-04-2', 0, 'D2-063-04-2', 0, 1, 2, 2, 63, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-05-1', 0, 'D2-063-05-1', 0, 1, 2, 2, 63, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-05-2', 0, 'D2-063-05-2', 0, 1, 2, 2, 63, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-06-1', 0, 'D2-063-06-1', 0, 1, 2, 2, 63, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-06-2', 0, 'D2-063-06-2', 0, 1, 2, 2, 63, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-07-1', 0, 'D2-063-07-1', 0, 1, 2, 2, 63, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-07-2', 0, 'D2-063-07-2', 0, 1, 2, 2, 63, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-08-1', 0, 'D2-063-08-1', 0, 1, 2, 2, 63, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-08-2', 0, 'D2-063-08-2', 0, 1, 2, 2, 63, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-09-1', 0, 'D2-063-09-1', 0, 1, 2, 2, 63, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-09-2', 0, 'D2-063-09-2', 0, 1, 2, 2, 63, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-10-1', 0, 'D2-063-10-1', 0, 1, 2, 2, 63, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-10-2', 0, 'D2-063-10-2', 0, 1, 2, 2, 63, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-11-1', 0, 'D2-063-11-1', 0, 1, 2, 2, 63, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-11-2', 0, 'D2-063-11-2', 0, 1, 2, 2, 63, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-12-1', 0, 'D2-063-12-1', 0, 1, 2, 2, 63, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-12-2', 0, 'D2-063-12-2', 0, 1, 2, 2, 63, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-13-1', 0, 'D2-063-13-1', 0, 1, 2, 2, 63, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-13-2', 0, 'D2-063-13-2', 0, 1, 2, 2, 63, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-14-1', 0, 'D2-063-14-1', 0, 1, 2, 2, 63, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-14-2', 0, 'D2-063-14-2', 0, 1, 2, 2, 63, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-15-1', 0, 'D2-063-15-1', 0, 1, 2, 2, 63, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-063-15-2', 0, 'D2-063-15-2', 0, 1, 2, 2, 63, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-01-1', 0, 'D2-064-01-1', 0, 1, 2, 2, 64, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-01-2', 0, 'D2-064-01-2', 0, 1, 2, 2, 64, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-02-1', 0, 'D2-064-02-1', 0, 1, 2, 2, 64, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-02-2', 0, 'D2-064-02-2', 0, 1, 2, 2, 64, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-03-1', 0, 'D2-064-03-1', 0, 1, 2, 2, 64, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-03-2', 0, 'D2-064-03-2', 0, 1, 2, 2, 64, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-04-1', 0, 'D2-064-04-1', 0, 1, 2, 2, 64, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-04-2', 0, 'D2-064-04-2', 0, 1, 2, 2, 64, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-05-1', 0, 'D2-064-05-1', 0, 1, 2, 2, 64, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-05-2', 0, 'D2-064-05-2', 0, 1, 2, 2, 64, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-06-1', 0, 'D2-064-06-1', 0, 1, 2, 2, 64, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-06-2', 0, 'D2-064-06-2', 0, 1, 2, 2, 64, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-07-1', 0, 'D2-064-07-1', 0, 1, 2, 2, 64, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-07-2', 0, 'D2-064-07-2', 0, 1, 2, 2, 64, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-08-1', 0, 'D2-064-08-1', 0, 1, 2, 2, 64, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-08-2', 0, 'D2-064-08-2', 0, 1, 2, 2, 64, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-09-1', 0, 'D2-064-09-1', 0, 1, 2, 2, 64, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-09-2', 0, 'D2-064-09-2', 0, 1, 2, 2, 64, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-10-1', 0, 'D2-064-10-1', 0, 1, 2, 2, 64, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-10-2', 0, 'D2-064-10-2', 0, 1, 2, 2, 64, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-11-1', 0, 'D2-064-11-1', 0, 1, 2, 2, 64, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-11-2', 0, 'D2-064-11-2', 0, 1, 2, 2, 64, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-12-1', 0, 'D2-064-12-1', 0, 1, 2, 2, 64, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-12-2', 0, 'D2-064-12-2', 0, 1, 2, 2, 64, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-13-1', 0, 'D2-064-13-1', 0, 1, 2, 2, 64, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-13-2', 0, 'D2-064-13-2', 0, 1, 2, 2, 64, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-14-1', 0, 'D2-064-14-1', 0, 1, 2, 2, 64, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-14-2', 0, 'D2-064-14-2', 0, 1, 2, 2, 64, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-15-1', 0, 'D2-064-15-1', 0, 1, 2, 2, 64, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-064-15-2', 0, 'D2-064-15-2', 0, 1, 2, 2, 64, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-01-1', 0, 'D2-065-01-1', 0, 1, 2, 2, 65, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-01-2', 0, 'D2-065-01-2', 0, 1, 2, 2, 65, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-02-1', 0, 'D2-065-02-1', 0, 1, 2, 2, 65, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-02-2', 0, 'D2-065-02-2', 0, 1, 2, 2, 65, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-03-1', 0, 'D2-065-03-1', 0, 1, 2, 2, 65, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-03-2', 0, 'D2-065-03-2', 0, 1, 2, 2, 65, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-04-1', 0, 'D2-065-04-1', 0, 1, 2, 2, 65, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-04-2', 0, 'D2-065-04-2', 0, 1, 2, 2, 65, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-05-1', 0, 'D2-065-05-1', 0, 1, 2, 2, 65, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-05-2', 0, 'D2-065-05-2', 0, 1, 2, 2, 65, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-06-1', 0, 'D2-065-06-1', 0, 1, 2, 2, 65, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-06-2', 0, 'D2-065-06-2', 0, 1, 2, 2, 65, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-07-1', 0, 'D2-065-07-1', 0, 1, 2, 2, 65, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-07-2', 0, 'D2-065-07-2', 0, 1, 2, 2, 65, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-08-1', 0, 'D2-065-08-1', 0, 1, 2, 2, 65, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-08-2', 0, 'D2-065-08-2', 0, 1, 2, 2, 65, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-09-1', 0, 'D2-065-09-1', 0, 1, 2, 2, 65, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-09-2', 0, 'D2-065-09-2', 0, 1, 2, 2, 65, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-10-1', 0, 'D2-065-10-1', 0, 1, 2, 2, 65, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-10-2', 0, 'D2-065-10-2', 0, 1, 2, 2, 65, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-11-1', 0, 'D2-065-11-1', 0, 1, 2, 2, 65, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-11-2', 0, 'D2-065-11-2', 0, 1, 2, 2, 65, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-12-1', 0, 'D2-065-12-1', 0, 1, 2, 2, 65, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-12-2', 0, 'D2-065-12-2', 0, 1, 2, 2, 65, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-13-1', 0, 'D2-065-13-1', 0, 1, 2, 2, 65, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-13-2', 0, 'D2-065-13-2', 0, 1, 2, 2, 65, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-14-1', 0, 'D2-065-14-1', 0, 1, 2, 2, 65, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-14-2', 0, 'D2-065-14-2', 0, 1, 2, 2, 65, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-15-1', 0, 'D2-065-15-1', 0, 1, 2, 2, 65, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-065-15-2', 0, 'D2-065-15-2', 0, 1, 2, 2, 65, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-01-1', 0, 'D2-066-01-1', 0, 1, 2, 2, 66, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-01-2', 0, 'D2-066-01-2', 0, 1, 2, 2, 66, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-02-1', 0, 'D2-066-02-1', 0, 1, 2, 2, 66, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-02-2', 0, 'D2-066-02-2', 0, 1, 2, 2, 66, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-03-1', 0, 'D2-066-03-1', 0, 1, 2, 2, 66, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-03-2', 0, 'D2-066-03-2', 0, 1, 2, 2, 66, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-04-1', 0, 'D2-066-04-1', 0, 1, 2, 2, 66, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-04-2', 0, 'D2-066-04-2', 0, 1, 2, 2, 66, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-05-1', 0, 'D2-066-05-1', 0, 1, 2, 2, 66, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-05-2', 0, 'D2-066-05-2', 0, 1, 2, 2, 66, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-06-1', 0, 'D2-066-06-1', 0, 1, 2, 2, 66, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-06-2', 0, 'D2-066-06-2', 0, 1, 2, 2, 66, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-07-1', 0, 'D2-066-07-1', 0, 1, 2, 2, 66, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-07-2', 0, 'D2-066-07-2', 0, 1, 2, 2, 66, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-08-1', 0, 'D2-066-08-1', 0, 1, 2, 2, 66, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-08-2', 0, 'D2-066-08-2', 0, 1, 2, 2, 66, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-09-1', 0, 'D2-066-09-1', 0, 1, 2, 2, 66, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-09-2', 0, 'D2-066-09-2', 0, 1, 2, 2, 66, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-10-1', 0, 'D2-066-10-1', 0, 1, 2, 2, 66, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-10-2', 0, 'D2-066-10-2', 0, 1, 2, 2, 66, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-11-1', 0, 'D2-066-11-1', 0, 1, 2, 2, 66, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-11-2', 0, 'D2-066-11-2', 0, 1, 2, 2, 66, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-12-1', 0, 'D2-066-12-1', 0, 1, 2, 2, 66, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-12-2', 0, 'D2-066-12-2', 0, 1, 2, 2, 66, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-13-1', 0, 'D2-066-13-1', 0, 1, 2, 2, 66, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-13-2', 0, 'D2-066-13-2', 0, 1, 2, 2, 66, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-14-1', 0, 'D2-066-14-1', 0, 1, 2, 2, 66, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-14-2', 0, 'D2-066-14-2', 0, 1, 2, 2, 66, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-15-1', 0, 'D2-066-15-1', 0, 1, 2, 2, 66, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-066-15-2', 0, 'D2-066-15-2', 0, 1, 2, 2, 66, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-01-1', 0, 'D2-067-01-1', 0, 1, 2, 2, 67, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-01-2', 0, 'D2-067-01-2', 0, 1, 2, 2, 67, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-02-1', 0, 'D2-067-02-1', 0, 1, 2, 2, 67, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-02-2', 0, 'D2-067-02-2', 0, 1, 2, 2, 67, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-03-1', 0, 'D2-067-03-1', 0, 1, 2, 2, 67, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-03-2', 0, 'D2-067-03-2', 0, 1, 2, 2, 67, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-04-1', 0, 'D2-067-04-1', 0, 1, 2, 2, 67, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-04-2', 0, 'D2-067-04-2', 0, 1, 2, 2, 67, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-05-1', 0, 'D2-067-05-1', 0, 1, 2, 2, 67, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-05-2', 0, 'D2-067-05-2', 0, 1, 2, 2, 67, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-06-1', 0, 'D2-067-06-1', 0, 1, 2, 2, 67, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-06-2', 0, 'D2-067-06-2', 0, 1, 2, 2, 67, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-07-1', 0, 'D2-067-07-1', 0, 1, 2, 2, 67, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-07-2', 0, 'D2-067-07-2', 0, 1, 2, 2, 67, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-08-1', 0, 'D2-067-08-1', 0, 1, 2, 2, 67, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-08-2', 0, 'D2-067-08-2', 0, 1, 2, 2, 67, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-09-1', 0, 'D2-067-09-1', 0, 1, 2, 2, 67, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-09-2', 0, 'D2-067-09-2', 0, 1, 2, 2, 67, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-10-1', 0, 'D2-067-10-1', 0, 1, 2, 2, 67, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-10-2', 0, 'D2-067-10-2', 0, 1, 2, 2, 67, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-11-1', 0, 'D2-067-11-1', 0, 1, 2, 2, 67, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-11-2', 0, 'D2-067-11-2', 0, 1, 2, 2, 67, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-12-1', 0, 'D2-067-12-1', 0, 1, 2, 2, 67, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-12-2', 0, 'D2-067-12-2', 0, 1, 2, 2, 67, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-13-1', 0, 'D2-067-13-1', 0, 1, 2, 2, 67, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-13-2', 0, 'D2-067-13-2', 0, 1, 2, 2, 67, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-14-1', 0, 'D2-067-14-1', 0, 1, 2, 2, 67, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-14-2', 0, 'D2-067-14-2', 0, 1, 2, 2, 67, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-15-1', 0, 'D2-067-15-1', 0, 1, 2, 2, 67, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-067-15-2', 0, 'D2-067-15-2', 0, 1, 2, 2, 67, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-01-1', 0, 'D2-068-01-1', 0, 1, 2, 2, 68, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-01-2', 0, 'D2-068-01-2', 0, 1, 2, 2, 68, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-02-1', 0, 'D2-068-02-1', 0, 1, 2, 2, 68, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-02-2', 0, 'D2-068-02-2', 0, 1, 2, 2, 68, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-03-1', 0, 'D2-068-03-1', 0, 1, 2, 2, 68, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-03-2', 0, 'D2-068-03-2', 0, 1, 2, 2, 68, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-04-1', 0, 'D2-068-04-1', 0, 1, 2, 2, 68, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-04-2', 0, 'D2-068-04-2', 0, 1, 2, 2, 68, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-05-1', 0, 'D2-068-05-1', 0, 1, 2, 2, 68, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-05-2', 0, 'D2-068-05-2', 0, 1, 2, 2, 68, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-06-1', 0, 'D2-068-06-1', 0, 1, 2, 2, 68, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-06-2', 0, 'D2-068-06-2', 0, 1, 2, 2, 68, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-07-1', 0, 'D2-068-07-1', 0, 1, 2, 2, 68, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-07-2', 0, 'D2-068-07-2', 0, 1, 2, 2, 68, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-08-1', 0, 'D2-068-08-1', 0, 1, 2, 2, 68, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-08-2', 0, 'D2-068-08-2', 0, 1, 2, 2, 68, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-09-1', 0, 'D2-068-09-1', 0, 1, 2, 2, 68, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-09-2', 0, 'D2-068-09-2', 0, 1, 2, 2, 68, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-10-1', 0, 'D2-068-10-1', 0, 1, 2, 2, 68, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-10-2', 0, 'D2-068-10-2', 0, 1, 2, 2, 68, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-11-1', 0, 'D2-068-11-1', 0, 1, 2, 2, 68, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-11-2', 0, 'D2-068-11-2', 0, 1, 2, 2, 68, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-12-1', 0, 'D2-068-12-1', 0, 1, 2, 2, 68, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-12-2', 0, 'D2-068-12-2', 0, 1, 2, 2, 68, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-13-1', 0, 'D2-068-13-1', 0, 1, 2, 2, 68, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-13-2', 0, 'D2-068-13-2', 0, 1, 2, 2, 68, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-14-1', 0, 'D2-068-14-1', 0, 1, 2, 2, 68, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-14-2', 0, 'D2-068-14-2', 0, 1, 2, 2, 68, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-15-1', 0, 'D2-068-15-1', 0, 1, 2, 2, 68, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-068-15-2', 0, 'D2-068-15-2', 0, 1, 2, 2, 68, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-01-1', 0, 'D2-069-01-1', 0, 1, 2, 2, 69, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-01-2', 0, 'D2-069-01-2', 0, 1, 2, 2, 69, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-02-1', 0, 'D2-069-02-1', 0, 1, 2, 2, 69, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-02-2', 0, 'D2-069-02-2', 0, 1, 2, 2, 69, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-03-1', 0, 'D2-069-03-1', 0, 1, 2, 2, 69, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-03-2', 0, 'D2-069-03-2', 0, 1, 2, 2, 69, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-04-1', 0, 'D2-069-04-1', 0, 1, 2, 2, 69, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-04-2', 0, 'D2-069-04-2', 0, 1, 2, 2, 69, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-05-1', 0, 'D2-069-05-1', 0, 1, 2, 2, 69, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-05-2', 0, 'D2-069-05-2', 0, 1, 2, 2, 69, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-06-1', 0, 'D2-069-06-1', 0, 1, 2, 2, 69, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-06-2', 0, 'D2-069-06-2', 0, 1, 2, 2, 69, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-07-1', 0, 'D2-069-07-1', 0, 1, 2, 2, 69, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-07-2', 0, 'D2-069-07-2', 0, 1, 2, 2, 69, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-08-1', 0, 'D2-069-08-1', 0, 1, 2, 2, 69, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-08-2', 0, 'D2-069-08-2', 0, 1, 2, 2, 69, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-09-1', 0, 'D2-069-09-1', 0, 1, 2, 2, 69, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-09-2', 0, 'D2-069-09-2', 0, 1, 2, 2, 69, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-10-1', 0, 'D2-069-10-1', 0, 1, 2, 2, 69, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-10-2', 0, 'D2-069-10-2', 0, 1, 2, 2, 69, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-11-1', 0, 'D2-069-11-1', 0, 1, 2, 2, 69, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-11-2', 0, 'D2-069-11-2', 0, 1, 2, 2, 69, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-12-1', 0, 'D2-069-12-1', 0, 1, 2, 2, 69, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-12-2', 0, 'D2-069-12-2', 0, 1, 2, 2, 69, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-13-1', 0, 'D2-069-13-1', 0, 1, 2, 2, 69, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-13-2', 0, 'D2-069-13-2', 0, 1, 2, 2, 69, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-14-1', 0, 'D2-069-14-1', 0, 1, 2, 2, 69, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-14-2', 0, 'D2-069-14-2', 0, 1, 2, 2, 69, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-15-1', 0, 'D2-069-15-1', 0, 1, 2, 2, 69, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-069-15-2', 0, 'D2-069-15-2', 0, 1, 2, 2, 69, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-01-1', 0, 'D2-070-01-1', 0, 1, 2, 2, 70, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-01-2', 0, 'D2-070-01-2', 0, 1, 2, 2, 70, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-02-1', 0, 'D2-070-02-1', 0, 1, 2, 2, 70, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-02-2', 0, 'D2-070-02-2', 0, 1, 2, 2, 70, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-03-1', 0, 'D2-070-03-1', 0, 1, 2, 2, 70, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-03-2', 0, 'D2-070-03-2', 0, 1, 2, 2, 70, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-04-1', 0, 'D2-070-04-1', 0, 1, 2, 2, 70, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-04-2', 0, 'D2-070-04-2', 0, 1, 2, 2, 70, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-05-1', 0, 'D2-070-05-1', 0, 1, 2, 2, 70, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-05-2', 0, 'D2-070-05-2', 0, 1, 2, 2, 70, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-06-1', 0, 'D2-070-06-1', 0, 1, 2, 2, 70, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-06-2', 0, 'D2-070-06-2', 0, 1, 2, 2, 70, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-07-1', 0, 'D2-070-07-1', 0, 1, 2, 2, 70, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-07-2', 0, 'D2-070-07-2', 0, 1, 2, 2, 70, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-08-1', 0, 'D2-070-08-1', 0, 1, 2, 2, 70, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-08-2', 0, 'D2-070-08-2', 0, 1, 2, 2, 70, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-09-1', 0, 'D2-070-09-1', 0, 1, 2, 2, 70, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-09-2', 0, 'D2-070-09-2', 0, 1, 2, 2, 70, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-10-1', 0, 'D2-070-10-1', 0, 1, 2, 2, 70, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-10-2', 0, 'D2-070-10-2', 0, 1, 2, 2, 70, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-11-1', 0, 'D2-070-11-1', 0, 1, 2, 2, 70, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-11-2', 0, 'D2-070-11-2', 0, 1, 2, 2, 70, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-12-1', 0, 'D2-070-12-1', 0, 1, 2, 2, 70, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-12-2', 0, 'D2-070-12-2', 0, 1, 2, 2, 70, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-13-1', 0, 'D2-070-13-1', 0, 1, 2, 2, 70, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-13-2', 0, 'D2-070-13-2', 0, 1, 2, 2, 70, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-14-1', 0, 'D2-070-14-1', 0, 1, 2, 2, 70, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-14-2', 0, 'D2-070-14-2', 0, 1, 2, 2, 70, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-15-1', 0, 'D2-070-15-1', 0, 1, 2, 2, 70, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-070-15-2', 0, 'D2-070-15-2', 0, 1, 2, 2, 70, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-01-1', 0, 'D2-071-01-1', 0, 1, 2, 2, 71, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-01-2', 0, 'D2-071-01-2', 0, 1, 2, 2, 71, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-02-1', 0, 'D2-071-02-1', 0, 1, 2, 2, 71, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-02-2', 0, 'D2-071-02-2', 0, 1, 2, 2, 71, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-03-1', 0, 'D2-071-03-1', 0, 1, 2, 2, 71, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-03-2', 0, 'D2-071-03-2', 0, 1, 2, 2, 71, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-04-1', 0, 'D2-071-04-1', 0, 1, 2, 2, 71, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-04-2', 0, 'D2-071-04-2', 0, 1, 2, 2, 71, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-05-1', 0, 'D2-071-05-1', 0, 1, 2, 2, 71, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-05-2', 0, 'D2-071-05-2', 0, 1, 2, 2, 71, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-06-1', 0, 'D2-071-06-1', 0, 1, 2, 2, 71, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-06-2', 0, 'D2-071-06-2', 0, 1, 2, 2, 71, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-07-1', 0, 'D2-071-07-1', 0, 1, 2, 2, 71, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-07-2', 0, 'D2-071-07-2', 0, 1, 2, 2, 71, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-08-1', 0, 'D2-071-08-1', 0, 1, 2, 2, 71, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-08-2', 0, 'D2-071-08-2', 0, 1, 2, 2, 71, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-09-1', 0, 'D2-071-09-1', 0, 1, 2, 2, 71, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-09-2', 0, 'D2-071-09-2', 0, 1, 2, 2, 71, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-10-1', 0, 'D2-071-10-1', 0, 1, 2, 2, 71, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-10-2', 0, 'D2-071-10-2', 0, 1, 2, 2, 71, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-11-1', 0, 'D2-071-11-1', 0, 1, 2, 2, 71, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-11-2', 0, 'D2-071-11-2', 0, 1, 2, 2, 71, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-12-1', 0, 'D2-071-12-1', 0, 1, 2, 2, 71, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-12-2', 0, 'D2-071-12-2', 0, 1, 2, 2, 71, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-13-1', 0, 'D2-071-13-1', 0, 1, 2, 2, 71, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-13-2', 0, 'D2-071-13-2', 0, 1, 2, 2, 71, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-14-1', 0, 'D2-071-14-1', 0, 1, 2, 2, 71, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-14-2', 0, 'D2-071-14-2', 0, 1, 2, 2, 71, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-15-1', 0, 'D2-071-15-1', 0, 1, 2, 2, 71, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-071-15-2', 0, 'D2-071-15-2', 0, 1, 2, 2, 71, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-01-1', 0, 'D2-072-01-1', 0, 1, 2, 2, 72, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-01-2', 0, 'D2-072-01-2', 0, 1, 2, 2, 72, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-02-1', 0, 'D2-072-02-1', 0, 1, 2, 2, 72, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-02-2', 0, 'D2-072-02-2', 0, 1, 2, 2, 72, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-03-1', 0, 'D2-072-03-1', 0, 1, 2, 2, 72, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-03-2', 0, 'D2-072-03-2', 0, 1, 2, 2, 72, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-04-1', 0, 'D2-072-04-1', 0, 1, 2, 2, 72, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-04-2', 0, 'D2-072-04-2', 0, 1, 2, 2, 72, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-05-1', 0, 'D2-072-05-1', 0, 1, 2, 2, 72, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-05-2', 0, 'D2-072-05-2', 0, 1, 2, 2, 72, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-06-1', 0, 'D2-072-06-1', 0, 1, 2, 2, 72, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-06-2', 0, 'D2-072-06-2', 0, 1, 2, 2, 72, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-07-1', 0, 'D2-072-07-1', 0, 1, 2, 2, 72, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-07-2', 0, 'D2-072-07-2', 0, 1, 2, 2, 72, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-08-1', 0, 'D2-072-08-1', 0, 1, 2, 2, 72, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-08-2', 0, 'D2-072-08-2', 0, 1, 2, 2, 72, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-09-1', 0, 'D2-072-09-1', 0, 1, 2, 2, 72, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-09-2', 0, 'D2-072-09-2', 0, 1, 2, 2, 72, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-10-1', 0, 'D2-072-10-1', 0, 1, 2, 2, 72, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-10-2', 0, 'D2-072-10-2', 0, 1, 2, 2, 72, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-11-1', 0, 'D2-072-11-1', 0, 1, 2, 2, 72, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-11-2', 0, 'D2-072-11-2', 0, 1, 2, 2, 72, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-12-1', 0, 'D2-072-12-1', 0, 1, 2, 2, 72, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-12-2', 0, 'D2-072-12-2', 0, 1, 2, 2, 72, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-13-1', 0, 'D2-072-13-1', 0, 1, 2, 2, 72, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-13-2', 0, 'D2-072-13-2', 0, 1, 2, 2, 72, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-14-1', 0, 'D2-072-14-1', 0, 1, 2, 2, 72, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-14-2', 0, 'D2-072-14-2', 0, 1, 2, 2, 72, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-15-1', 0, 'D2-072-15-1', 0, 1, 2, 2, 72, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-072-15-2', 0, 'D2-072-15-2', 0, 1, 2, 2, 72, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-01-1', 0, 'D2-073-01-1', 0, 1, 2, 2, 73, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-01-2', 0, 'D2-073-01-2', 0, 1, 2, 2, 73, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-02-1', 0, 'D2-073-02-1', 0, 1, 2, 2, 73, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-02-2', 0, 'D2-073-02-2', 0, 1, 2, 2, 73, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-03-1', 0, 'D2-073-03-1', 0, 1, 2, 2, 73, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-03-2', 0, 'D2-073-03-2', 0, 1, 2, 2, 73, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-04-1', 0, 'D2-073-04-1', 0, 1, 2, 2, 73, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-04-2', 0, 'D2-073-04-2', 0, 1, 2, 2, 73, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-05-1', 0, 'D2-073-05-1', 0, 1, 2, 2, 73, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-05-2', 0, 'D2-073-05-2', 0, 1, 2, 2, 73, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-06-1', 0, 'D2-073-06-1', 0, 1, 2, 2, 73, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-06-2', 0, 'D2-073-06-2', 0, 1, 2, 2, 73, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-07-1', 0, 'D2-073-07-1', 0, 1, 2, 2, 73, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-07-2', 0, 'D2-073-07-2', 0, 1, 2, 2, 73, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-08-1', 0, 'D2-073-08-1', 0, 1, 2, 2, 73, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-08-2', 0, 'D2-073-08-2', 0, 1, 2, 2, 73, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-09-1', 0, 'D2-073-09-1', 0, 1, 2, 2, 73, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-09-2', 0, 'D2-073-09-2', 0, 1, 2, 2, 73, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-10-1', 0, 'D2-073-10-1', 0, 1, 2, 2, 73, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-10-2', 0, 'D2-073-10-2', 0, 1, 2, 2, 73, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-11-1', 0, 'D2-073-11-1', 0, 1, 2, 2, 73, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-11-2', 0, 'D2-073-11-2', 0, 1, 2, 2, 73, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-12-1', 0, 'D2-073-12-1', 0, 1, 2, 2, 73, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-12-2', 0, 'D2-073-12-2', 0, 1, 2, 2, 73, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-13-1', 0, 'D2-073-13-1', 0, 1, 2, 2, 73, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-13-2', 0, 'D2-073-13-2', 0, 1, 2, 2, 73, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-14-1', 0, 'D2-073-14-1', 0, 1, 2, 2, 73, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-14-2', 0, 'D2-073-14-2', 0, 1, 2, 2, 73, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-15-1', 0, 'D2-073-15-1', 0, 1, 2, 2, 73, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-073-15-2', 0, 'D2-073-15-2', 0, 1, 2, 2, 73, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-01-1', 0, 'D2-074-01-1', 0, 1, 2, 2, 74, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-01-2', 0, 'D2-074-01-2', 0, 1, 2, 2, 74, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-02-1', 0, 'D2-074-02-1', 0, 1, 2, 2, 74, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-02-2', 0, 'D2-074-02-2', 0, 1, 2, 2, 74, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-03-1', 0, 'D2-074-03-1', 0, 1, 2, 2, 74, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-03-2', 0, 'D2-074-03-2', 0, 1, 2, 2, 74, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-04-1', 0, 'D2-074-04-1', 0, 1, 2, 2, 74, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-04-2', 0, 'D2-074-04-2', 0, 1, 2, 2, 74, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-05-1', 0, 'D2-074-05-1', 0, 1, 2, 2, 74, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-05-2', 0, 'D2-074-05-2', 0, 1, 2, 2, 74, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-06-1', 0, 'D2-074-06-1', 0, 1, 2, 2, 74, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-06-2', 0, 'D2-074-06-2', 0, 1, 2, 2, 74, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-07-1', 0, 'D2-074-07-1', 0, 1, 2, 2, 74, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-07-2', 0, 'D2-074-07-2', 0, 1, 2, 2, 74, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-08-1', 0, 'D2-074-08-1', 0, 1, 2, 2, 74, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-08-2', 0, 'D2-074-08-2', 0, 1, 2, 2, 74, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-09-1', 0, 'D2-074-09-1', 0, 1, 2, 2, 74, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-09-2', 0, 'D2-074-09-2', 0, 1, 2, 2, 74, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-10-1', 0, 'D2-074-10-1', 0, 1, 2, 2, 74, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-10-2', 0, 'D2-074-10-2', 0, 1, 2, 2, 74, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-11-1', 0, 'D2-074-11-1', 0, 1, 2, 2, 74, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-11-2', 0, 'D2-074-11-2', 0, 1, 2, 2, 74, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-12-1', 0, 'D2-074-12-1', 0, 1, 2, 2, 74, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-12-2', 0, 'D2-074-12-2', 0, 1, 2, 2, 74, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-13-1', 0, 'D2-074-13-1', 0, 1, 2, 2, 74, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-13-2', 0, 'D2-074-13-2', 0, 1, 2, 2, 74, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-14-1', 0, 'D2-074-14-1', 0, 1, 2, 2, 74, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-14-2', 0, 'D2-074-14-2', 0, 1, 2, 2, 74, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-15-1', 0, 'D2-074-15-1', 0, 1, 2, 2, 74, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-074-15-2', 0, 'D2-074-15-2', 0, 1, 2, 2, 74, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-01-1', 0, 'D2-075-01-1', 0, 1, 2, 2, 75, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-01-2', 0, 'D2-075-01-2', 0, 1, 2, 2, 75, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-02-1', 0, 'D2-075-02-1', 0, 1, 2, 2, 75, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-02-2', 0, 'D2-075-02-2', 0, 1, 2, 2, 75, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-03-1', 0, 'D2-075-03-1', 0, 1, 2, 2, 75, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-03-2', 0, 'D2-075-03-2', 0, 1, 2, 2, 75, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-04-1', 0, 'D2-075-04-1', 0, 1, 2, 2, 75, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-04-2', 0, 'D2-075-04-2', 0, 1, 2, 2, 75, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-05-1', 0, 'D2-075-05-1', 0, 1, 2, 2, 75, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-05-2', 0, 'D2-075-05-2', 0, 1, 2, 2, 75, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-06-1', 0, 'D2-075-06-1', 0, 1, 2, 2, 75, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-06-2', 0, 'D2-075-06-2', 0, 1, 2, 2, 75, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-07-1', 0, 'D2-075-07-1', 0, 1, 2, 2, 75, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-07-2', 0, 'D2-075-07-2', 0, 1, 2, 2, 75, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-08-1', 0, 'D2-075-08-1', 0, 1, 2, 2, 75, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-08-2', 0, 'D2-075-08-2', 0, 1, 2, 2, 75, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-09-1', 0, 'D2-075-09-1', 0, 1, 2, 2, 75, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-09-2', 0, 'D2-075-09-2', 0, 1, 2, 2, 75, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-10-1', 0, 'D2-075-10-1', 0, 1, 2, 2, 75, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-10-2', 0, 'D2-075-10-2', 0, 1, 2, 2, 75, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-11-1', 0, 'D2-075-11-1', 0, 1, 2, 2, 75, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-11-2', 0, 'D2-075-11-2', 0, 1, 2, 2, 75, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-12-1', 0, 'D2-075-12-1', 0, 1, 2, 2, 75, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-12-2', 0, 'D2-075-12-2', 0, 1, 2, 2, 75, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-13-1', 0, 'D2-075-13-1', 0, 1, 2, 2, 75, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-13-2', 0, 'D2-075-13-2', 0, 1, 2, 2, 75, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-14-1', 0, 'D2-075-14-1', 0, 1, 2, 2, 75, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-14-2', 0, 'D2-075-14-2', 0, 1, 2, 2, 75, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-15-1', 0, 'D2-075-15-1', 0, 1, 2, 2, 75, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-075-15-2', 0, 'D2-075-15-2', 0, 1, 2, 2, 75, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-01-1', 0, 'D2-076-01-1', 0, 1, 2, 2, 76, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-01-2', 0, 'D2-076-01-2', 0, 1, 2, 2, 76, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-02-1', 0, 'D2-076-02-1', 0, 1, 2, 2, 76, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-02-2', 0, 'D2-076-02-2', 0, 1, 2, 2, 76, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-03-1', 0, 'D2-076-03-1', 0, 1, 2, 2, 76, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-03-2', 0, 'D2-076-03-2', 0, 1, 2, 2, 76, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-04-1', 0, 'D2-076-04-1', 0, 1, 2, 2, 76, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-04-2', 0, 'D2-076-04-2', 0, 1, 2, 2, 76, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-05-1', 0, 'D2-076-05-1', 0, 1, 2, 2, 76, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-05-2', 0, 'D2-076-05-2', 0, 1, 2, 2, 76, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-06-1', 0, 'D2-076-06-1', 0, 1, 2, 2, 76, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-06-2', 0, 'D2-076-06-2', 0, 1, 2, 2, 76, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-07-1', 0, 'D2-076-07-1', 0, 1, 2, 2, 76, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-07-2', 0, 'D2-076-07-2', 0, 1, 2, 2, 76, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-08-1', 0, 'D2-076-08-1', 0, 1, 2, 2, 76, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-08-2', 0, 'D2-076-08-2', 0, 1, 2, 2, 76, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-09-1', 0, 'D2-076-09-1', 0, 1, 2, 2, 76, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-09-2', 0, 'D2-076-09-2', 0, 1, 2, 2, 76, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-10-1', 0, 'D2-076-10-1', 0, 1, 2, 2, 76, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-10-2', 0, 'D2-076-10-2', 0, 1, 2, 2, 76, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-11-1', 0, 'D2-076-11-1', 0, 1, 2, 2, 76, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-11-2', 0, 'D2-076-11-2', 0, 1, 2, 2, 76, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-12-1', 0, 'D2-076-12-1', 0, 1, 2, 2, 76, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-12-2', 0, 'D2-076-12-2', 0, 1, 2, 2, 76, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-13-1', 0, 'D2-076-13-1', 0, 1, 2, 2, 76, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-13-2', 0, 'D2-076-13-2', 0, 1, 2, 2, 76, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-14-1', 0, 'D2-076-14-1', 0, 1, 2, 2, 76, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-14-2', 0, 'D2-076-14-2', 0, 1, 2, 2, 76, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-15-1', 0, 'D2-076-15-1', 0, 1, 2, 2, 76, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-076-15-2', 0, 'D2-076-15-2', 0, 1, 2, 2, 76, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-01-1', 0, 'D2-077-01-1', 0, 1, 2, 2, 77, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-01-2', 0, 'D2-077-01-2', 0, 1, 2, 2, 77, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-02-1', 0, 'D2-077-02-1', 0, 1, 2, 2, 77, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-02-2', 0, 'D2-077-02-2', 0, 1, 2, 2, 77, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-03-1', 0, 'D2-077-03-1', 0, 1, 2, 2, 77, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-03-2', 0, 'D2-077-03-2', 0, 1, 2, 2, 77, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-04-1', 0, 'D2-077-04-1', 0, 1, 2, 2, 77, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-04-2', 0, 'D2-077-04-2', 0, 1, 2, 2, 77, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-05-1', 0, 'D2-077-05-1', 0, 1, 2, 2, 77, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-05-2', 0, 'D2-077-05-2', 0, 1, 2, 2, 77, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-06-1', 0, 'D2-077-06-1', 0, 1, 2, 2, 77, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-06-2', 0, 'D2-077-06-2', 0, 1, 2, 2, 77, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-07-1', 0, 'D2-077-07-1', 0, 1, 2, 2, 77, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-07-2', 0, 'D2-077-07-2', 0, 1, 2, 2, 77, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-08-1', 0, 'D2-077-08-1', 0, 1, 2, 2, 77, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-08-2', 0, 'D2-077-08-2', 0, 1, 2, 2, 77, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-09-1', 0, 'D2-077-09-1', 0, 1, 2, 2, 77, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-09-2', 0, 'D2-077-09-2', 0, 1, 2, 2, 77, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-10-1', 0, 'D2-077-10-1', 0, 1, 2, 2, 77, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-10-2', 0, 'D2-077-10-2', 0, 1, 2, 2, 77, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-11-1', 0, 'D2-077-11-1', 0, 1, 2, 2, 77, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-11-2', 0, 'D2-077-11-2', 0, 1, 2, 2, 77, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-12-1', 0, 'D2-077-12-1', 0, 1, 2, 2, 77, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-12-2', 0, 'D2-077-12-2', 0, 1, 2, 2, 77, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-13-1', 0, 'D2-077-13-1', 0, 1, 2, 2, 77, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-13-2', 0, 'D2-077-13-2', 0, 1, 2, 2, 77, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-14-1', 0, 'D2-077-14-1', 0, 1, 2, 2, 77, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-14-2', 0, 'D2-077-14-2', 0, 1, 2, 2, 77, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-15-1', 0, 'D2-077-15-1', 0, 1, 2, 2, 77, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-077-15-2', 0, 'D2-077-15-2', 0, 1, 2, 2, 77, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-01-1', 0, 'D2-078-01-1', 0, 1, 2, 2, 78, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-01-2', 0, 'D2-078-01-2', 0, 1, 2, 2, 78, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-02-1', 0, 'D2-078-02-1', 0, 1, 2, 2, 78, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-02-2', 0, 'D2-078-02-2', 0, 1, 2, 2, 78, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-03-1', 0, 'D2-078-03-1', 0, 1, 2, 2, 78, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-03-2', 0, 'D2-078-03-2', 0, 1, 2, 2, 78, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-04-1', 0, 'D2-078-04-1', 0, 1, 2, 2, 78, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-04-2', 0, 'D2-078-04-2', 0, 1, 2, 2, 78, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-05-1', 0, 'D2-078-05-1', 0, 1, 2, 2, 78, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-05-2', 0, 'D2-078-05-2', 0, 1, 2, 2, 78, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-06-1', 0, 'D2-078-06-1', 0, 1, 2, 2, 78, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-06-2', 0, 'D2-078-06-2', 0, 1, 2, 2, 78, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-07-1', 0, 'D2-078-07-1', 0, 1, 2, 2, 78, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-07-2', 0, 'D2-078-07-2', 0, 1, 2, 2, 78, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-08-1', 0, 'D2-078-08-1', 0, 1, 2, 2, 78, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-08-2', 0, 'D2-078-08-2', 0, 1, 2, 2, 78, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-09-1', 0, 'D2-078-09-1', 0, 1, 2, 2, 78, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-09-2', 0, 'D2-078-09-2', 0, 1, 2, 2, 78, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-10-1', 0, 'D2-078-10-1', 0, 1, 2, 2, 78, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-10-2', 0, 'D2-078-10-2', 0, 1, 2, 2, 78, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-11-1', 0, 'D2-078-11-1', 0, 1, 2, 2, 78, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-11-2', 0, 'D2-078-11-2', 0, 1, 2, 2, 78, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-12-1', 0, 'D2-078-12-1', 0, 1, 2, 2, 78, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-12-2', 0, 'D2-078-12-2', 0, 1, 2, 2, 78, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-13-1', 0, 'D2-078-13-1', 0, 1, 2, 2, 78, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-13-2', 0, 'D2-078-13-2', 0, 1, 2, 2, 78, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-14-1', 0, 'D2-078-14-1', 0, 1, 2, 2, 78, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-14-2', 0, 'D2-078-14-2', 0, 1, 2, 2, 78, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-15-1', 0, 'D2-078-15-1', 0, 1, 2, 2, 78, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-078-15-2', 0, 'D2-078-15-2', 0, 1, 2, 2, 78, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-01-1', 0, 'D2-079-01-1', 0, 1, 2, 2, 79, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-01-2', 0, 'D2-079-01-2', 0, 1, 2, 2, 79, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-02-1', 0, 'D2-079-02-1', 0, 1, 2, 2, 79, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-02-2', 0, 'D2-079-02-2', 0, 1, 2, 2, 79, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-03-1', 0, 'D2-079-03-1', 0, 1, 2, 2, 79, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-03-2', 0, 'D2-079-03-2', 0, 1, 2, 2, 79, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-04-1', 0, 'D2-079-04-1', 0, 1, 2, 2, 79, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-04-2', 0, 'D2-079-04-2', 0, 1, 2, 2, 79, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-05-1', 0, 'D2-079-05-1', 0, 1, 2, 2, 79, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-05-2', 0, 'D2-079-05-2', 0, 1, 2, 2, 79, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-06-1', 0, 'D2-079-06-1', 0, 1, 2, 2, 79, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-06-2', 0, 'D2-079-06-2', 0, 1, 2, 2, 79, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-07-1', 0, 'D2-079-07-1', 0, 1, 2, 2, 79, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-07-2', 0, 'D2-079-07-2', 0, 1, 2, 2, 79, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-08-1', 0, 'D2-079-08-1', 0, 1, 2, 2, 79, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-08-2', 0, 'D2-079-08-2', 0, 1, 2, 2, 79, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-09-1', 0, 'D2-079-09-1', 0, 1, 2, 2, 79, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-09-2', 0, 'D2-079-09-2', 0, 1, 2, 2, 79, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-10-1', 0, 'D2-079-10-1', 0, 1, 2, 2, 79, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-10-2', 0, 'D2-079-10-2', 0, 1, 2, 2, 79, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-11-1', 0, 'D2-079-11-1', 0, 1, 2, 2, 79, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-11-2', 0, 'D2-079-11-2', 0, 1, 2, 2, 79, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-12-1', 0, 'D2-079-12-1', 0, 1, 2, 2, 79, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-12-2', 0, 'D2-079-12-2', 0, 1, 2, 2, 79, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-13-1', 0, 'D2-079-13-1', 0, 1, 2, 2, 79, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-13-2', 0, 'D2-079-13-2', 0, 1, 2, 2, 79, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-14-1', 0, 'D2-079-14-1', 0, 1, 2, 2, 79, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-14-2', 0, 'D2-079-14-2', 0, 1, 2, 2, 79, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-15-1', 0, 'D2-079-15-1', 0, 1, 2, 2, 79, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-079-15-2', 0, 'D2-079-15-2', 0, 1, 2, 2, 79, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-01-1', 0, 'D2-080-01-1', 0, 1, 2, 2, 80, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-01-2', 0, 'D2-080-01-2', 0, 1, 2, 2, 80, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-02-1', 0, 'D2-080-02-1', 0, 1, 2, 2, 80, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-02-2', 0, 'D2-080-02-2', 0, 1, 2, 2, 80, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-03-1', 0, 'D2-080-03-1', 0, 1, 2, 2, 80, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-03-2', 0, 'D2-080-03-2', 0, 1, 2, 2, 80, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-04-1', 0, 'D2-080-04-1', 0, 1, 2, 2, 80, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-04-2', 0, 'D2-080-04-2', 0, 1, 2, 2, 80, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-05-1', 0, 'D2-080-05-1', 0, 1, 2, 2, 80, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-05-2', 0, 'D2-080-05-2', 0, 1, 2, 2, 80, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-06-1', 0, 'D2-080-06-1', 0, 1, 2, 2, 80, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-06-2', 0, 'D2-080-06-2', 0, 1, 2, 2, 80, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-07-1', 0, 'D2-080-07-1', 0, 1, 2, 2, 80, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-07-2', 0, 'D2-080-07-2', 0, 1, 2, 2, 80, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-08-1', 0, 'D2-080-08-1', 0, 1, 2, 2, 80, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-08-2', 0, 'D2-080-08-2', 0, 1, 2, 2, 80, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-09-1', 0, 'D2-080-09-1', 0, 1, 2, 2, 80, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-09-2', 0, 'D2-080-09-2', 0, 1, 2, 2, 80, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-10-1', 0, 'D2-080-10-1', 0, 1, 2, 2, 80, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-10-2', 0, 'D2-080-10-2', 0, 1, 2, 2, 80, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-11-1', 0, 'D2-080-11-1', 0, 1, 2, 2, 80, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-11-2', 0, 'D2-080-11-2', 0, 1, 2, 2, 80, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-12-1', 0, 'D2-080-12-1', 0, 1, 2, 2, 80, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-12-2', 0, 'D2-080-12-2', 0, 1, 2, 2, 80, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-13-1', 0, 'D2-080-13-1', 0, 1, 2, 2, 80, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-13-2', 0, 'D2-080-13-2', 0, 1, 2, 2, 80, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-14-1', 0, 'D2-080-14-1', 0, 1, 2, 2, 80, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-14-2', 0, 'D2-080-14-2', 0, 1, 2, 2, 80, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-15-1', 0, 'D2-080-15-1', 0, 1, 2, 2, 80, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-080-15-2', 0, 'D2-080-15-2', 0, 1, 2, 2, 80, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-01-1', 0, 'D2-081-01-1', 0, 1, 2, 2, 81, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-01-2', 0, 'D2-081-01-2', 0, 1, 2, 2, 81, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-02-1', 0, 'D2-081-02-1', 0, 1, 2, 2, 81, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-02-2', 0, 'D2-081-02-2', 0, 1, 2, 2, 81, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-03-1', 0, 'D2-081-03-1', 0, 1, 2, 2, 81, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-03-2', 0, 'D2-081-03-2', 0, 1, 2, 2, 81, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-04-1', 0, 'D2-081-04-1', 0, 1, 2, 2, 81, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-04-2', 0, 'D2-081-04-2', 0, 1, 2, 2, 81, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-05-1', 0, 'D2-081-05-1', 0, 1, 2, 2, 81, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-05-2', 0, 'D2-081-05-2', 0, 1, 2, 2, 81, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-06-1', 0, 'D2-081-06-1', 0, 1, 2, 2, 81, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-06-2', 0, 'D2-081-06-2', 0, 1, 2, 2, 81, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-07-1', 0, 'D2-081-07-1', 0, 1, 2, 2, 81, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-07-2', 0, 'D2-081-07-2', 0, 1, 2, 2, 81, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-08-1', 0, 'D2-081-08-1', 0, 1, 2, 2, 81, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-08-2', 0, 'D2-081-08-2', 0, 1, 2, 2, 81, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-09-1', 0, 'D2-081-09-1', 0, 1, 2, 2, 81, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-09-2', 0, 'D2-081-09-2', 0, 1, 2, 2, 81, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-10-1', 0, 'D2-081-10-1', 0, 1, 2, 2, 81, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-10-2', 0, 'D2-081-10-2', 0, 1, 2, 2, 81, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-11-1', 0, 'D2-081-11-1', 0, 1, 2, 2, 81, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-11-2', 0, 'D2-081-11-2', 0, 1, 2, 2, 81, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-12-1', 0, 'D2-081-12-1', 0, 1, 2, 2, 81, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-12-2', 0, 'D2-081-12-2', 0, 1, 2, 2, 81, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-13-1', 0, 'D2-081-13-1', 0, 1, 2, 2, 81, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-13-2', 0, 'D2-081-13-2', 0, 1, 2, 2, 81, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-14-1', 0, 'D2-081-14-1', 0, 1, 2, 2, 81, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-14-2', 0, 'D2-081-14-2', 0, 1, 2, 2, 81, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-15-1', 0, 'D2-081-15-1', 0, 1, 2, 2, 81, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-081-15-2', 0, 'D2-081-15-2', 0, 1, 2, 2, 81, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-01-1', 0, 'D2-082-01-1', 0, 1, 2, 2, 82, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-01-2', 0, 'D2-082-01-2', 0, 1, 2, 2, 82, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-02-1', 0, 'D2-082-02-1', 0, 1, 2, 2, 82, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-02-2', 0, 'D2-082-02-2', 0, 1, 2, 2, 82, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-03-1', 0, 'D2-082-03-1', 0, 1, 2, 2, 82, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-03-2', 0, 'D2-082-03-2', 0, 1, 2, 2, 82, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-04-1', 0, 'D2-082-04-1', 0, 1, 2, 2, 82, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-04-2', 0, 'D2-082-04-2', 0, 1, 2, 2, 82, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-05-1', 0, 'D2-082-05-1', 0, 1, 2, 2, 82, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-05-2', 0, 'D2-082-05-2', 0, 1, 2, 2, 82, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-06-1', 0, 'D2-082-06-1', 0, 1, 2, 2, 82, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-06-2', 0, 'D2-082-06-2', 0, 1, 2, 2, 82, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-07-1', 0, 'D2-082-07-1', 0, 1, 2, 2, 82, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-07-2', 0, 'D2-082-07-2', 0, 1, 2, 2, 82, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-08-1', 0, 'D2-082-08-1', 0, 1, 2, 2, 82, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-08-2', 0, 'D2-082-08-2', 0, 1, 2, 2, 82, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-09-1', 0, 'D2-082-09-1', 0, 1, 2, 2, 82, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-09-2', 0, 'D2-082-09-2', 0, 1, 2, 2, 82, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-10-1', 0, 'D2-082-10-1', 0, 1, 2, 2, 82, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-10-2', 0, 'D2-082-10-2', 0, 1, 2, 2, 82, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-11-1', 0, 'D2-082-11-1', 0, 1, 2, 2, 82, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-11-2', 0, 'D2-082-11-2', 0, 1, 2, 2, 82, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-12-1', 0, 'D2-082-12-1', 0, 1, 2, 2, 82, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-12-2', 0, 'D2-082-12-2', 0, 1, 2, 2, 82, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-13-1', 0, 'D2-082-13-1', 0, 1, 2, 2, 82, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-13-2', 0, 'D2-082-13-2', 0, 1, 2, 2, 82, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-14-1', 0, 'D2-082-14-1', 0, 1, 2, 2, 82, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-14-2', 0, 'D2-082-14-2', 0, 1, 2, 2, 82, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-15-1', 0, 'D2-082-15-1', 0, 1, 2, 2, 82, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-082-15-2', 0, 'D2-082-15-2', 0, 1, 2, 2, 82, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-01-1', 0, 'D2-083-01-1', 0, 1, 2, 2, 83, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-01-2', 0, 'D2-083-01-2', 0, 1, 2, 2, 83, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-02-1', 0, 'D2-083-02-1', 0, 1, 2, 2, 83, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-02-2', 0, 'D2-083-02-2', 0, 1, 2, 2, 83, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-03-1', 0, 'D2-083-03-1', 0, 1, 2, 2, 83, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-03-2', 0, 'D2-083-03-2', 0, 1, 2, 2, 83, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-04-1', 0, 'D2-083-04-1', 0, 1, 2, 2, 83, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-04-2', 0, 'D2-083-04-2', 0, 1, 2, 2, 83, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-05-1', 0, 'D2-083-05-1', 0, 1, 2, 2, 83, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-05-2', 0, 'D2-083-05-2', 0, 1, 2, 2, 83, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-06-1', 0, 'D2-083-06-1', 0, 1, 2, 2, 83, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-06-2', 0, 'D2-083-06-2', 0, 1, 2, 2, 83, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-07-1', 0, 'D2-083-07-1', 0, 1, 2, 2, 83, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-07-2', 0, 'D2-083-07-2', 0, 1, 2, 2, 83, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-08-1', 0, 'D2-083-08-1', 0, 1, 2, 2, 83, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-08-2', 0, 'D2-083-08-2', 0, 1, 2, 2, 83, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-09-1', 0, 'D2-083-09-1', 0, 1, 2, 2, 83, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-09-2', 0, 'D2-083-09-2', 0, 1, 2, 2, 83, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-10-1', 0, 'D2-083-10-1', 0, 1, 2, 2, 83, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-10-2', 0, 'D2-083-10-2', 0, 1, 2, 2, 83, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-11-1', 0, 'D2-083-11-1', 0, 1, 2, 2, 83, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-11-2', 0, 'D2-083-11-2', 0, 1, 2, 2, 83, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-12-1', 0, 'D2-083-12-1', 0, 1, 2, 2, 83, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-12-2', 0, 'D2-083-12-2', 0, 1, 2, 2, 83, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-13-1', 0, 'D2-083-13-1', 0, 1, 2, 2, 83, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-13-2', 0, 'D2-083-13-2', 0, 1, 2, 2, 83, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-14-1', 0, 'D2-083-14-1', 0, 1, 2, 2, 83, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-14-2', 0, 'D2-083-14-2', 0, 1, 2, 2, 83, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-15-1', 0, 'D2-083-15-1', 0, 1, 2, 2, 83, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-083-15-2', 0, 'D2-083-15-2', 0, 1, 2, 2, 83, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-01-1', 0, 'D2-084-01-1', 0, 1, 2, 2, 84, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-01-2', 0, 'D2-084-01-2', 0, 1, 2, 2, 84, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-02-1', 0, 'D2-084-02-1', 0, 1, 2, 2, 84, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-02-2', 0, 'D2-084-02-2', 0, 1, 2, 2, 84, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-03-1', 0, 'D2-084-03-1', 0, 1, 2, 2, 84, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-03-2', 0, 'D2-084-03-2', 0, 1, 2, 2, 84, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-04-1', 0, 'D2-084-04-1', 0, 1, 2, 2, 84, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-04-2', 0, 'D2-084-04-2', 0, 1, 2, 2, 84, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-05-1', 0, 'D2-084-05-1', 0, 1, 2, 2, 84, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-05-2', 0, 'D2-084-05-2', 0, 1, 2, 2, 84, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-06-1', 0, 'D2-084-06-1', 0, 1, 2, 2, 84, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-06-2', 0, 'D2-084-06-2', 0, 1, 2, 2, 84, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-07-1', 0, 'D2-084-07-1', 0, 1, 2, 2, 84, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-07-2', 0, 'D2-084-07-2', 0, 1, 2, 2, 84, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-08-1', 0, 'D2-084-08-1', 0, 1, 2, 2, 84, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-08-2', 0, 'D2-084-08-2', 0, 1, 2, 2, 84, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-09-1', 0, 'D2-084-09-1', 0, 1, 2, 2, 84, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-09-2', 0, 'D2-084-09-2', 0, 1, 2, 2, 84, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-10-1', 0, 'D2-084-10-1', 0, 1, 2, 2, 84, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-10-2', 0, 'D2-084-10-2', 0, 1, 2, 2, 84, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-11-1', 0, 'D2-084-11-1', 0, 1, 2, 2, 84, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-11-2', 0, 'D2-084-11-2', 0, 1, 2, 2, 84, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-12-1', 0, 'D2-084-12-1', 0, 1, 2, 2, 84, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-12-2', 0, 'D2-084-12-2', 0, 1, 2, 2, 84, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-13-1', 0, 'D2-084-13-1', 0, 1, 2, 2, 84, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-13-2', 0, 'D2-084-13-2', 0, 1, 2, 2, 84, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-14-1', 0, 'D2-084-14-1', 0, 1, 2, 2, 84, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-14-2', 0, 'D2-084-14-2', 0, 1, 2, 2, 84, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-15-1', 0, 'D2-084-15-1', 0, 1, 2, 2, 84, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-084-15-2', 0, 'D2-084-15-2', 0, 1, 2, 2, 84, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-01-1', 0, 'D2-085-01-1', 0, 1, 2, 2, 85, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-01-2', 0, 'D2-085-01-2', 0, 1, 2, 2, 85, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-02-1', 0, 'D2-085-02-1', 0, 1, 2, 2, 85, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-02-2', 0, 'D2-085-02-2', 0, 1, 2, 2, 85, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-03-1', 0, 'D2-085-03-1', 0, 1, 2, 2, 85, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-03-2', 0, 'D2-085-03-2', 0, 1, 2, 2, 85, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-04-1', 0, 'D2-085-04-1', 0, 1, 2, 2, 85, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-04-2', 0, 'D2-085-04-2', 0, 1, 2, 2, 85, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-05-1', 0, 'D2-085-05-1', 0, 1, 2, 2, 85, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-05-2', 0, 'D2-085-05-2', 0, 1, 2, 2, 85, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-06-1', 0, 'D2-085-06-1', 0, 1, 2, 2, 85, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-06-2', 0, 'D2-085-06-2', 0, 1, 2, 2, 85, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-07-1', 0, 'D2-085-07-1', 0, 1, 2, 2, 85, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-07-2', 0, 'D2-085-07-2', 0, 1, 2, 2, 85, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-08-1', 0, 'D2-085-08-1', 0, 1, 2, 2, 85, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-08-2', 0, 'D2-085-08-2', 0, 1, 2, 2, 85, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-09-1', 0, 'D2-085-09-1', 0, 1, 2, 2, 85, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-09-2', 0, 'D2-085-09-2', 0, 1, 2, 2, 85, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-10-1', 0, 'D2-085-10-1', 0, 1, 2, 2, 85, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-10-2', 0, 'D2-085-10-2', 0, 1, 2, 2, 85, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-11-1', 0, 'D2-085-11-1', 0, 1, 2, 2, 85, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-11-2', 0, 'D2-085-11-2', 0, 1, 2, 2, 85, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-12-1', 0, 'D2-085-12-1', 0, 1, 2, 2, 85, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-12-2', 0, 'D2-085-12-2', 0, 1, 2, 2, 85, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-13-1', 0, 'D2-085-13-1', 0, 1, 2, 2, 85, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-13-2', 0, 'D2-085-13-2', 0, 1, 2, 2, 85, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-14-1', 0, 'D2-085-14-1', 0, 1, 2, 2, 85, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-14-2', 0, 'D2-085-14-2', 0, 1, 2, 2, 85, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-15-1', 0, 'D2-085-15-1', 0, 1, 2, 2, 85, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-085-15-2', 0, 'D2-085-15-2', 0, 1, 2, 2, 85, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-01-1', 0, 'D2-086-01-1', 0, 1, 2, 2, 86, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-01-2', 0, 'D2-086-01-2', 0, 1, 2, 2, 86, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-02-1', 0, 'D2-086-02-1', 0, 1, 2, 2, 86, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-02-2', 0, 'D2-086-02-2', 0, 1, 2, 2, 86, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-03-1', 0, 'D2-086-03-1', 0, 1, 2, 2, 86, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-03-2', 0, 'D2-086-03-2', 0, 1, 2, 2, 86, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-04-1', 0, 'D2-086-04-1', 0, 1, 2, 2, 86, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-04-2', 0, 'D2-086-04-2', 0, 1, 2, 2, 86, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-05-1', 0, 'D2-086-05-1', 0, 1, 2, 2, 86, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-05-2', 0, 'D2-086-05-2', 0, 1, 2, 2, 86, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-06-1', 0, 'D2-086-06-1', 0, 1, 2, 2, 86, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-06-2', 0, 'D2-086-06-2', 0, 1, 2, 2, 86, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-07-1', 0, 'D2-086-07-1', 0, 1, 2, 2, 86, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-07-2', 0, 'D2-086-07-2', 0, 1, 2, 2, 86, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-08-1', 0, 'D2-086-08-1', 0, 1, 2, 2, 86, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-08-2', 0, 'D2-086-08-2', 0, 1, 2, 2, 86, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-09-1', 0, 'D2-086-09-1', 0, 1, 2, 2, 86, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-09-2', 0, 'D2-086-09-2', 0, 1, 2, 2, 86, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-10-1', 0, 'D2-086-10-1', 0, 1, 2, 2, 86, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-10-2', 0, 'D2-086-10-2', 0, 1, 2, 2, 86, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-11-1', 0, 'D2-086-11-1', 0, 1, 2, 2, 86, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-11-2', 0, 'D2-086-11-2', 0, 1, 2, 2, 86, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-12-1', 0, 'D2-086-12-1', 0, 1, 2, 2, 86, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-12-2', 0, 'D2-086-12-2', 0, 1, 2, 2, 86, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-13-1', 0, 'D2-086-13-1', 0, 1, 2, 2, 86, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-13-2', 0, 'D2-086-13-2', 0, 1, 2, 2, 86, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-14-1', 0, 'D2-086-14-1', 0, 1, 2, 2, 86, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-14-2', 0, 'D2-086-14-2', 0, 1, 2, 2, 86, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-15-1', 0, 'D2-086-15-1', 0, 1, 2, 2, 86, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-086-15-2', 0, 'D2-086-15-2', 0, 1, 2, 2, 86, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-01-1', 0, 'D2-087-01-1', 0, 1, 2, 2, 87, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-01-2', 0, 'D2-087-01-2', 0, 1, 2, 2, 87, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-02-1', 0, 'D2-087-02-1', 0, 1, 2, 2, 87, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-02-2', 0, 'D2-087-02-2', 0, 1, 2, 2, 87, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-03-1', 0, 'D2-087-03-1', 0, 1, 2, 2, 87, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-03-2', 0, 'D2-087-03-2', 0, 1, 2, 2, 87, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-04-1', 0, 'D2-087-04-1', 0, 1, 2, 2, 87, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-04-2', 0, 'D2-087-04-2', 0, 1, 2, 2, 87, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-05-1', 0, 'D2-087-05-1', 0, 1, 2, 2, 87, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-05-2', 0, 'D2-087-05-2', 0, 1, 2, 2, 87, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-06-1', 0, 'D2-087-06-1', 0, 1, 2, 2, 87, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-06-2', 0, 'D2-087-06-2', 0, 1, 2, 2, 87, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-07-1', 0, 'D2-087-07-1', 0, 1, 2, 2, 87, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-07-2', 0, 'D2-087-07-2', 0, 1, 2, 2, 87, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-08-1', 0, 'D2-087-08-1', 0, 1, 2, 2, 87, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-08-2', 0, 'D2-087-08-2', 0, 1, 2, 2, 87, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-09-1', 0, 'D2-087-09-1', 0, 1, 2, 2, 87, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-09-2', 0, 'D2-087-09-2', 0, 1, 2, 2, 87, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-10-1', 0, 'D2-087-10-1', 0, 1, 2, 2, 87, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-10-2', 0, 'D2-087-10-2', 0, 1, 2, 2, 87, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-11-1', 0, 'D2-087-11-1', 0, 1, 2, 2, 87, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-11-2', 0, 'D2-087-11-2', 0, 1, 2, 2, 87, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-12-1', 0, 'D2-087-12-1', 0, 1, 2, 2, 87, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-12-2', 0, 'D2-087-12-2', 0, 1, 2, 2, 87, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-13-1', 0, 'D2-087-13-1', 0, 1, 2, 2, 87, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-13-2', 0, 'D2-087-13-2', 0, 1, 2, 2, 87, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-14-1', 0, 'D2-087-14-1', 0, 1, 2, 2, 87, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-14-2', 0, 'D2-087-14-2', 0, 1, 2, 2, 87, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-15-1', 0, 'D2-087-15-1', 0, 1, 2, 2, 87, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-087-15-2', 0, 'D2-087-15-2', 0, 1, 2, 2, 87, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-01-1', 0, 'D2-088-01-1', 0, 1, 2, 2, 88, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-01-2', 0, 'D2-088-01-2', 0, 1, 2, 2, 88, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-02-1', 0, 'D2-088-02-1', 0, 1, 2, 2, 88, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-02-2', 0, 'D2-088-02-2', 0, 1, 2, 2, 88, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-03-1', 0, 'D2-088-03-1', 0, 1, 2, 2, 88, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-03-2', 0, 'D2-088-03-2', 0, 1, 2, 2, 88, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-04-1', 0, 'D2-088-04-1', 0, 1, 2, 2, 88, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-04-2', 0, 'D2-088-04-2', 0, 1, 2, 2, 88, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-05-1', 0, 'D2-088-05-1', 0, 1, 2, 2, 88, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-05-2', 0, 'D2-088-05-2', 0, 1, 2, 2, 88, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-06-1', 0, 'D2-088-06-1', 0, 1, 2, 2, 88, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-06-2', 0, 'D2-088-06-2', 0, 1, 2, 2, 88, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-07-1', 0, 'D2-088-07-1', 0, 1, 2, 2, 88, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-07-2', 0, 'D2-088-07-2', 0, 1, 2, 2, 88, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-08-1', 0, 'D2-088-08-1', 0, 1, 2, 2, 88, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-08-2', 0, 'D2-088-08-2', 0, 1, 2, 2, 88, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-09-1', 0, 'D2-088-09-1', 0, 1, 2, 2, 88, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-09-2', 0, 'D2-088-09-2', 0, 1, 2, 2, 88, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-10-1', 0, 'D2-088-10-1', 0, 1, 2, 2, 88, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-10-2', 0, 'D2-088-10-2', 0, 1, 2, 2, 88, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-11-1', 0, 'D2-088-11-1', 0, 1, 2, 2, 88, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-11-2', 0, 'D2-088-11-2', 0, 1, 2, 2, 88, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-12-1', 0, 'D2-088-12-1', 0, 1, 2, 2, 88, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-12-2', 0, 'D2-088-12-2', 0, 1, 2, 2, 88, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-13-1', 0, 'D2-088-13-1', 0, 1, 2, 2, 88, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-13-2', 0, 'D2-088-13-2', 0, 1, 2, 2, 88, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-14-1', 0, 'D2-088-14-1', 0, 1, 2, 2, 88, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-14-2', 0, 'D2-088-14-2', 0, 1, 2, 2, 88, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-15-1', 0, 'D2-088-15-1', 0, 1, 2, 2, 88, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-088-15-2', 0, 'D2-088-15-2', 0, 1, 2, 2, 88, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-01-1', 0, 'D2-089-01-1', 0, 1, 2, 2, 89, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-01-2', 0, 'D2-089-01-2', 0, 1, 2, 2, 89, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-02-1', 0, 'D2-089-02-1', 0, 1, 2, 2, 89, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-02-2', 0, 'D2-089-02-2', 0, 1, 2, 2, 89, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-03-1', 0, 'D2-089-03-1', 0, 1, 2, 2, 89, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-03-2', 0, 'D2-089-03-2', 0, 1, 2, 2, 89, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-04-1', 0, 'D2-089-04-1', 0, 1, 2, 2, 89, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-04-2', 0, 'D2-089-04-2', 0, 1, 2, 2, 89, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-05-1', 0, 'D2-089-05-1', 0, 1, 2, 2, 89, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-05-2', 0, 'D2-089-05-2', 0, 1, 2, 2, 89, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-06-1', 0, 'D2-089-06-1', 0, 1, 2, 2, 89, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-06-2', 0, 'D2-089-06-2', 0, 1, 2, 2, 89, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-07-1', 0, 'D2-089-07-1', 0, 1, 2, 2, 89, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-07-2', 0, 'D2-089-07-2', 0, 1, 2, 2, 89, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-08-1', 0, 'D2-089-08-1', 0, 1, 2, 2, 89, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-08-2', 0, 'D2-089-08-2', 0, 1, 2, 2, 89, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-09-1', 0, 'D2-089-09-1', 0, 1, 2, 2, 89, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-09-2', 0, 'D2-089-09-2', 0, 1, 2, 2, 89, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-10-1', 0, 'D2-089-10-1', 0, 1, 2, 2, 89, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-10-2', 0, 'D2-089-10-2', 0, 1, 2, 2, 89, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-11-1', 0, 'D2-089-11-1', 0, 1, 2, 2, 89, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-11-2', 0, 'D2-089-11-2', 0, 1, 2, 2, 89, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-12-1', 0, 'D2-089-12-1', 0, 1, 2, 2, 89, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-12-2', 0, 'D2-089-12-2', 0, 1, 2, 2, 89, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-13-1', 0, 'D2-089-13-1', 0, 1, 2, 2, 89, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-13-2', 0, 'D2-089-13-2', 0, 1, 2, 2, 89, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-14-1', 0, 'D2-089-14-1', 0, 1, 2, 2, 89, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-14-2', 0, 'D2-089-14-2', 0, 1, 2, 2, 89, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-15-1', 0, 'D2-089-15-1', 0, 1, 2, 2, 89, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-089-15-2', 0, 'D2-089-15-2', 0, 1, 2, 2, 89, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-01-1', 0, 'D2-090-01-1', 0, 1, 2, 2, 90, 1, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-01-2', 0, 'D2-090-01-2', 0, 1, 2, 2, 90, 1, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-02-1', 0, 'D2-090-02-1', 0, 1, 2, 2, 90, 2, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-02-2', 0, 'D2-090-02-2', 0, 1, 2, 2, 90, 2, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-03-1', 0, 'D2-090-03-1', 0, 1, 2, 2, 90, 3, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-03-2', 0, 'D2-090-03-2', 0, 1, 2, 2, 90, 3, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-04-1', 0, 'D2-090-04-1', 0, 1, 2, 2, 90, 4, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-04-2', 0, 'D2-090-04-2', 0, 1, 2, 2, 90, 4, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-05-1', 0, 'D2-090-05-1', 0, 1, 2, 2, 90, 5, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-05-2', 0, 'D2-090-05-2', 0, 1, 2, 2, 90, 5, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-06-1', 0, 'D2-090-06-1', 0, 1, 2, 2, 90, 6, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-06-2', 0, 'D2-090-06-2', 0, 1, 2, 2, 90, 6, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-07-1', 0, 'D2-090-07-1', 0, 1, 2, 2, 90, 7, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-07-2', 0, 'D2-090-07-2', 0, 1, 2, 2, 90, 7, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-08-1', 0, 'D2-090-08-1', 0, 1, 2, 2, 90, 8, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-08-2', 0, 'D2-090-08-2', 0, 1, 2, 2, 90, 8, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-09-1', 0, 'D2-090-09-1', 0, 1, 2, 2, 90, 9, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-09-2', 0, 'D2-090-09-2', 0, 1, 2, 2, 90, 9, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-10-1', 0, 'D2-090-10-1', 0, 1, 2, 2, 90, 10, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-10-2', 0, 'D2-090-10-2', 0, 1, 2, 2, 90, 10, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-11-1', 0, 'D2-090-11-1', 0, 1, 2, 2, 90, 11, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-11-2', 0, 'D2-090-11-2', 0, 1, 2, 2, 90, 11, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-12-1', 0, 'D2-090-12-1', 0, 1, 2, 2, 90, 12, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-12-2', 0, 'D2-090-12-2', 0, 1, 2, 2, 90, 12, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-13-1', 0, 'D2-090-13-1', 0, 1, 2, 2, 90, 13, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-13-2', 0, 'D2-090-13-2', 0, 1, 2, 2, 90, 13, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-14-1', 0, 'D2-090-14-1', 0, 1, 2, 2, 90, 14, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-14-2', 0, 'D2-090-14-2', 0, 1, 2, 2, 90, 14, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-15-1', 0, 'D2-090-15-1', 0, 1, 2, 2, 90, 15, 1, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +INSERT INTO `t_app_stacker_location` (`location_id`, `location_status`, `business_location`, `location_type`, `lane_id`, `machine_id`, `l_row`, `l_line`, `l_layer`, `l_depth`, `location_tag`, `vehicle_no`, `create_time`, `update_time`, `remark`) VALUES ('D2-090-15-2', 0, 'D2-090-15-2', 0, 1, 2, 2, 90, 15, 2, NULL, NULL, '2025-10-06 20:08:14', '2025-10-06 20:08:14', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stacker_stand +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stacker_stand`; +CREATE TABLE `t_app_stacker_stand` ( + `stand_id` varchar(64) NOT NULL COMMENT '站台编号', + `stacker_id` int NOT NULL COMMENT '堆垛机编号', + `plc_id` int NOT NULL COMMENT '属于哪个PLC管辖', + `stand_name` varchar(64) NOT NULL COMMENT '站台名称', + `stand_status` int NOT NULL COMMENT '站台状态', + `lane_id` int NOT NULL COMMENT '巷道编号', + `stand_location` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '站台位置', + `stand_xyz` varchar(64) DEFAULT NULL COMMENT '站台坐标', + `area_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '区域号,该区域号和输送搬运有关', + `allow_in` int NOT NULL COMMENT '是否允许入库', + `in_type` int NOT NULL COMMENT '入库方式:\n0-立即入库\n1-验证条码', + `allow_out` int NOT NULL COMMENT '是否允许出库', + `out_type` int DEFAULT NULL COMMENT '出库方式:\n0-默认', + `read_status_address` varchar(64) DEFAULT NULL COMMENT '读取状态的地址', + `write_task_address` varchar(64) DEFAULT NULL COMMENT '写入任务的地址', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`stand_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stacker_stand +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_stacker_stand` (`stand_id`, `stacker_id`, `plc_id`, `stand_name`, `stand_status`, `lane_id`, `stand_location`, `stand_xyz`, `area_id`, `allow_in`, `in_type`, `allow_out`, `out_type`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('101', 1, 2, '入库站台', 1, 3, '(1,1,1)', '(1,1,2)', 'S1', 1, 1, 0, 0, 'DB300.0', 'DB301.0', '2025-06-03 10:16:20', '2025-06-03 14:38:27', 'test'); +INSERT INTO `t_app_stacker_stand` (`stand_id`, `stacker_id`, `plc_id`, `stand_name`, `stand_status`, `lane_id`, `stand_location`, `stand_xyz`, `area_id`, `allow_in`, `in_type`, `allow_out`, `out_type`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('102', 1, 1, '出库站台', 1, 1, '(2,1,1)', '', '1', 0, 0, 1, 0, '', '', '2025-06-03 13:48:49', '2025-12-15 12:03:49', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stock_compose_task +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stock_compose_task`; +CREATE TABLE `t_app_stock_compose_task` ( + `task_id` varchar(64) NOT NULL COMMENT '系统任务号', + `task_group` varchar(64) NOT NULL COMMENT '任务组', + `upper_task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '上游系统任务号', + `task_type` int NOT NULL COMMENT '任务类型:\n0-自动\n1-入库\n2-出库\n9-移库\n3-输送搬运', + `origin` varchar(64) DEFAULT NULL COMMENT '起点', + `destination` varchar(64) DEFAULT NULL COMMENT '终点', + `task_status` int NOT NULL COMMENT '任务状态:\n0-待执行\n1-排队中\n2-执行中\n3-任务完成\n4-任务取消\n5-任务异常', + `step_status` int NOT NULL COMMENT '分步状态:\n0-待执行\n1-执行中\n3-任务完成\n4-任务取消\n5-任务异常\n6-离开起点\n7-到达终点', + `can_cancel` int NOT NULL COMMENT '是否允许取消', + `priority` int NOT NULL COMMENT '任务优先级,数字越大优先级越高', + `vehicle_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `vehicle_size` int NOT NULL COMMENT '载具尺寸', + `weight` decimal(10,4) NOT NULL COMMENT '载具重量', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `start_time` datetime DEFAULT NULL COMMENT '任务开始时间', + `complete_time` datetime DEFAULT NULL COMMENT '任务完成时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `task_source` varchar(64) NOT NULL COMMENT '任务来源', + `create_person` varchar(64) NOT NULL COMMENT '任务创建人', + `task_msg` varchar(255) DEFAULT NULL COMMENT '任务信息', + PRIMARY KEY (`task_id`), + KEY `上游任务号索引` (`upper_task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stock_compose_task +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_stock_compose_task` (`task_id`, `task_group`, `upper_task_id`, `task_type`, `origin`, `destination`, `task_status`, `step_status`, `can_cancel`, `priority`, `vehicle_no`, `vehicle_size`, `weight`, `create_time`, `update_time`, `start_time`, `complete_time`, `end_time`, `task_source`, `create_person`, `task_msg`) VALUES ('1759820293397010000', '1759820293397010001', NULL, 2, 'A1-001-02-2', '101', 1, 0, 1, 5, 'T1001', 0, 0.0000, '2025-10-07 14:58:13', '2025-10-07 14:58:13', NULL, NULL, NULL, 'WCS', 'developer', '任务解析完成'); +INSERT INTO `t_app_stock_compose_task` (`task_id`, `task_group`, `upper_task_id`, `task_type`, `origin`, `destination`, `task_status`, `step_status`, `can_cancel`, `priority`, `vehicle_no`, `vehicle_size`, `weight`, `create_time`, `update_time`, `start_time`, `complete_time`, `end_time`, `task_source`, `create_person`, `task_msg`) VALUES ('1759820351955010000', '1759820351955010001', NULL, 1, '203', 'A1-011-02-2', 1, 0, 1, 5, 'T1002', 0, 0.0000, '2025-10-07 14:59:12', '2025-10-07 14:59:12', NULL, NULL, NULL, 'WCS', 'developer', '任务解析完成'); +INSERT INTO `t_app_stock_compose_task` (`task_id`, `task_group`, `upper_task_id`, `task_type`, `origin`, `destination`, `task_status`, `step_status`, `can_cancel`, `priority`, `vehicle_no`, `vehicle_size`, `weight`, `create_time`, `update_time`, `start_time`, `complete_time`, `end_time`, `task_source`, `create_person`, `task_msg`) VALUES ('1759821023022010000', '1759821023023010000', NULL, 1, '202', 'A1-012-02-2', 1, 0, 1, 5, 'T1003', 0, 0.0000, '2025-10-07 15:10:23', '2025-10-07 15:10:23', NULL, NULL, NULL, 'WCS', 'developer', '任务解析完成'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stock_compose_task_bak +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stock_compose_task_bak`; +CREATE TABLE `t_app_stock_compose_task_bak` ( + `task_id` varchar(64) NOT NULL COMMENT '系统任务号', + `task_group` varchar(64) NOT NULL COMMENT '任务组', + `upper_task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '上游系统任务号', + `task_type` int NOT NULL COMMENT '任务类型:\n0-自动\n1-入库\n2-出库\n9-移库\n3-输送搬运', + `origin` varchar(64) DEFAULT NULL COMMENT '起点', + `destination` varchar(64) DEFAULT NULL COMMENT '终点', + `task_status` int NOT NULL COMMENT '任务状态:\n0-待执行\n1-排队中\n2-执行中\n3-任务完成\n4-任务取消\n5-任务异常', + `step_status` int NOT NULL COMMENT '分步状态:\n0-待执行\n1-执行中\n3-任务完成\n4-任务取消\n5-任务异常\n6-离开起点\n7-到达终点', + `can_cancel` int NOT NULL COMMENT '是否允许取消', + `priority` int NOT NULL COMMENT '任务优先级,数字越大优先级越高', + `vehicle_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `vehicle_size` int NOT NULL COMMENT '载具尺寸', + `weight` decimal(10,4) NOT NULL COMMENT '载具重量', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `start_time` datetime DEFAULT NULL COMMENT '任务开始时间', + `complete_time` datetime DEFAULT NULL COMMENT '任务完成时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `task_source` varchar(64) NOT NULL COMMENT '任务来源', + `create_person` varchar(64) NOT NULL COMMENT '任务创建人', + `task_msg` varchar(255) DEFAULT NULL COMMENT '任务信息', + PRIMARY KEY (`task_id`), + KEY `上游任务号索引` (`upper_task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stock_compose_task_bak +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_stock_compose_task_bak` (`task_id`, `task_group`, `upper_task_id`, `task_type`, `origin`, `destination`, `task_status`, `step_status`, `can_cancel`, `priority`, `vehicle_no`, `vehicle_size`, `weight`, `create_time`, `update_time`, `start_time`, `complete_time`, `end_time`, `task_source`, `create_person`, `task_msg`) VALUES ('17598202933973010000', '1759820293397010001', NULL, 2, 'A1-001-02-2', '101', 1, 0, 1, 5, 'T1001', 0, 0.0000, '2025-10-07 14:58:13', '2025-10-07 14:58:13', NULL, NULL, NULL, 'WCS', 'developer', '任务解析完成'); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stock_scan +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stock_scan`; +CREATE TABLE `t_app_stock_scan` ( + `scan_id` varchar(64) NOT NULL COMMENT '扫码点位', + `scan_name` varchar(64) NOT NULL COMMENT '扫码名称', + `scan_status` int NOT NULL COMMENT '扫码状态', + `scan_type` int NOT NULL COMMENT '扫码类型', + `scan_method` varchar(128) DEFAULT NULL COMMENT '扫码方法', + `param1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '扫码参数1', + `param2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '扫码参数2', + `param3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '扫码参数3', + `plc_id` int NOT NULL COMMENT '管辖的PLC', + `read_status_address` varchar(64) DEFAULT NULL COMMENT '读取状态地址', + `write_task_address` varchar(64) DEFAULT NULL COMMENT '写入任务地址', + `led_no` int NOT NULL COMMENT 'LED屏编号,没有的填0', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`scan_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stock_scan +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_stock_scan` (`scan_id`, `scan_name`, `scan_status`, `scan_type`, `scan_method`, `param1`, `param2`, `param3`, `plc_id`, `read_status_address`, `write_task_address`, `led_no`, `create_time`, `update_time`, `remark`) VALUES ('C1', '出库扫码', 0, 0, 'STACKER_CHECK', '1', '1', '1', 2, 'DB300.1', 'DB90.100', 1, '2025-08-11 15:44:46', '2025-08-12 11:14:21', '-'); +INSERT INTO `t_app_stock_scan` (`scan_id`, `scan_name`, `scan_status`, `scan_type`, `scan_method`, `param1`, `param2`, `param3`, `plc_id`, `read_status_address`, `write_task_address`, `led_no`, `create_time`, `update_time`, `remark`) VALUES ('P1', '捡选扫码1', 1, 0, 'CONVEY_PICK_TASK', 'P1', '-', '-', 1, '-', '-', 0, '2025-08-12 10:21:44', '2025-08-12 11:14:00', '0'); +INSERT INTO `t_app_stock_scan` (`scan_id`, `scan_name`, `scan_status`, `scan_type`, `scan_method`, `param1`, `param2`, `param3`, `plc_id`, `read_status_address`, `write_task_address`, `led_no`, `create_time`, `update_time`, `remark`) VALUES ('R1_APPLY', '申请入库扫码', 1, 0, 'LOGIN_STACKER', 'WMS', '', '', 1, '', '', 0, '2025-09-09 21:19:03', '2025-09-10 16:35:13', ''); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stock_single_task +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stock_single_task`; +CREATE TABLE `t_app_stock_single_task` ( + `task_id` varchar(64) NOT NULL COMMENT '系统任务号', + `task_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务组', + `plc_task_id` int NOT NULL COMMENT '设备任务号', + `upper_task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '上游系统任务号', + `execute_machine` int NOT NULL COMMENT '执行设备:\n1-堆垛机\n2-输送线\n3-四项车\n4-货柜\n5-RGV\n6-AGV', + `task_type` int NOT NULL COMMENT '任务类型:\n0-自动\n1-入库\n2-出库\n9-移库\n3-输送搬运', + `origin` varchar(64) DEFAULT NULL COMMENT '起点', + `destination` varchar(64) DEFAULT NULL COMMENT '终点', + `compose_destination` varchar(64) DEFAULT NULL COMMENT '组合式任务目的地', + `task_status` int NOT NULL COMMENT '任务状态:\n0-待执行\n1-排队中\n2-执行中\n3-任务完成\n4-任务取消\n5-任务异常', + `can_cancel` int NOT NULL COMMENT '是否允许取消', + `priority` int NOT NULL COMMENT '任务优先级,数字越大优先级越高', + `vehicle_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `vehicle_no_number` int NOT NULL COMMENT '数字载具号', + `vehicle_size` int NOT NULL COMMENT '载具尺寸', + `weight` decimal(10,4) NOT NULL COMMENT '载具重量', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `start_time` datetime DEFAULT NULL COMMENT '任务开始时间', + `complete_time` datetime DEFAULT NULL COMMENT '任务完成时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `task_source` varchar(64) NOT NULL COMMENT '任务来源', + `create_person` varchar(64) NOT NULL COMMENT '任务创建人', + `task_msg` varchar(255) DEFAULT NULL COMMENT '任务信息', + PRIMARY KEY (`task_id`), + KEY `上游任务号索引` (`upper_task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stock_single_task +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_stock_single_task` (`task_id`, `task_group`, `plc_task_id`, `upper_task_id`, `execute_machine`, `task_type`, `origin`, `destination`, `compose_destination`, `task_status`, `can_cancel`, `priority`, `vehicle_no`, `vehicle_no_number`, `vehicle_size`, `weight`, `create_time`, `update_time`, `start_time`, `complete_time`, `end_time`, `task_source`, `create_person`, `task_msg`) VALUES ('1759820294025010000', '1759820293397010001', 100011, NULL, 1, 2, 'A1-001-02-2', '101', '101', 3, 1, 5, 'T1001', 0, 0, 0.0000, '2025-11-01 14:58:14', '2025-10-07 14:58:34', NULL, NULL, NULL, 'WCS', 'developer', NULL); +INSERT INTO `t_app_stock_single_task` (`task_id`, `task_group`, `plc_task_id`, `upper_task_id`, `execute_machine`, `task_type`, `origin`, `destination`, `compose_destination`, `task_status`, `can_cancel`, `priority`, `vehicle_no`, `vehicle_no_number`, `vehicle_size`, `weight`, `create_time`, `update_time`, `start_time`, `complete_time`, `end_time`, `task_source`, `create_person`, `task_msg`) VALUES ('1759820352008010000', '1759820351955010001', 100012, NULL, 1, 1, '102', 'A1-011-02-2', 'A1-011-02-2', 3, 1, 5, 'T1002', 0, 0, 0.0000, '2025-11-01 14:59:12', '2025-10-07 14:59:12', NULL, NULL, NULL, 'WCS', 'developer', NULL); +INSERT INTO `t_app_stock_single_task` (`task_id`, `task_group`, `plc_task_id`, `upper_task_id`, `execute_machine`, `task_type`, `origin`, `destination`, `compose_destination`, `task_status`, `can_cancel`, `priority`, `vehicle_no`, `vehicle_no_number`, `vehicle_size`, `weight`, `create_time`, `update_time`, `start_time`, `complete_time`, `end_time`, `task_source`, `create_person`, `task_msg`) VALUES ('1759821024039010000', '1759821023023010000', 100015, NULL, 1, 3, 'A1-011-02-2', 'A1-012-02-2', 'A1-012-02-2', 3, 1, 5, 'T1003', 0, 0, 0.0000, '2025-11-02 15:10:24', '2025-10-07 15:10:24', NULL, NULL, NULL, 'WCS', 'developer', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_stock_single_task_bak +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_stock_single_task_bak`; +CREATE TABLE `t_app_stock_single_task_bak` ( + `task_id` varchar(64) NOT NULL COMMENT '系统任务号', + `task_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务组', + `plc_task_id` int NOT NULL COMMENT '设备任务号', + `upper_task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '上游系统任务号', + `execute_machine` int NOT NULL COMMENT '执行设备:\n1-堆垛机\n2-输送线\n3-四项车\n4-货柜\n5-RGV\n6-AGV', + `task_type` int NOT NULL COMMENT '任务类型:\n0-自动\n1-入库\n2-出库\n9-移库\n3-输送搬运', + `origin` varchar(64) DEFAULT NULL COMMENT '起点', + `destination` varchar(64) DEFAULT NULL COMMENT '终点', + `compose_destination` varchar(64) DEFAULT NULL COMMENT '组合式任务目的地', + `task_status` int NOT NULL COMMENT '任务状态:\n0-待执行\n1-排队中\n2-执行中\n3-任务完成\n4-任务取消\n5-任务异常', + `can_cancel` int NOT NULL COMMENT '是否允许取消', + `priority` int NOT NULL COMMENT '任务优先级,数字越大优先级越高', + `vehicle_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '载具号', + `vehicle_no_number` int NOT NULL COMMENT '数字载具号', + `vehicle_size` int NOT NULL COMMENT '载具尺寸', + `weight` decimal(10,4) NOT NULL COMMENT '载具重量', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `start_time` datetime DEFAULT NULL COMMENT '任务开始时间', + `complete_time` datetime DEFAULT NULL COMMENT '任务完成时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `task_source` varchar(64) NOT NULL COMMENT '任务来源', + `create_person` varchar(64) NOT NULL COMMENT '任务创建人', + `task_msg` varchar(255) DEFAULT NULL COMMENT '任务信息', + PRIMARY KEY (`task_id`), + KEY `上游任务号索引` (`upper_task_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_stock_single_task_bak +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for t_app_tray_convey_location +-- ---------------------------- +DROP TABLE IF EXISTS `t_app_tray_convey_location`; +CREATE TABLE `t_app_tray_convey_location` ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键', + `location_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '位置编号', + `business_location_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '业务位置号', + `location_name` varchar(64) DEFAULT NULL COMMENT '点位名称', + `location_status` int NOT NULL COMMENT '点位状态', + `location_type` int NOT NULL COMMENT '点位类型:\n0 - 普通点;\n1 - 任务点', + `plc_id` int NOT NULL COMMENT '属于哪个PLC', + `location_xyz` varchar(64) DEFAULT NULL COMMENT '点位坐标', + `area_id` varchar(64) NOT NULL COMMENT '区域号', + `read_status_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '读取状态的地址', + `write_task_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '写入任务的地址', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of t_app_tray_convey_location +-- ---------------------------- +BEGIN; +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('12312qw123678678', '103', '103', '101站台', 1, 1, 1, '-', '1', 'DB100.20', 'DB101.30', '2025-08-03 15:28:44', '2025-08-03 15:28:46', '-'); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('12312qwe6476', '101', '101', '101号站台', 1, 0, 1, '-', '2', 'DB100.20', 'DB101.30', '2025-08-03 15:28:44', '2025-08-03 22:06:48', '-'); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('12313312345645', '102', '102', '101站台', 1, 1, 1, '-', '1', 'DB100.20', 'DB101.30', '2025-08-03 15:28:44', '2025-08-03 15:28:46', '-'); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212022389010000', '201', '201', '201号站台', 1, 0, 1, '', 'T1', '', '', '2025-08-03 17:07:02', '2025-08-03 17:07:02', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212118263010000', '202', '202', '202号站台', 1, 0, 1, '(1.3.1)', 'T1;1', '', '', '2025-08-03 17:08:38', '2025-08-03 22:07:40', '测试修改'); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212131882010000', '203', '203', '203号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:08:52', '2025-08-03 17:08:52', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212138328010000', '204', '204', '204号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:08:58', '2025-08-03 17:08:58', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212166072010000', '205', '205', '205号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:09:26', '2025-08-03 17:09:26', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212171436010000', '206', '206', '206号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:09:31', '2025-08-03 17:09:31', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212176648010000', '207', '207', '207号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:09:37', '2025-08-03 17:09:37', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212181414010000', '208', '208', '208号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:09:41', '2025-08-03 17:09:41', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212187238010000', '209', '209', '209号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:09:47', '2025-08-03 17:09:47', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212192896010000', '301', '301', '301号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:09:53', '2025-08-03 17:09:53', ''); +INSERT INTO `t_app_tray_convey_location` (`id`, `location_id`, `business_location_id`, `location_name`, `location_status`, `location_type`, `plc_id`, `location_xyz`, `area_id`, `read_status_address`, `write_task_address`, `create_time`, `update_time`, `remark`) VALUES ('1754212198068010000', '302', '302', '302号站台', 1, 1, 1, '', 'T1', '', '', '2025-08-03 17:09:58', '2025-08-03 17:09:58', ''); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/wcs/lib/HslCommunication-3.7.0.jar b/wcs/lib/HslCommunication-3.7.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..5161819cedff57c6a0f53aeea0b604121144ac2c GIT binary patch literal 805568 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

tCCtE`zTvX9QKVte|&cvd6q>izTBUh zr5o!88-o;V2St+n8NIB?0E?k{Z?1kk3Sbm?*OLTZsV>GmoK zbW`9)!g~VH1Zv*o_!R;?rPk&AMv>6Ik&E)wgses#mr2wzqDPBl&?nXErk}uYM)aC&T?ADE9jjkS9A{3X`<|-HyIx&&o7O^}nQD!NRL#W3L*QHXg^0Z zS`MD@O88M0=?b;CWm;^BuagjX@F>AHlKf-c#N)JraLPSVi-=8kNsCBCvc)4_jX|PT zJ5;eY<<8Y%I2~(QWJv?OrOgoNc6UfJ2Phw^7!YQFqsr<#7ZRIfBufyL964Fo92={c zjN;rRuq*Nra7=+|<@Z(0CFhBuoQPDWDaV0EIaSF@i`2;8F`s?dRLWkQdv8?Y4CVvQ zFER|+%oaHgt_>4Xq6wNvy7oD!p_(%gHrVwF43wm`gAy9bMX>#X!@+|l zO79x+831_4v@cF;mT78wsw_w_gOX#)?kMeKzl)s!Xi<;ETgOs94#iJF@KSfDBC=lg z@sd{4POR-Q3`QwRSyp|m%c@_P@=>+4zM3BI1$3Y(02|&g;|cN1wKi!{Me38`CsQwl zfg$&q{7-2^AfKD`-yDJZIIdIWCJOo5r1OYY^BB8P2bJ}h0CGG5z>&<~G|G*;2tz>_ zJTBb>myoISaHQSKwC!@^nmV8mf*=Lf1gsG?4%zS8SJqx{J)@Kq2JQpPS2+vkzOA?B zUJ6kk22@HL_k5cKkR+&iW~TsY)|q8&4H*wrKy0H^coHm=vIrUq<)pH6)JHyi$)!Xv zhrCo-pL9n#gKfHx@VFSBu`EDjq}jC7Z89 zH~|ApWJ1Yp5}8RVDf}N%WQB zXwPO2jV3v?aqF%^^~?KM%xP76NYSr6ou0xnW<#CwW4m7p(h%qPg^kFOM)enNfi;yW zNmWs={?cF4JlIRFrm9dDB9e_>+iLJ@p{+kF$yfER0f4zQUj_62qOuy{6?EZ#ElUVq zE8rTH&6tT`ekQles04%lD!H+kNYTR(f@xqk zKr1DsPr;&XQJ3{jIMGPkIJqg*|0_XRUEiYd(3+c%m?xjgg%;zFjVLX=c1t@JV1FwF z;eRSOc3nBj-Q?I-_*kwfa2*(hy`z3Sdtp}uatLQ?A&2 zk>V`KBS@B9@*??SP7v#ys}2|$GrCZ{EjKnJ!6SCD7UV1C(X98t()wz0w)e()S*r~F zrPqt9Bqc1H7<0Xr-f4Mud8(&+w&Hm?yK@btWunrx@{9)U0JQYlw3TGj4%SJH1RS#H ziuTBfSV8#2=iLEpk9$Kzb{_iSVv*X`OX{ateP@jgl%i}}S5)ybNqB>?>V-`ucb&)J zxX5w^-en21R|ipSnbed3w(&cr#e=Fd9GyTNA#5*HliQ$`ks2GioE)L@ps1|sq6&7* z8fADMpPean7Xo>6CtP zxU;peLDffi9?yf#Jw^QhX8REpZ3{tEIMkBhK$TQ@c6Qx&`+3xIys~+Z5MZ*I}b?uXTXw*jKdxt-=A_}Upp7Y6?QwCdmsU-vtCUu(+EgGss ze%Cp7Wo^R;sVS6Xsr_scR#Q`4VI^Y*nv_l&^{RdI_fz*!w2q6_&j_yM|u_X?lIIX1+@V7=Zgjt}o0GA3WU&Bc02MQ>l0Pn|qa?$wDbo^B|68u*1=L@Eg_cdIQWl6BmY*|12FyA$Gc zCF@XI9qhQ|C*|!VI9#dR(heQ6+0Ct#l}AxsTfFLrR;4adL`)(q&t?^5E*cwM4mty% zLF?DrN^T;6wNSP{lr>%4(yE(uUD?P@cZ)KO|D+c5Fd>~PaPjTH)@q0bI;6zfHN){Q z1Z2c|X^TXNc__^bo9fTGGwR3cF)HbdimT^;wz+GYMgw6fM4=Uw<}DJcE(HwK`)YAl z$^eCrb#SgBfDOtm=(Ci9!b&v(9L-`^b*$)sY%gRHzI+Rl~u^iY^ud! zz-*xup7JwWSidy2Evhot1T-fz#}sEJF_8?08Wb7yaAuU2XSL0)0B4MCLPJh=*5{89 z$o-k~QS`*^*`i}^T35OsQx=_jUglA|3hmMPCgBj*T+i3$>8kga*pkguu)(@n7JXG`pwbp9RjM6JaXbC6Q?I0= zQ=Qd|aUjS=6b5RJ4$(8_T7cGRw>_hK(a^?q)T#8aIfohcNTEgM)6kZ>EJE{ME)TL3 z*DzA3Is>BIedv}^F*L7~A_u1rAqm~aJXsl6^`rTi=uIpRO6l*xPNdZH*szz^$5&Uk zCOl-+We>5vOMg)!uLtB48~5a4g|elkdRD$uk0hQC3rc!4>3>cVQSXEk@Zj_yZ!m^% zIjMhk`l^~Z!sCIQss8ioWFzY>Ip{6ViR75;757DH>s`~$Ro5a%38ehU-RhmikJ&-2>9Z0BQj$pQa;FYw!!`Sgtu~Xh^}7IOdzvuWjP>id z6HWK-#y%v|SA~0RcWZQQ1u(k(N{kz;t=fa%q+*?vSBgUyCkW+Uwa}bT$1CN+UmnI! zlD94u-!Ar9lUm~OvD*5g_|GgRH8;v)<>FH_uix|<+jqyLoDyb{?<9NAJ~cm$GFRT{ zX>|tjBxHN@*$xL+6u9hYHEVt7%}HsujRZ1m_GjG!aJif~d;~v8QG1<(FP{ zhSUYJjT;j|>uepc46_zZTRbsaQWqs_?CFzYd5|K)ONOld6j59o4k_z_UwBf>q`I4y zbJPi!9p^l)s`?)7NjspUuF|NYGtuMFwstByeocGRTwyEPU+<-_YuuxcgLt`WCYYlq z%uekG9gypm$I%Hu>b_0C<=KIXct+BDL0CWwzC4?k=T%j(s5@~u2Kjm(os!S~r3fbJ z8N^mOqA%6n#q-v4(!GgA!lpk8Y0W{>a!e&g%@m#9h=ND((8#j-suSl z&|e?aQAHx3uZX{j;o~d_c$I=x$9)4sykyP|(^2EKs9Q znHFw9lSE`MkP5Zcb=Iv4%9D45ZAXz9`A8ZfAAW`u^w>LseOBFWF2epC1XHfa0TZPn z3@;R;2HspfKP5WFaS>le2(z;%xo{Sv(}kCZyeyv}uq)H5A$awO!!!SBWXtawY$i!o zt{3}hCpB)Ey^W!0HE2$uGSwdYNVoWT5B0^>l%Yp&(PWE9rAR}>7mY@*LlPm6yC|u@ zR{>@mB1P}BoXRoH@?EIxw?Yvx6Gwo!VK>$mLzTfvbfnfKKlieEG)3tpu*3|c9U9D#P(dZ^z|fa zj43@`(I*QgRXC=Yq$5CWMF=*WwUHOk#Fc}*SN>T0mKY3@Tg1~%&9_Ab1I6ukN5QOa zd*YtQgEDr5G`^{}I#R>c^)NNDYYrP%{H|(4zJwUdeL{XWZ^r2ZV@EU4(8 zN8PNg5sRNfs#@=^;CYa6fc#z$Ruxc^UT{>M6eDWj_jMoqXXE1Wfco>)Cg<8n`0GR}^s z`ILK^q)EA7ZPuse#YD`fC<(u9>?aLuOw}vQsK|;in1vA7}W%c>QW_{Y~wibsSe%3j?xdI4f1U& z?-AIg>}K1h*P*VsPL}f)f=zu^(_)l2zgX=o6dI~Dq|>pQ(zF-H0JDcBD~N(J^lU{T z4}*YDl$1_bJh79`q~jSE zA$=w~+HKX%q}P6(dANKD35JJ^)ZWp>wGVQ%vjT_bo^~_^FufBgWebjB8x+=!WLvn@ zjhaMZ9!Ih%*(eiEw_&7mpbg2yzQv-Gb)m>Somz1MCT3;3dERMUMwaT<}?E-48?@i0=vL|x-$g-R(v5=r2lW|;s zl9jM4ULa^+F0E}<$n?BFUNSf*@+}XvfHE9L96pCrkq2ahvIBvzmNKh#~8K; zRKY7a9cEGxVwJ!@>$QOKCa@tZB?@l><)HRlrlJz`6it6rqb4cyG@6=DKFTz$xNUJe`2Q}DQKC{Y0(I$Ch9%8qHECEVp z>Z9GHuv5Ra{xl_qnma0hsko4`Ojs2@^SYi9Up5fiCRxq#j!_k3mcuX}Y6X&%Lgir# zCBR*o*;SF?%OjhKi>rE+Mm|ypl4o={jp|xih?a}KgL@{}1?`ZEwiMe}yNvr|BthvB zRTW?=Fl@IkbIc|U;gFcb$rcX9 zDH9=WQFww%jyx43cyfY0n_pd)1iM}F5NhTgWT`=*55Q*RPT-+ta6o0IRG6xiwTl%H z)GaWC6OSNK$_jOm^k=-B)-6sC#~B&P6U;d%uyBQAph_?$X~VKz(b@;^gN-JmU)~OD zG0&xS4B+~YM#-lz&^XzCwF;l|h6kx?WLXkj5S=C!lEV`Hk|@&Wtgw?-GN7sGA6=fS za3R7ew#7ju#{cJ*lgMh`8<)E{mE$7N`db>+t}4i`hHZZvr5s=)MA`IHr!CtMpPbwx ztHkmq|00OPO2Eg4p1#evVJ<;+>08yvAi9}lqF{|&uzCRIV#~{0=2Di9IfeB_V6u^ zQ7I3%@cXoH}hauxO;(t<0@H;-3X588hx@?$8sOd3te$=wyPs>?8| za3ybU<|akQebpmQy4zwGjQx_bme_#e>MVR@*qB!I$g;QlAS*=07LO!MX2Bkn+(|KN z)uEsX;A|wPY>wS&xDoLsjHL?2QB~%4;4`*DU;w=8eD1YeYU=MpwF8(XeX1-5QVNai zCc7QDiwl&FKv`3$q3t!}cxA@S)*$lMfd4vG_X1IJ>A(OKQ1 zApWTyX&W6<64@boJu40cMf-~&&Hq=;s@>f=6sw&ws7hIzuoU-jTFqm==>89?vGBp% zS60*MVca4sWsn~pbz={7cQk-a%yRB6)@@2!H(GxL=O=HgjJ0Gc)?{7Up z`*>z`l&RULtjL+o$tZKdOln(~(Td=hcK)|kZ5DP5gP0Ai@|s4EAur;BL~d69wK*?B z$s{BOhk0;BjCC6gJ5ZuHv#OLo$f?65B zuar`iLL74&G&sO*Ow?cD~1;`fU^9ai`nytDWqu&YPe z6F&j1Dl|;0Ntq4wZM+lXI$4e>z-e}}Ka=+k(C|9R1w5Kg{%Nm{ETJ9LwQ3M?gdnWj2N@MqJG19B;FrqgU+w+{)sKx}Ee2==_&GPNMm0;9pM$QZEvU-! zC#;g#CY8sO+bK#&0X+iZjI4pZE&xpa`v4HdQ3v4hPz*Ivd2<_B*?w|j#zX&4X|Yb) zZY`_H6QOo0O9-@C_Jol5rnWioEc!?4=n!q4WmuePJ!I#PyGL;pelh8!+o)V;H#tRz z>{@WutOQZb0YfM13nI<{a2|u|>$KUS9uIr6#$3=Ww@_^{XY(`@8l47OJ&ScC9D>I2l^w{d&w9%u0O-_;Magz~=U>hQoJSGU|U z!Zm1hg!P)mgM&T)da`cjuqE7@^1rH-nl)TXUaAQp>D3LgvVS6w=}{T3nAY;EYNlk( z%b+`|<{Q<-WuDadgly*A-=Z6z<+YVx459M$iB6Jb`F&mIW}RO3W906PO=p%{QEkBv z1m!f2F&|Mt#0f~>BBtXeX>;D+G2%5)N627*AP|JSSM< zFiv3=s&HLb2WNVjPI7U5OC49(KSbxO z<)knphqQ%+rNe&88pe()Dr}laP=?r;YzIBW9&Y-SJrp9rYVt|&=e@~N(UL5V1ZlaM zNj0n1UnG7Y8Kw8$v)u&*TB&OusABU(4NM+jrwvqWdf_x(;)Tk_^Je=G&J>=fX9J2T zS^PyHqgvYrO2_Ja^B8T!HKY!K5rI_g_Yf8~9U1gS*4qNePH4_@T!Lw)JUiIJfTp9j zUg|ptgE*I!q`nhF%bV^+&Um=-9YkK%ow7pv$Y}U(idbxhjozwGr62OZe)&{%l8-&@ z-gL@_otW7GGZi(T?8X0gE)5}MaQJSVA)>Xhe5me+v-CG-{S;$H=DJ@rk6A>h_zwwraYB|Gm_goOx3mRs$-PVI!Cccx!Y z3ny&`{%&7JL+T393yyoQtea0Z{Kj|=gANMHw`6PdC>1E?G}IggejZr?TBxzP{iO03 z;vnZP833aU%O*Qs%eafTp68LbiKhGz8r?-($g1HV@EEAG?ryF%-i2GSINJe0)V0;h zR7FI6*{0eMnQEg%FoM4W^%Pixye?8CzcOz@8Yi0DdXB~9Xi{GWDUaEy0u3$QYNk9R zX&u7}d#|#@^e-k^Oo4X?C*^Y*baRT<5;cO8GN2J4MS9{DA7rgOijLl0aa! zzpD1m$0_s=xJ49Tu~s#x?ar}iOq=^;3zXXsWv&8_z4Y5fxgv+zxW}sP%I*n~B+Wl| z{SHCBibVvkvZ{zm9n|j2Hj;xK!94gX3r~B~I!>0xz!zx_gS>?&u(LWS-~z>FHrp66 zfe|6-0#IJtOp=$!Db`Y+R|DSj*visGWWidieg|y+aIOSbRQoR$5plq7(@kZ30;V)2 z9@)9M{s3{I2H|5ooRJFVSsKrtr+tJli#|(BjUo4ImbE~zpa$(#EI0uQqdIe&tm2{F zmsJkXs$9F|WY!a@kK%ao;JCR!l87AqlUC&X0QKiVO4vs+M5B>$V+iWH=3T2D-I2gf zKm!0-okXk~7f>IoNzvy?-L<-qTFCtD&L!f@totGFKWOx%G```L=){#}LPbc#kf%+;Z&_1>I=iMdn@)7+e`!uVv;DNIpfUF-{G@nNj zbREm2FTDm6;P#>p)JO_j;sH=UYw)B_{OGe_$8Q>Q$;p^&^UJbAsakjte6?BD$Vo2^ zE1f2XMQw4dHquCPiZ~{Z#>n~Sl|1f@Au#~Nsn#m-yw^D}Ex}qG2zo@%Hq)lF`*i9d zOC1PAT}a|08QY+-r$-Q^J^*njIdW@xSgcBq$jKHl?YeAJ3UPvC@Nl`OywxRi>>XEc zq=<4DYX;d`@?It_&L*&;XGR|FxQ`}95R&$$npd&}xg?$ip;@cBbf?*6N7~pO6O3U; zU@ftob)=Y1Y_+lustoPqc3!ZNgtmFknK*jnc$d?|)ZSrQN3vwq_A1yfgH-+6Y|oZB zWjKf)tNnnJM>ws{TWkIn1C9=A>?Q>9#IP!wGkQwDgN)LWZ`A?CBic1q#V&c`*AX(Y zS(<%li-6X3y~;(3lIQ(Eiv^T!@9~T=Z0DY|RR;qTEInpk7Zq=)x7e0Zpq5LO6-~pz z=#Ff2Q3TbZqXxB3aOb2{0{tfL`sIKVyW8%u7UIs^xC4ejjFPSuup{09GaUv|=$7dyA!ZlDq~Jwb$A8WZf(%CGB)og~#B;Z7&(V9=BAOD-%s`GrPf5Nb_q4pG|znyK=glcu#}~9 zQRv0VZ0}<^d!wTKX4Wg;M>X)C)K4m&WIoG&m@16&Y1rx@wz+RT8!CEo`%xWf*|trI#9;lVVQ4a^ zVbjg+D{7Qxn|8{EoXY)H%`74`O8`<qqr!GDO0sZ~ zjxBM!8BkpcBo2#m%8F53r(zL<#I0mU;7$y4YjOqbcIIMIZP>9NBKMGGNZknq0bUE{ zGs1&kMxLnb?n%naEt6FzqLt*bge4kjQ{RY*H5q>Eq1>XnIsqhusqCx{YO1Ou2FO=d zC6MY$JQ~at^(5yx40LD%xSZ$Gjv@}KGj7SO2?2%Uz@`Dmj2=%=JGQ1-X6^LnrXK@) zmM0wKas7DL^$LvHA2a)Mt{!9CyeGyuh`G*(eZRg*=Q#c#hXF7;r#a@8D3-_w(^4a1 zMt@C9SWRl#gErnsrUX@O<3cfO*DR^ZMG1%DURM~cji$Nu*BVLKqdfpVkVPGX%OiW; zN+>75k$tl?2Vk?1orjXu<0&OPl8WH%CEDM?~6fBv1*|Z>rP^Jg@FwWpdRWs+}G-fyxtUSHl1~#AEu#_$m zDiIY2J@TaWd{JuV%4+Au7?aIYP>!Q}$xtQXME5Vfcv;_}w5-LfA{^vvX~`7RlkEy1 z;-(yHATr7jz2vD|*U4Wd^{{;S)!ob+>!l}TI3&qMYFY}&aO6_`GH_^ffwV_9tE;nW zWkTjU#yOWWPA zR1lO$KF8n$8z6x*D5%w+wm10A<2=G@Y_V!uvg~^8El*u8^fq60Ye`WFCslM=9zfnr{de}qD0xEj zXJvt0b!_uhDz;MtVO2b_4KD?RBus^}f_F%=1+0)s;Yf;?Bqe1m)9MDs33KYS`ajUl=>1{DX zwD}PFMbpw4A74|B@;=nNX8n(L4|OS`gbj;^lsRjENj=>RoeP)R%hi&bp+lr}s6`{X zacltcI+Tp2pmgbN>QV3N7V5?05s0hqoT;oq^Q!hr=L7l4e;y^4>;e5eRTJ?f68A>o zGi@5h=zL~n7>#hp{2Wc+92O@qOx|sl4^WHH7EO?IQrveNHL)FHq|BiRCvrgJ`_VD@q`!laEdVH4?;)f=@M_3@b zFsEq?g;5Nf*qZODUP51@y?Oa^yn^oHS``v!=!dWGPQt*)CxgJyoYM z%=*>2&m4^h;^RD#T5bBz?4x1O0D2;G0>h?ASrX>+O7*Dnu^D?Whpsi32dP7lMfh}( zf)rXo`lz+Tpb{w$$yR^Z%t-Z9s#2Y7{lz7fd9+NLp4#xg$5f&@Vl5YNdYH*(;Y;be zT_f&}hfbixnoC{R(aEn~Pz&C-qZ<%MJsm{^Nvf``VLna?c9Y86b2Cw1gCt6_OFddo1L8++~cb{>1L8kNw6HVVd{YClRmSyHpS(yz?hd) zM3>?L05jXlGXJTFdLbM4GJ>jBP{Gu9bUhzBK`IpC^!X7zVU2Bc{;Mpx`OumzQ*01^ zj^3_suu{^jzq(>7r(-s|GC-#)i1J-q6NDACi;?YwDNqGs;=ZihlIxZPOk9(5HO;<_ z-Y(VI@+DGOIb&3Q*p!n2`&x(8S!vrT4%JSgM-4#G>(-_wrgH+?zYkj5EvyuNVTzz? zSg`!hmnP+km+psyhCX{1YV+9Cszy1UnwL}ULB*%Yd_*x4WEeQ?PIyrE>IYv#0HhZd zPm8gjnb-5LYPJ=-WP%dlo+ezvx2&Af3 zA5WJMUilbhn3WYG@26t|0Y*zQ>kjHj%h?m8&1SrO+Z0aZ6XVcHSBv0b69z!e)o-)A zdx`mN2vr3rRid2h?6>IgaZ`Dc>p}Dl=JTP-S)nlT%nKA0ehJ#!vBIw7YU87mirtee zd;aL6V$ReCWF^sN%hTN43^vjBl)JbKy8J6*;jVacphFPZWDl%&X)A#taY(unl||@z zkR+Be)<}bT>(XF4f-1F69@BA+MJp$pXHGGb zRY6~Kj01Ys0XnA4SO?{)W|Bo#R@g|NV(so)7tX=Sya41t3}qoSakIU3M)!Z(*~yw4 z@3NgK0<=o1fImh0w`Tg}J`0z(vwAd8W^Ic@`K0cVgn?nR`ECSpfL}@ZQrxsTKlQAO z5acl1s@-1C`rzILAKtV(hl)<%-HW8ig({L+sverV`UwX}ejB6Y9uzLzEVw1EW)Hs%21hRU%EvjtJce0$5VK{9II~FwCu0BVc}SW}C;89@~-e ztn`0%ihFUUaNmx-x@qE^fznHtF%9o*Y|HFDY-ni)7y&*@m9XmLGmbSYR$vOG-gDcx zLB7q|BS)`ig}8V2@y*Io4mjgkfgSr_LE`edFX4ZLP~NZde(PHQ|(iKU|pzO3{Y<7 zqBaX3$gruu53o&5H&nCp>Ks+o44$eDjHST_JDW$=G*`gEYzF;0j(*%Nimiu zZylQwj58iObY0-5I-JU>O&)Cxb2}ww*QM+X$)UlBf}G>%l;7dWd$2E(T7il*l2Mht z?T-R}cL4tYRR;fv$61vmB@zSwk3)Gh4`tP+q3AaGVJ9sS3LX7j5 zUbwYq3Eb-9^Q4sIwsomwX`_4V50m4lb5M(L_uR`vHM>J`Vm->3qz=~Mk)m|aPU#%Z zQ=#tMJRVBiv^*5lV z{t-@`U*P9Hfy3k6dlQ1nNc09Y+PrPYuH4JjzXGjrvDMJA@hqLD%x#81 z<;xY^kwP?qLNmD$*6NvAiD{868H-3V$$Z|Oxalt~LMTUdOAoOzCCoGs3r;l2Bt~-j zX-@3e9P4Elh;5=8p!u9U*jUuu=Jq)d)vQvfMZ6X#l(Ic2sde+NMI3vlF%z9N9gZ|E z^E8QxMk*~!5*}y{?i>(Ar%rC@Sxx}gxgC>J9lW^Lzt3wS-~)?8Dh2$MJhD93Ni7H? zQcU(c-?Sx%j5N5^A*z=pqm~FT;FcV%1HqDg@z%A8YHey5POA(lLOKs#)u&69ox($i_UNRh-YQ`0TJ!xR~vB_WP;9lmnR&4$U2+CI{Wy*vhWL3d;uE znw#K3PEMn&+MrE}UGYN2MJ+3@(yV|$Z6&N%{P~KQ!<&rzgib& zDJiNm4$AI_x=!Ax&$F@t%55rHxGTGB|3%71G^*A^>R*Z4-QhOpU>C_Rmdx=O3E032 zR<8kJpi*1xm7J zgv1GjmS}2XT#D*XZo^q|a&~)()2$5FWeFa-Ed!Yk!KjpLx5CCK9(6n`GbWSdQK%QLE+6o_n8 zoZP8iMT~e z*wg@SNtkcxvCm>}-)Rx6FuggJwQK=#Do@_N6R9%U^|H9tbzszz?_68sK|>9mnBr(4 z0V~Tto!;FcwkzB+FW>XRnd)s{XhQ(>PvS*`5@xnnNj0b$A@7H?PNJ&CZs+ zBO~CjyHK+Xu$m=#lh1wy3qPUzAIGqpLViKY1^+zFV^Cr|#Q_}QSJmjO*XYGNrZ)1h8obE=J&-|$7xzcH3^#{-9PQCQLfu7WYj1}b zLfiyZQ5;bUwgb~c>VTSF`g9hDgOABGi*!INK|M)t-K#{qcSQ^Z{Y z6w6uj6wiE{{N}byN(c1>l<06Qt9%yHKe6)A_eKZT`52{T9;qGP&YH)Z0Opm|rfh)% z^IBHRB@Y-nNUfMXU7SEJVbrOlpFQLKh*KP8rYu^YG?Jr{$|Czar-ZB z8(&jxT+aZcjHE>onCOUkil*zljG-g}?HpA;aQzQCj-$mG>@gti?s&J^n(9OQxeVS2 zmI26RT&U@}yQen2Ls85DTzlAZiDH?+=G+-k^OSlu>J`U(E^5L|IVLn%+eD#6g|#>U zP-68b3DSi!BWA3ttV=bw^?Moh%Bvo7f--!&rP&8k5iZWjZn`-SE)s5X-2MG*65yM< z6=ti+;q|;y@DdVr*;1|{I%1S@Ad7t>&=16P_BEky&uU$=B|~UtmkPQNsdV=P&6+IbEF+?>C8AiyTFVqABTyO~%{aS_adhkQe(4 z=s4wM36(V!>z65fW+KD-{YLABnTp;M2;zX>UJ`1YZdJk>32_|E5!~5}M@MdR08ZX~ z#N9Z=*3~?ZhwzwsK*cTU4F`yt%}jqBy);_tfh=iiVYBJ-WyKsMU`4G~N(4=iPen0_ z-yS?=B{%k13?O9Sa5_OVL%u|bSJlC8P%O4tr55W$n>+-{Nn~6B%)Cs))wNX<;Q!kk zW?ldl9P&rGVBXv)5C!VqPaz1%hNrd}D^P}XF%P}Zu?=&?7p8qC02?U;W)}SQ2P8;7xJ9gFB z&|bi~C~Pr!f?VoM`R{~6)FiVrMRj-Pd2_6s1d^4a1C}~z7&R=(wWmUyi{j(Ego~^4 zYOOa2O~MK;Ov7k_v<3b`dK&aBI`=SC3+M;(bFiB=tA}k!=#l|tDwJ)Tn<@zP`mQz7 zAXA&?Q@~kSCGVXICw!rLf}}LKtlH_>Sj5>;j>{viI2une#j_2Hd3Y1~K$5ivmeV!1 z_5~FL8w+fqmn%hU9gAAE13BV!CfZT%Y5g|EyyS;rnYexydG+Z8Aew$bBZ9*2~`Qu_|nm8l|o1&O6N)caZP_upz?_ z3T|2xON%FjE(8b`=k#+WT z$!fl8FVQ$Z9yKi>e}Gm$ID)m$yV*aa{v#YN)uZc+k1w9@)GM>kRH4)Jr3p@w=q`2O z9jbO~D*=6I4B%WzwkCPk55Ds0^QF&x=G7Npc>cMEFTC{P)9KZRKljqhFZ{9iuRGn7 zKmXh>J@@pdpL_9BPyg`G{QQIGAKvNS8GrQ3gXdp;`Gtp{d-`J!UU}uYPdz9veCoj~ z{O$LC)jOUqz5L+mkALp74_wwg_^}7Cy!z>f*B|}(FTZrBd;C)m9)A3V z&pf!(J@TIS{((E)JHF}-KJoB{PrvZ+g$J+P>Ao&~@{@&kD9?S4|N4&id^E1*RbKG4 zfBfN(y!Uti3BSV!eB{Mf9zOTt^L)r~`#bTKo_YB43om}^!?(ZmwZ9VY@RsLa`MKv_ z{%m{om_PTB_j%jbdY_-9;(6?ow|C;P_xxmzKY8z0eWU!`D=$1>Uw-a04}STjmw(~u zXI}c*hw(>ux^MK|KmO7WKKP^UJ^diw=Bq!8_kZrQpMCJ+C+~D0{Jp=@@A#wq>IoM%Y2(Rf8vz~KlV)ek(Xckr5AXc zJKde1xYPCT`RG@Dw~zhk$3On`$A0nQ!}FyVUu41XXFvQ|f4=hJ_x>Ti;6L)<;g4J& z`;k|F=F=}c{|6s@jt_WG+@z5wHWqkZ4?$m>I{_;0?cU=C9FTC{h^E{(h z9z5h*Jon-!pL_X}XZvry!lR$~c>QTM=Q}?7RWH7Mk#~h<;?3vv?|RSg{ld7`yFd2e zIc|LY8aLjD^$)iN{A|A8!v`-uWJlin=-C zr#$$@SD*VdFMsQMzWOrX`xD)}@Bhd5|9aPTZ|>f7|3A6^pYm^Sy8oZu{~Phozj^;Z zkAMCbxBvVv@Bdfv&;R=Ve-r=wTetuGZ*Twnzq|eK|Ni!$|HJJ+|Hs?k|DSIE`+vUw zzr-irx&Oc3|KIrezw=*DcdSqT`RMz8tGn~B^Dl3>|9|lFvG~I$@Bg3t{QCBS`~TPd z|C@il@&0e$|9@_O`HyyYJO5w(eD{VoJ@;DohR=78e7?K;r~kRX(0#+_yGQ?W_xKmO z$NtI}y2oGdp7?zCMt(l{b2r_aUb^YNKK}Rl?#=(gU;6TkzVWYo<;B*7Pw#eb_?GYFD*oTET*YT@uj2dvp+Eh}Kl3#|{$9M{`?!Gj zcU$+t?!(>FU;gN~ei!%g?|kK>-x0Tl-@EH?-}xQ4Zsv7=_p4v`$nSpL!R!9sS6(-E zZ;01@Bj4jK{qd{a<9C0(yZgxBzqIyC-xrtjX!nM1_<=k8{+DjL+u#4T+uwiUi``qE z{jKiaZ~U%LJG(dC-1*9@zw`FhUw`}RyI<(;|L))TL4M;6zvpi}`Za#zWBkS=Us+#I zb?yJf+WMU@d!~Eh=I+g-w=er`{?uoFeX+aYjox}WBi&#}OM zCYJm6aVhWUzWwGgcFkR0J>5Kh^90}f?cMus-gxt-?h#)3$j#T?e0|)D>*gC`_de16 z{+l=7d?R1SNAuq9kuUKkk3N3$Up-X7?Rm?7s8a5B^s7T_3vp z#qPU#!S{UV(cAm=p~s$j?B0946;D0()T6I=@BKpezV=`D-tRv@@b7eQ=HEZyzyEso z4*vCn?XN#@`>Najy!XBF&%5`Ye(Evq=I6Wq^=^2*8$a~;7rW`%ryl>S-TZHN3xE7u z-TI*?o_gZ$Q%}6!ZFfKUdbjhR{PpqYyLZM*AARbHFLWPzz58%`@fW(^7n|%uPsCPx zL-)^i|6cbW@qqsQ?mvuw-i-(KQ{3jR`z*Kf7rSrhUS=!4!k;|kVZF+R{N-*U=6tyO zT=$Xgk99xV{qgP--Jj_GNcWF-KiB;e-AmoC@QOdlzx^rR{m*p2-u>C`_3oeK6aE~Z z@K1Grz5A!*0sn0GCjM@^c^ePz3I6nMJj^G&?>BFchv~n46OaE+{M%Ff*&F!#|KR2w zH}B-}zq|XlZoc`3E9Qz`zj@cqx3Y4l?q9q4HXi?DeDcR`-hK1!-QzdkaT`0^pL}Qc zcr1_QAHVq?7ex2AzuW!P<2Uc&&%eY6J@GYO!{7e>b@Se~ zZtlFB>wAp%{uQ>%@Birg?|t9v-S_|b?(KJ9>mI%7e&Dq(-*o3|-J1<`@4t6_^b-%=)|B3F4@!YvkIv>xsL z_{|6Sx3=}(+CBPrx^L&Mee>Vz-uU><2k+eZz;E-CCvLv?%Q5LMeN#&qfAOEc_mS7S zKX4n$UhCfYM!paKBi#K#zThK#*C(HNt$XsO`xy7fi`t@{yP z`lGz)$KG=P&;FaN_($$N^USk%?|uB4XCJ-yiD#aD?A{-G=Gn*Z{rEG_K5_3KedgIG zAG`M~KOevM6a0MQ-cR!LjraaBe!l76ALi%R-TNtie*L|l=I1xu`y>2(^S$Tz`HlB} zhM!N~d!CyeH*+-9U>4YwWX*u(8cI?izWk&ZjuVWi^?cO2>X!<|Mt!Eoo1 zPB`3Uq!SHy9qGiw-9|deaQBf;I^1KVlMVMA>Ey$`MmoiC?~zV9+-Iay4fh@C)WiKo zI?ZtZkxn~2V5HLx4;<pd&Nw_|q%#c<9qG)&!$vyG@bHn&Iy_>evki|N z>FmR!Mmopv=#kDjJZ7YG4UZk^+{5EWI?wREgq)M!LlC?2#@xJZGd!4bL6v(!=vcy3FwW zkuE#DV5G|pFC6Le!;40`!tmmet~k78q$>?C9qG!$%SO7&@bZzaI=o_}s|~Ll>FUF) zM!LrE>XEKFyk?|p4X+*P+QaKcy3X+Wk*+(uVWjH~Zyf3R!<$CB!SLphZaBPUq#F%y z9qGoy+eW&{@b-~zI=o|~n+@+A>E^?`M!LoD?vZXeyl13a4euT4*2DWoy3O$Zk#0MD zV5Hj(9~|lS!-qz?!|>se?l^p8q&p2C9qG=)$40u#@bQuEI(%ZJyA7Wl>F&d)M!LuF z>5=X^d}i5|M;m3Y;j?V-;d5-C;qz?Y;R|fP;frkl;Y;j*;mhp6;VbN*;j8T6;cM)W z;p^;m_>C;V;jirC;cx7c;qUCy;UDa>;f&pBT#b7hHhv_TDx{KB<|vg4 zNokqeG$ECw+B6}xHX$k2HV;u0B~b_=6++Um5QR#Hn-CV7%uSn0tFHfX{GV6PyXQss zzOK&i?^wq=ujRA%=QbsOUz@O?Ro!ft_gJ4c7qcjDqpG%vW?Q`t)!NpZ?e#W^ZBsVe zDI4S5=3sU}HtuM$i|vihd$gRGitWj5?%UP?v-HL zy4g%p*HR+iE*jeG)OoU0+B(xrs8ubI?-mVj_U=4iDzy5T`7{;#6@7Agu)i$%u-0zT zD05@U5`XK?{iUsP_k>=pA!ce#b$+8inLMyB^*)@iLpsuYti;{ltaD#!wcI6PY-^yI zb5n)ixliH;_GPle3A?1D%#9=-{!==mO8=94CTO*Wo0&JY`1ya*dr(>`I-IamGSb{o zSnNNkb8qQ)xpRVLYk*luQ@LO5C+`QPWzxe5yCtK{O@t->Hk}7b<#LY%#nw=>K27z0 z8lOZD#+6DAyYCQ2W{nZt{Y^U~OFzlo5=OO(&Fq?FesP~955|=Vhu!_F{Rbxa&2ijzQlRgRuUmq5n{mnZ~63W`7em6b{ zhhE1BZvKXyqJ;Feqh^&2SA1{O_>`J8o9okmDOw z6H+pyxbBc;Qn_JBw`8Z3owT=ZjrJfOe5^~$(%vu`KeSg+?l)Np@ zK9rLzHf-)9bF7_SkY748LMdT)Ta;OJ!wFyA8mkiPqR>NO$LkI7-+>Oba|?1yog-8e zQrnWu4hH{@xw9@SyYKnL&A#*BeK%D2<}cD(YSCWOCD(FVkJn{e&7K6S#N62sa=Gu# z#F@TN-VHHOsIMKb6=AWvq)VRVj2<7$4w>~6N5$OP7;>%egG3+S`R|7qDm2$l);exc zT+$`qa(a(1WqZx$iyiTI8H8Nz`zq1d_sRR?1_~{;6SVRyQcJoNSkCOxSe9URQ2aRN zPDIF!zMm6AeCNxK8!EKdT5G+vs4M9r&6(Dtt!$^+6R~m3oh>0(`nD$8`96^?HBb<0 z&9vke@g<+6IWshbvLjbp#Tha8B_Y?xbtVS-Hp-S7Mhdl4+~pP(B-23-fCQ6dfp~zt zH2|3el1(xb=Fs$MRFCy4J3~#6G1Xb*d-Cyn1m@-ATknmi3Zt1!o7Hd$eCgRA|+v$WDwg!_a$8H5_fsFqlSai8+&le8mkTxaD|02RMR**p#5hYZ(I#*xB? zz7P`dc2!&mhjC%T3*@!y@!|+BM7Z!lijEylzCxK|l(EV{WFuot5Yr7r4dldMAooD@ zNiKjq1aagm^#*Y!;p_hoB$Xr`N?dVrXd;4S?q1qmQw_tzkgnW6#`Lc%U@LFz~{ zLE1=|(iNl+h$p+;1)|iy$vR zGMJ(a5=g=>Z$K(YxR+lfOi=*Q26@LWMIaU=+)EiqFjM+~c#yEmOOR|5?&SvwQDQ)dxF@K zu**}BXcF$Fii9cMLG(%3MsAUM3(tKrBe+f|P-X zNzyJV-H!4O4o7IFYc+bC6_` zOCWV5Oi=_eAz_yi5O0!;AQd15Oi>0AldwxAh>Royq=kej3LttQ9qdvJA|kl}QVz0( zDSbe^N!XUJ)*ZK)y5V*rZar0mchm6YjhF)lyM>>bYg_B*#1={{4i`%F0VKS>HKa4w z6rzJ%#0zI!NO|Fb3kfgWa3SF0z}VeF@Hm|GDM1-qeD@|Iix^XYm|h?bV?c(3sDUKT z0yzURnj{BgED2K#K%7bDfLsGPN0JYs1yaV8(IDm|c-QYPf%uc;f>@F;#TX=ngkADL zYDuIZiXcWz83xh^#DiTdXltF@+G6F;!q>^3EflMOdUW`bXVhG|v!Y(&JZjf*0SPBzmjaOAB;1Pvhz?SI4h2yHv0|4~ASxiC+{*|Or2HHM zVoSm8Er(%d<^!n^BDt@RnP#gfo`5N(imV?aiOSdh#H zNe2lg$px_@VTv(GD2XjdKFCiJDTortRHh6AQ3VN~1(E`y3(|5EM4yByV?mrq*d+@j zi6jq16C|H0qd-hZ*d-0bi{uuF1qoA(K*S{Mk_+;lqyR(}WHVDnfarm=vr8(74GH&R zLc$b75N{H8$p$GP;a>DWI+&slA|hdzOpq-k+>3|=DO(1H$y*SRf23GakMD)!cDk;x z`Eao$8Mgtr#o5i6%5WQsTLpYc4i!s87p*(nrH`tldJeim$9zNp2)zD`7b-qjED^{B zUO4e01{Y#p;IQD$3zQL^L&_DLj5b1D6p#dva;9j2WRbA%caS=gRFE7Jrs#q+ldy{%L=!}M z5@aWc2~+xmM1pv;%O{X{k~1J@NtmJqQbNKmO(1S0r$LT@WHLn^B#ne!zJgSca4*+M zn4$ynjf7qPfLM@lF9$%xOi=?#1d*{zEl4&A_mWP+6m5`75_b6w5=z3ooB*k3iY7=d z3A_9RX(8cW_;l-;q6gAW!Y-X4svr{XWjlx-QabyA>;@6B%SVuC67D611Sy?^K#ED& zr4hu5gnNkvNoEQ^nW-e~@&%-vgnP*%VG2JlbtLT424X_Oy+nd|Glid*cn~SO)bwtx z&zyf-B01ZwvpsEKgUmbqU!ilbqP(TT;Dc1^*j4EG1tKO%0Z9arT>{Yn$tH0C`2kW- zk_wVb!W3PQ77{0r4iG&M;Uvgz5D`=QgG7T!>_MtPl1a{hq>?a23#6QcU7A6>Nlt^r zgGia84w6a2F5f_8B;a)OHn4%3L zBVm^o5D5wQk_;j+MH56y!Y=h70txoAd%?g4(I7>+s%uwayYp?~gL;FgJ8laB}<&lv#u9{b`7_MoblAj!pyF0WzB83dmd#d%mg}NG!<= zki#J7NUnpdBw@-Fkmn@RLH2|AlVpLogOoC55=a&aYaR!wCCLT}BVmdSNHfS{cG(7^ z0dn~=$ZU{tOfdzCBw?2rkT{ZSAbuoFu>>h0VV8X%t|V7MTtF@{Wg( ztS4d0RFH2Vuh?Z5$RrZ(#Q|hBQ_MjUN!TS0o1B$;K_Bv9Nf`kAd?8^<4-j(_yrrsAkN^^Pe+}}ODJmc#B<%7Qq>dyLq>Y3r zT|xSQEM=FwAetaI&x70tF=k3H5IYifc?J?satWk{gei(3h9vCr2*i!#BFGDn45lc9 z1d_1J8;}YT?&TK=Qxrh7LEf@U5r_o|_fiHD%#=PL9whAY5+s|1d-*}a6eSQV5_WkE z5=z3oyaV~k6h6Li5_WkH(n7+$bdVsWu?vV2h&8+10Z|3n$h{PT=pv=DCx|TxyF3Mn zCgEPHNSM+cM4yCR9)dWLa4*k6l9b|P*)dkN2{;maE_2QKaqzGTj8O`hX?SD3Kqt}qfn!s}ZDI#W#{ zI><%5aK?p{7aq8f@WKrj0xk|**deSOhm$^rC}WH7-b7>(V+s({3&i0($Z!xfkYlqz z&VY<2$pINl!W07#XOcM}*FesZcympqVK z5-Erxh!InUf%E}c!Y-#lG(fK11Q|ubl(8UoB(lZDO|513ACP{1t7mkxEBQw9i)623Zeuugy`)6ncCpW_?$*nnB!t?8oT9Y%Ji-dLgAle}B&V!5wu^^cZ zk`59~k_%!*!W3hWP!d~^e2||cQV=DOsZ1FLq6)HU7Dx(+F35j3LG($OG8V*%gk7>g zl1TDEG(qy2G77|mgk91=yhv_=SdcKq2t-W6F1aA@NeVzzK{hjG1c)BUA9hIvu_57J zOh}kw2;xn`F4-UjB;1Q0NC#8&K}00%k_obfgnJQ@ASG;|pS&CaSuRDwcYH4#x6`$R zkVQqpaoh&r7H2~+eT&;r+$!KpvY<$?zG&82CpD;&=sIW#&GQifAn^J#UZ{9}ksv1* zc;Up0g}4y&0*B?^yg(W2b4a;@lhNrYGX&qQVx$vdS`nj<)7Gaz_JTNF0vP}j3zB3H zQVo(yau(zQ2~!4xJSTAk`41$3Bn2b^q?{=lAXy~r`yHf?Bo!owgekfp%_Qt12hjw{ zI|;HA#DppRK_WrC*yR&QJjof5vm{K>0x2P3mnIN5lG7kZKr)%44w6Q~E?+?^NVu2l zBuvo(`9{Jne?TlqxR(PUVy38pB!awWms*f)67D6Pgelq}l_c!)8zhv3dpQA8&lF9N zToQKq3DQEsz2uWHMGvH%gk3s8R6!!Rm+c^WNNMW_vKz#PT|Rd6n-*ON!aBJNI41j!cSTDz?1!Rqqzii;m41&)eB^DhuFNeW0Ji0l%G21quE z1IQ1MdXiL-ToR_}g0zr0fpmcAfyhsS>;@4rr9VhC$QFB$Dv)H7Ga#uXOwj@C*LY9PrVo$OKvA|>Ho zGD(=C4I(39mlhBS3HOo=A}~c0L`uRg^&kQX_7cBfQG;}ly4=K7QHXTDBYbjckaoxI z0!6`Y;T<6cw*ztOf?G_V;kGXh$Y(1GCFc!Vy*n>%6Z|Fs%)}RblLh{nlJ-HOH4{Px zF6V`a7k0Ri^1>Du5?N0}1!y z3G$sOe2%#!?2-iXn}mDWOu`fqNIQrnyKDtf0a?qv%mf*Nl$!A%yGhvP5J(gW_u@l> zl$yyP#U$*q7sQc-dvOLi&J=#WQc2h)0pu|W_Yy+F6nOtDrWjBZo$rTVMkO-!jgCvu% zOFT#c3HKrrdWVTN!TSB#CE}bVHKuJT;!RK>Oz{^ePJ+e z=iqj(x)A7kUs!@$SKK<_7Sk#7?+br4ai4PWlcXcfptIsBfQn0_be_8KO@`~JjD5oT zz7P`dKdQJ87U9B#7s&gg#|sx+h;ZS96dgO9e1$T_C^IDkk&TSWL`*jjHINg3f!qVp zC%FLf5X6zM)EmT^gs=ZUkW`X%kS`=m=>cL+g17Xo6eNIz-Cu(|W{L_(2noBq1*s#+ z1Zg8-N>`9RAfD`U7eo`})_IWoAjVAT1!70SF3&*XNiKoZkT69N#E^tt9)Y-#Tm*Rm zlED;ZkU$c4c>_{G!oB<=VTuBXHpn}6DFU$|;af|=3>#Dj!gUV>zka4$bdn4$z? zMZzwRK|)EmmvjySxS|C*fY2NtnXVizY}uyW9sc zA>m$1K)f<`3BP(zlxMnK{3ywvr!0JXv8vTOb3vi7DSdEf#kc=8NWC&adVpAv%mpa} z5tF2WRD!%`iV8?5i5!`)F3&-d zNiKoZkuXIO#Ds)hNboNJzLB8AvBnR6!&l+Ow5~L`?l(G)OHc%EeyF zg2((qK?Ap=aO;j+OkHt15x1VoLgh4kc_Ze)#a+UW%vG(jInIT`q(z0oXaEVXZw>Cu zHihUQ7xBUw7gAn$;6lO+H(Us~IB;Q?5Ht=aebP|I7T>*z$RfrRAf^|H!+DV5AZj3q zvp~*(j3&te8B4+x0}yADIUv_S&XMGUXn~Y5g%!<7@UAN_f%uc;f>@F;#TX=ngkADL zYDuIZiXcWz83xh^#DiT`2(CP{1t7mkxEBQw9i;pi3ZevJ#V)5nR6sUxFC$2h z@?#8$EeX3^0f{2vUerKNFl8i&J_);A0C6PYUd&0D!p}@z@PCa`&kIq)4}DF9Ig+02v?Ao$}#B<<{y z3SvXTy_k?N#Sp}sgk7>h3P`vYJ&+Ej=!1wz*d-HW3kmlkB0ecdHobgqT*u=;O4_DUiJ&PM1Ii zfW(3%+k;etq>`Kkxj@2{!645`96|mA2_Q)UNdPHliUvp)3HyErsUt}R$su8iE=V&8 zyU0N_K?+WS>;y4kN`H_@5N~$*1QJhj2IMRWQ?x)zNZ6$b#Es-M$PtiCrl^CYk+92G zkO~s+m#kLA;s5&r3Xr zlwE2De~?ILD9G#GR{bk<7$`SLz0=KX% zQ5uk#=m*hEpim-XA|{0sWdhX`bpT1G0jUxV0}?UG7O3+)kRDML5j!~%jU{4I0MR9& zWTIvwb}}Iv1tevX8_`7|Z=!ER>?9^KB4Sb~Q3jBVs2xaPCq1GOKoTZ75nTWh5!Df~ zlQ)qe5tGD3+>?~3g@~O*MEXDile~$zCkatK5j#nMwlBbJ>(efRlB8k3GBc<1OONVcmm`C zY#?9)J8%zT02_eK0PO(30d$aHg$^6AhaZ0f3!ypzz0Br zVTS?+LonEgK`#u{Fwnu-d>;(3oFDvHh6QJSHn(5(3&-E^;HNf z#w$DF)spe%Z1CnbF9#S2Fc%;eK%W2!$#`=%cypUq0Zaf`3Gf^s6`-66cyl&*bDRAE z#sRnkWB~*aFo7NT=J1f)tpUOSngQwnOpxG>4h49~oAHp_hXc$8hy>6iK!P_q6yPCm z#zSs51MmYV0f-04WCA)A;303uLvA+!Z~;gIa3f#>IuvjZc*yNj0M-M11E>HHBSFRv z+yfqR`)B|MfJ6Wb0wl=TfqTG1Zl44Y1W*Z(4N%VncHkcHklT#`JOOe6LJ63_4%~wn zzy@G5Ks!JSfF2S==&%KQ==d987{E+`-2kctND!gJ7VM#81%N4l4}b(iK>>py7;MC# z7Y1q==;Ndlegr1tN1zBl0=EnXSO=g5U=9!fP)@KNAC!GSnn1ch5kQJSeSm~}i0^{| zmeaux$tVo$Fo?%#6TG%Jib+`v%jw{UWa18aOJJ|I`ilNdvP}JIschN|8$F;7g#AQmSyaUvMQsW=sm$QFQl01+Z3 z2XV3=z%qal0JZ?p0D1&Ski-BC1Xu}R4iErP4v-8WWdcfd4gl~2Fa&S|$OP~vU;;XH zY5)WQSOJ6r)C0%>BuEh0p+A5RfIff|Kr(=c00{y+r~?E7SOACtWB^hCfeGxu#RLGD z0C)pP0VD)WU**7R!At3p_jezn9NuXYq~ z&J=IXXF0$~fVlv%0HXpBH&HtxuKo)>M z0TbAPZw?Q+*cu=Vpc$YRU>p(_qr(+EWFI`_;^6?Z0U`l32#~NC9j@RZ``{rLn*sO% zlmNs5Tw($`T){*3!9y-K0B`|F18^l^0y<#jhg>`w zzyTl;U=jfmUa2_Oid65s~FcP6j{_kf37Yz*KDkPEPZfC=otJ%|Bp05$`( z1N;UUf`rNFum*dm`Ws*vz)XPM04fAXn2Zi zNJe2`he13}8{@T?qS#Fq!*Z(lA(?mvzc6ran_k7CCQ*idjpXgLN5aiRhlMq2WARHb zF%%9qiGoLCFav`lhlNJ(g`LI1Uu}BXI1$Vf(=mv}2~C^`#&9Z5g(I>B;3t4JA~zny z$$kLK07d}V0z?Do5+Gq?48TBul>p`d0RZIyNdS3FK&i$70Db_50B!)80A2)4K!-*R zfFJ-XfKY&XfcF3qNN8n;{s2Az`T$M<$pAJ4NN9}#PzMMEumBJP$N&leZeeFYY?EjhEP{t1*b;9pWHsz$1g)9dmRyCfV!W~=UhO#E zoF(2|$Z~*@0CNFi0rUxwa6AS8Z!TmNzyyGm0M7wZ0Uk2}Z_W~LF2o;T9DqAO7C-<2 z6WD=o4iCA`8Xydy8K4fp7zsjAz2Q~(4c;VnCG4|vFRqX8TM z5&TEfDOQAfOdcu z09_(EK;RFo2l=y8%=QkYF7HfIT#?05Apc0gzzWxgCQc7;MC#7Y1q==;Ndl zegr1rN1!!+1cnU;SO=g5U=9!fP);xtAC!4O@j$vj5kQJSeSn0Kh>yeo%W39^WE2K= z7{ueW30~U^#qwAT%W39^Wa43YdEnT#M=m?x%V5Q`IhZzzQG~ zpdLU5umuTncIXe_1E3G!1dt3MB0z$i9n=8=0W1K-05Sk6KqnK}fr|+MFahuekOD{u zn7|I$Lm=?rs2E|QHLknQ>#XR9uRVw5nZVLHr>i9g>;ZNH7ywMb@bh8(x{qp!j=>a1YJ^{s3hF9soB8knn~bxCak_ z4FEp?tN=Cu{9pn*a1U+(!2s_7!U290Fo7Mo2mGL@*aFZ2pah@-po4@d=&&Ap_%Zn2oM zk??KFlFo|t*W{VsRt;9I|yfsdF0c-|n2T%pj1(=G+O-FIMC%^&#AAn*2Cx9dZBy2hc&=H#4q!ONNT|g39ZLk2C7q$qnxv6&_&xh_F}~-6 zuwn#9GZ=4fD&Ac9(j}cO8xhvHvQ4H2pby}LYDsu=Q}O1)7XtVKJOpqCNF_i*65iZY zyt!~Z^_F!2UjWPj0szXHfHyZ4Z!X*wU^T#NfDnK>0w%Bn9&$Jya!Uk28$cfbO#l-l zc%ef+9&$Jya?5gn`v7(T@dQZlLWg`jVg?1OvPS2nT2(U;;aE58eP<06GAa08|0=kYIxjo3V%X`2foR3IS{Z zq6v^-gASXqhxWw)_zcN}lNi`ykc2@u3}#_47bjyeOvOnj{0K~*18@SM2Y@|*J3tmd z9l&mUbjpdCk_^-pXaKH}9Pq*cJsi-hmWaAEN%gw7$yB%EXMivsf$@Ta`01Vp_cfi_QY5hW4yKmr$rd+ zVH}OIKE}=%Ydyekb;cN{r5Jl-oQbgo#vT~!V2sxma9V<~2;*doO)z%DSQ}%!wt&+D z#*(e_fbrk|94W*%bDwa6L6!5HG?7YwI9koaS`AH!bNB6AEi z4hp3>`5Hs32a;M0k7J0}48c$rL!4~GQ1n2ef#J5Hf;(Qb4~G2@3gd9{{3qzc&!O;4F#1+GR7~(YzF;qV&T*Ap07*2U0d5PgM4Dp(Q80uh%lfN*; z`<#T~uA#zfyrwpWY6peYI9Y}v-scSr<1oZ)dSIxHAx{3l5btvXhEW*eHLWnzJScp} z$#)pyeg4KU2}8VQIEH!{;$#Pgc%Ld5ZXGIE;x(1F%j^0b6o%kr;k3>Wyw4~M4`GPc zv@J|alTBD$`|{3T7RqyS){MV9CiTSBK`Rd@_89SYa)W6P!=$j^e;;19=J{>$ko}Xt z`|iNt{p1Hj>bBi^VENc#d)~6~gZh@Y6n^#JzGl~p@E#*ne(K%(u(j)UB_$tK-NE*g zH*OsN<-?&ni?-V;nfKMzE}gV7Vto0By?178*H?;EP8vLJ;>Jy%d&~^hyY>2@)vjQR z>c^+7lyd?;+syo_v+2n}rCqwF)pt%6_YL#?Ja?w9&Za*H^;_33-hD`E<`(T+&il>& z{C(5Z-?hcmzfCmXPNDn2E?s)|>=M6oznf#zXpC(ldOP4Nxg{+<_4hmWy zywYdcx|QN!lNrlGR{G3YyDZ2rRJ=CO#CgTCwg1?!3|VLFvwB%b$Prf$XKlYhTPA70 z>eo&2(e$$~Rs?DfnAcs^rOygG4{hby%75EUy*#qd>zLJ_{AWhiIe+`2w8A$3e9CjJ zUo!&kZ92Ljv!m-Dg}jEl9+}rtY-HIblZLJN-`0+(@&Z|VUU~bLM7>V=ACE5CAIrvP z+^-6{*~4j%|AGm(R>a+XFg*2R4^z_#<90u-?dEoGjNY!j&zE0&6V+|skIVB1I9S?0 zh#maBpTV-#yVYj66dv1UKKQZ0ijbEjMT@3qE*iKl)#+Q{rmH7C4Cm&o`?p;yf0 z7lX!pmfaHBScU%`b5i5ojbG~(E1g~p^^bGZcHfTR-48GNZ|&>LYgfjMkSX@h zyQS8%$uXx!nkd^JYFqR)EA9Cv_hSbanqAzke91G@)Mll=c&T=@RwAgjihdAYrNta3Ovq);R2)||6OMc1>n zX56{%5a&63aMHrdDGAF$y%$&b+bO;C{T``2(V^J2^8BJcQ4Jd(l$DO38M5MC$(@45 ztIod;G&+}?IpzMTlBaR!+k;vEX#RA)oHi$*|Bi%<=2;PY#vV^=?eFulB!9(~C2LMAzVkBuem=G$ z{j>8f&jE|x&%d18W8v7ZJMWI3h1}+%?UvirB^op1Bn=igz7;|Y@ z&cgMj+Y$>LAI6QEtEiN*EyyQln!;R@gi50-`$rci-#T)3dHAun;53N$4$q8^3~;=0MtO7DtLg=AyYd#%7D(bBM*` zTbljFMJGq;uaBQ!bj2ZX=gKncyj|Y2PO5i3wBv*FZTBu#ZR1rt!Vas3xJHGBbp&Sy ze7&ODKUdTA@$Sj(I@3G5HaC{c|MYIy>Y@GIEKcqleKW;spK8CT(9nm!?)6ymX>V&? z&+m)n1JY$PtArji8pTgGG@0GiUJ+gYA=k>}p99-J1Y8?3>-dkJZ(ax2eIF5JGe^^A zy56QQKBCQ9wuoZrw{i`ddLs&p?8hPeA2&U;&t!DcMo}v-m{gCGna=gR@e4E zJ;G+(-EpI}pG_OHB_>W|TjcT4W*Lo-)1JOB)SGrPd~k~SwA49+wuiT7eH|Yhu%o5Q zw5jZ=!*u<5O14L5Djl6Ye9JC9@%D@M2OqD{G5DHN6!E_^nl&0@Bn@3GF1P&C=+)zY z2ky=OJ>&6;Pll_V$4`~3-x|1dnyS*f-ciLZo3|#}Njf$inH7CcZ}`@+ORVi%qFPl{ z8^(M*Zcvw~V!Jo#;+j{p9sZm*)m#56qE~ur|w+&V)yyTh$~rRETh9d zJpP#O>y)CFwl3rLC*x<^2RPrb?^s=Wa^Ba#g3kXQx^;9vx7V%p?bfQ&z0;I`sObiU ziemyZzTSEK)9}@WW#=OMYdALK*6sW-EK1Km&$C1F-;D7KQYGW{kM8O18KGA>NnN?N z$a;R=sCBL5q$%g+PcBEyN$@q6O}@K2xo()rKXs$L0!^A1+SrzUn{^_!JoBoxw@*&~ z#}M5SYvbk)-RRJ|Q19e%we<^~S{FvG~!x{Y+C*6u1 zNo>2`J>AC>_Dy}e(em9rr+y6@*S93*86Rx1`mbfG>(|)^ZCx$5EKX@Yp4ognHEYlT z@zb!!nLjPv8#5lKdIXRl`K%@pU2i+)FUDF5I8N;-~4bE?ut8{eS#ds@Q+s z|Nn2<|MRcZ^d-F_7QM(33c>?Q#*d8c)iuVxU%weg6D})ueZ6CcQNNP|UJgArEaBjx z)uYwa+h<*}OMAKVWr4=UX=61i&&|88yz=8dUl5<7nlW+JH63OW6WAK-)u~zF8l3C* zd;QwV5!v7Jk?Q2)9 z@cF^T)xU#srj8tE{r#L~O^wys_Kd`E>xj2@Zfk-x-iN=FPaQ2>jap&%{o;+N6WTsH zCmL_Kp1bhEa7vq| z=lK3X_4(C-drWH<6?^yu-db{_c*;xLY>O2A`R`oyg5D4Mv8N>W=em){KAo`t7+v({ z<y}7#Sp`!h$voGRpGxs|NMcw#$bYJJjZ&6{fN}*l- zW=`m@zSeAi*~2c?L++T}e41wE^UG7G@m|J-z&ERIeNEJ`s9#YS=v?wF?VHb!UUsVr zzb2m6IdSFQ;PHDb#(mi{%3#B&c7VdEC4 zNk`up`O;n1->u!OiTzy*Ixa;}$!FU%M{bH0)&h^<|s$w&?d9 zbmL~qh+Bc~9=3K9?o7C_E^zSY>y;+aFZ9hyZfhM`Zy%d@} zX{vha(8{OoW2|lSI_!V1UaRaoAoaoy*Gb*AW|R6x(I)l1#iLPK&z!^REe}Id<8ufA`3H^WswO(#qVy_*~eh zm|a@D$*-@?m%9enSNyc>wX)~l(#}`%kzqLv$DjBYP5I{I^Wrasc|#`tC|fhD@Ql1R zIi<^`f{a;tVHdkO>(mcizEtPR;|%}S^_~6HjyJyCHE93oG0$7&>HFp^QnC;1?6oXO zakTTPtNVvNFnEx6ZH7ja*4k4^{eEipyDlj2H83gkJvZOKb$e>>yR++}{u$FRY+k)f z`rcP6hn0gO(^r2oNZ&ShxJ_==%bo)keSfrgcaUz;O9P9JffH?A>i(p?Sv0_N(`>g( z2@eey-t~S_y~MuKM(6evwWm?{)`cY=ibz}*HYQIwOYU-_+p^7-j~A!yiiy56VbY}4 z=a-l{ottuO`O_YYoo3W7ueohGci*#RC%mWp<2w3*vEtfISG#sA9vUKEaX?|u$_+#7$SiN}RXZDfe9Z z%KyTV8OPn`B<3z}@=AH1Gv|$~<0D1&m;;6zT=q1tobKunx9-KuS9^x5tLP`W>pj=) zC4PG0;aLNllNQ+q6Mn@RhZwwhbF9L^a>c(xXIY+72v_p`JWcuHyR9Khk2)K!DEpCn zZ`Z1cLwCMdzR2(XlAUi}EeX`VJhkNU_3Ob&2klQ?-{$l*vv7OT*DJ@p8n1ZzPMZ4q z=u`3R-jiMb*L%~nb-@+4F4wxhdH%fC|8iE}VdAw#C%>)UAG&VaX4{aZx(Ny^YFphm zJ66VroV({2)Vp7oBeTbT|F+yH$gRj=xz(pV8%Ol`?Pj~P`jA3y{I&HLW_Wk^^3ytz zZTa%(Up*R@=``v%{PuX$bZoKtfbU;7&fGq(TyOIDqkYq4!$-(mmrBN;o^@)*wvNA( zj{hoq8kn)wPkFhag@SGK<8(8v(~}bMpSyc~*Tf}mH5LATTHQBhAO0SltoN701K-@5 z^3|v0)78n9@0U6C|8Dcfq2f-@+yMtdBG#$B8@@B7P%+r%V^yqtPhxw7e2l2Js`!Gc zRYFK*%jx%X*W6G!)Xn4RwL6z42BlxQa@$PhRa-B;{5hE;-u1nr+}s!|SJ<)jiu$un zkBXh1>rHRCH`aXcuzgz>u5UKC=^Q2`M*pk|xKr}VrLv}A$-8)QXtT7v)pE=GGLzQU z*~%+6r9^w57X4|pUE8kuWt85J)WSiYS*LCd9=0kiT8NeGpVPf!l2*j+V$sLsTWtY0 zTM{HcYrR`r2Wf~N4sR=-ucS+3owrze<5Kh?_qw1&#V^@Oe7>&@rO_X^)r>YujM z{2nu7Q;+hN#z6TdQRlc*t)Kn=420o zoxgt{_1*pVxvbP`_g?GPI4Xr)XiJ*qarHyV+_EJv-;UNd4|XZO6m)n~sQZ+G6K(!^ zer(vs6F-jneIGh@bl_D-^)a*KUMzm9_%y&e%U;FNb3ow!<;4jR$?*@*?>g3ZZ%Kd8 zH;qdj%#>9>d+UgQ#KepdPZN62kL>0@t$x6IGq)Ej8?T*9%LxlAeirxpUdFIRO9S1b zZ00`vmYx4s(%I_1pJTpeJ8Mq&zwqy0k?(b`%$YmW`PW8`fAyWWY&jP@eqd8=)X^#b z4%w6?`p}xX$Tg>W_4+k;FD^H{fB29vYySPKvDT4a&f2=D51n?_;Gb`mZ>Fyqqo$*k zHTA8}pbZvdQ;oHj>igCXwR({~#o)B5$0C>Eha;z*R#u+5r_bHTG0N3_(;Rh8SEO8c zJ0(}5zpqQ+_7(Zv=jp31RXlQ|C?n1xXH>btn%1m&rWO+y`H5eteMu~p+jptG;I7?o z(G-J}6QkHBy41egHeR(6bAje_a*|{%b9KBXbJu}ul&ayX~ z>vJLhi}1kQ!7cB)`OB_t_G8okY`hYDeDJE-ollY##w&c?vth!bCG`W=PWs={8#m8g z?Y+(9lI{fWa%cS+GouZb-Bf$1c0~Tn{@0iTDNYNwMr=(P_i)DwqZ!)khyDz2n56D> zcv^K|9sSNpgL`;J=i050I^%TcuSsax zzGpjr_d6k*skU(K(LIeTKLjn@m-cM>(hIX=og-%~UX-D6HdA|?@^#~w0Vj{?jcI={ z%Gs>X8nqoa6N;W`7@S=)=%Z`Th5>JO2?zT9@5dtB_A#satm*CWtXtqUkM{2xXSQcg z7#4NHQhUZ*C-0(@H|_l%Rh|3&?Ak!1xMI(zu4R&TaCAG|RtKGQHKVnoXAy1oNjJr%llmQC+ge?zg;NU^o6QNsqKhW3Rq zD!-oWoH`*?@BZxC{0a5r%U&)lS5a?y7BQ;D+T-Wvx$|s1Kb1dtrm#qB>jTZngEy@> zC0e`3|EpV0%ahrOQO`CiS86Z(CnV+{=kexaf_p0$cIYnd%KEvonk}_gRIf+)3$BfcAvIwp0;hgdlp5eDIfPy|B(Nc#NRwQ1P!k)eN!;~zf&SyXoh1R4y}+!1tWx2aO2p}D z>kBIz=QEGV!Y$R`f-4i9t^qZY8)UN}n2Z|9Fk1liMJJj~VDhR~Xw$>p?==*1+G$%z zXBqrK=mpc&NUk5O%rqZ@mWFUvLB%V8B@7jTR{;4r<&@fx`8KUT$te{C676Y%?&CG2 zrl`tRa4bUR_z<3s=*NeG%nphDhhaw@ZOrBTZU>D$ItcmJ@85tL(k%be;mQnPYE`SG z8S?cGSPR+iAF@5=7<|(wc?_QL%QyC^JhI$TvOO=p+$&esxrN2QGyHzCg2FR|9=u>d z+;A*i{BZkk+U^ikK0dWki8m@aPlIPXa8S&6-4;&22;?9a=AaekKXmT&Ex~=8)`84|X&@l4 z@QD{cC~lvkVP-LR1)c7TS;kq=lqXz$!+0`l)~G*tlJ!I3iQ1g_%y}#ZgP@l_PLe)N z89Ra;^B3sdwa>rRAIYG{@c1P)DA3b(!8y!8ooIjnIOR$44orqH9{z7|WFvwdN^MtE zv%?AjuW9GsUPz-s9rUSqgFL@hU9f95fG268wU&i_<+x$5l6r)J163{Fa-bb?TZ#&k z;GDe7ShEZwDLz-ROk(85kLAEAMpucn<8EprCn9lgfMY7X239G&%?cK4am(VWtu%>}N)w#H(&NFKWp@v$uxq=ixhlrslR!Xhbph z^e331gqXsFoH0hv%Fq^2xk74BDV`;8YeSfWAZ|$k0M2vq_s;QfiL<<8;Q(LP4Uegm}>(^L=Trai-kdc z><0hvC)AA~>M(+QG-8(`!i-V1SCi5Vl`apYGZFQUQKN67ELe4xv^rnXjYPOjBg~D! z(u7gX8=d#ccUJTqb=8l(5?!&zU=m!TBGBUBvN?&?f=uV~ssrb@n!p5No-}Sn&~qo^ zI+TX#LF25x3BtMrO=F#KjNFo(f`@uxGUg0^bM{~T4e&av;MHb+%O>~@mC!3h$U9cb z6G<~xT~Mm3f+6gpq|Pi>TOO-D(DDQHr3Y9|O9GN+G(fi^#El3EONP)ZVUp%ln&t?r zx+)xERtyib+Esyr##L|Nx-T%qB9svyFl>J#J3V;^J^2rB;D>@k+r_NM@LA%Ll>KW{ zb|E67q2<8*f5W^q ztF%L?3o&zqOYdR&jK1c(6z^rmh6HXZ4;XoPeON1I_U&gTrxf^L4a`N|@vsBe^heXh z6eLc`p8d1beBhgiJL3Yf0YHnI#x0cp?s3Rd1m33e+wB)=hn$YUjKq}bdmJ1$E>Xty zyQ4Zk)lIRnWV-`M^Kp*5nn^-g83#tcx*8dUEt`Ff6URL1j_&*#Bjqg5$mgfkUN6jY8|3xXewArw{9Z-Q5d_1YGDDgQq1da_oQw9m-%#DjfgHm@|Vwf+;^es zH*;+`?aCJfRN9)}6Vb7Om^G3xu#JAcxg2qsFde})eZ90|mw&Y4YZsuI40jJ^AW=|8 z(>U%=8SYQqv*ekrg2HM#Otx<`3#m>QNAvDbNr+VZH>U>?DygBD>Tnfb>q?g^%e~0l zdAx^=yvZzB%I#D;B=XjR9!G)OmEh?tuzsoSckIE4Ve zREk}kjJ{yWRr)i+bp24iQB_{K#!vWigWXW#_F_hU z)$$o|f?P3E05_b9O?mACE~nPw)#7OVgI9O_^DrK|bLs5J)uFw0Z7tifvvlR+@-a7h z{_N55HPHUmZT)j=?c?0SSF#~CL~q0+0^4PLIFBXbyUloiiemu$H8fiC5*hdCVu0Lb z6Il!w^~bm%7Dps@YZ(0*)4;8jA^U3>c$!JVwUB|L2nSahk9;j0PxF{Z1c=(s|G{}O+vh?(4_s6R`7oCOBcfItCP%l#o~Lp4P%v5 zx~4ow*QHdtHarn4RLef7GQyBfxF%Xsv<5gZOv{Shb$;PdQOK;U@*LZA%;r|r;YDKl zhSY@{p;J5DYFR?Qdbh<1&N^5!#TU$Ny@1UNdb2mp2k#Bw1o1u=OJN6#2Apo>AVlG` zupkp(20a1;hixC=QE*_GhvZzvvSt29U5lyQ<(v|{r|q8(h|(xFF~J`o0uf!L_E>h~ z474Tk!!qfH%nOVKDB+!%tmvw%8TVR-7y)QP;Pn-G-fJpK(JE-8GCh`K5=W8W&o_G@@o^m(Vw? zHbvObTNX;9I!;v%VB4owEi?srS=Ghuwx)HA4%{50n(wgQ*ItF};gI?$h;}kr8k67} zs<=_!5uSj!+{akxA8%ygzShAT;MqV0V~?b}knzCx#6-Xc>dsp5Js}%{y3&HmDs^z0 z?cM3$=63B@^;X{n{>5Q5mq~L)GT`Fp+~G&jN6V+(*=pP|Bsi>=m69u;E!8u_5zr+6 zs+>#b{7VwN0^o&;!dnbg+u<%!^`u-@MS-*bt zl^=Hg2D6|P!qmKa31u1iueNDiz_}Q?#_kJt@ntQ=BC`R|OR?*b;NrYs6_B_atoIvt z6su0|LsZJVSeieuvyj`a8~%|gCk2OXFE_!E%F~pB=z%)oxdUs~BeCF^DGK%aWG&O` z;b5@>$7qGwoNSf?Mi0O1E6M09N>rbN|D6RFv0>h___`|uc)Q?I=t^a0T z`O(KYDF=4t^tHz6$vlnDl{7$)i<8-tX;4JL2=!kQadk1#US^2^gT(UC)6!{QRQ03onS)0vwX zpc)vklV0Vr<$h^uy#3~EFem!X=d-5>5zh~VmYlB8IVE@6c|EZwP~Aa&UWXLa+YK!p zwX3g-*Ihu)8OGq`1Bq55^D?RrZj~Y#HFFYFAtQiQNU!0_xIGJyL3nb_xp*@t7LPF( zN-9N?k-R-6UVMy<*;Aqjaz|&S8FVK*?}a9orLCTLQK85Nhw=8C8-HE5wx7;x_t}8p zs3zAA8R-JkPv%`6c$GSRQ4iWSwG12R0fXf4YxBde_aMxz)N)26OT^7WjsWf3?33?8 z4i$a@+RH_K6m zMQQIRa1;w&v6<^MOJ_Mi zj|3%r@P{vulalTdV+8XKGRZq(k*@)RRs#C5`1hi6Z%O4`9ef~@f+!&8=8@Mq=aIMn zV2~OVDdza-+{+G*kEv8bpQ~}?L;KZR$|ZiD<&wLh*=h^eZ|gRyGwJQgca6zlM^l>%XlrXICdVYl&9f zA2Qey6N9zxmF$s0MI3DiTN6|F5US~U)p|3{3ueX0|M4jU(vdXVA&hwg&|eQgrjL=& zd$R%#H&8P7Cc9#G2)xoi;uidAF44l-9*6=1g?)Qur z$>0NEla)uGIXi|!5xsXS5c45IL6~mgNS|p?A_-33p8^<63uj}BYWWX6q!~A)$?KY7 z<Ld+yBUwd7# zybW;`{10f8R0;U!RMJ~ls$z3;1tE0DH>gus_;}+s$Yp`?UszO2;K>=ZTK_|m64q`FrJj#PVW&?x6ZpCjtVGIAyFp>iXy^YJs$ zAc_$-_0HL3y9ii65coiW9!`I?y@Xga4ER$eoZZo4YEjrI``3j(nto9|_!M8>J84TI z28ouxcLEY(J+Vf)Cq{7+uZxLV7820@*~dTP3SWSasYmz~6N^E0au?Jb<;CcRPznl8k#vvaJEPD&IZ(+T#<<+b53K=@v%Iwz{?GIx9C8KHym} zLuNTKID5HYPPAVyB;!apXo3_MrL*#a2qW(4SF5I?EdS~#ax4^iRo@EpG#-?ZW5^#` zRei3TT(d14m{c7MrZ`Jw%`y{L|Bsw{QdA*@C(L26Q`B)#%w}TyzsqDPZ{D4&wIMh{A7>(c>etSaQrx2d!9Vi$N;I85bAY;BoJr?Qn+C! zjHv!$#|@sT{x%1Y4MJ$tl?iel`92_WVxxqYL3zm)H;fJYV>uEa4Y_;fb*O-$K0b#{zoq z$Qke@Jh7Aa{3wUg3gv`7Nng z;b)}COJzWOeqLu|lN4?*t(C!V(oSPaKsyqE*vOfkY{X+4Nkm0Qkna4{NVBDwn@AK@ z6nC-{QLrq}qhg|?)HF8%FHk5y$QV_0DU-$ENE8cvgaWShi_$qYAHd`W`d!;u(y-6! zo;AuEmpJW=7+J(-wSl+bWe1tCP&%KeoXOFx#{Np`dAo4yS>fPawJ3PieIqPW<4al^ zic+JbxRlI~UWS#R(2^gUMHL+Y;gqeGIvFrJ2`bvylP{F>2%r~qD;7gOYGC*&+%DbB zvvhaW#o3j^z-XLFndr~1i*~uci(k3mhC~I3z&9d<1UEp8jJ=@-VjXd^7f zqf*U}-7WG@FYX?9&iM;nb+%$9azbz?CElVdf`OR@^oL$`x!fjQo48}znoEsR!o7D+PS$a+V7{czS0nLVl z1|+S~m@=|O#2`WEYa21zSu|?e>?^_D-A`B?vlEQIKajgUX93%Wa(Z zj2gft>FilW_0&jI3t~>~QVsGwl4QP8^=t|I_bTiODwD07)g-2^swY9wt$|+OQX<+E zUeb+uTZ5W&`uhrv>1uRqd3TL6m`G>=V14TxmN#|5Bcl3c>bUfGtXlf}jFwDy7JwLo zzG2>OpKz^nsL7+#q}BaPfS<#IlCM=^SoHe+{c-?57W*!*d`Jdj5s&p^A42b4Vr*fL z;bJXek6>}uYJh8Ldco^mY<`gW9jLWr_Extza+d;}y_IFMC9QM@&h& zAjm48V-Yh-e^D5f)s$1mg%tGU^-?uP4u}Hk5h#uK8#a`Z%(Jq1HU^Pi5s?m9 zAm{kLHV*}|(kwN9p5DbYI2DUxBCHP5tOTpZ?gsy@J2mvTy>-o}sSzTrBqW_NGU~&O zh|uDo*UrCbcxI&bgzjB5>w8qGvv(n#MGko(g%>H*h4~$#)BTYO#^crBOYXgBnbX73MAVLb0^!263GcX5wb-Td8BxC#tra6 z1PuQho+lodGmFXf$_)m{i`K_a($5a`V26tOV1qF&f@EHsR#nUc)|{JAG`Vv$`C~nO zqt{k!`;F;wk6D%)usih`514$6KrP6U>~Q_?>cXp1prfd?!Nh?~7&g*+l}6lwlWp}_ zm||qK$gX$!xcs;zlc#T7UaL}<3|h57In%_|K}mJz%&Bf>MwR5zcyHBg??jXIvF2R5 zr;c410HjFYg>`{hj2En|>7q@{K5uzyU%577eDkHIX7oDD8$Amsh~xL;Yge9Uef3pp zR3LA(I@2^qxx=7z-P3Ucj*7-M+3|GU4W#3AxTxpR|0XKewuFF{n~|ca8;()n>_DN?onC1g*La2s^JddaWm*lyk>*#wdjDtqV4y!>c?eE zvK^wmE~(inWWL&+RRC>%K75qu`8bFBD0go!1m1N?u+4qw{s4c{D&X-DdoYEQI3sY& zqEw!s)<<-hsVesb_R0y=$~c&<8aGk^ED=>#?0BPd7V!Va_-XuX~BOSO&A?Qvh zYzwcf*P`Oygw(4EPE+w!ypA-ytOby9cCj8Zr>JOj3jc1YSGkrGkv9{aCp$9hQa%?J z8-sAqGXSo?$%5$evJF zI-o=Qa8{K47fRc=OQ-%D00nn`KI&CS-LehP^C1|YQ1vD5fj%P z9FO;a9)gS0Mf~C`G!DdY+;#aoTQfv9 zQ>_p$q%$KTV@yM#VeX z_>Mrj5Mw9mnF*bf`viAPlTW*XrS0xTW#tAUP{BRT=ZxhD!+wrlyT*{))$6;&IhRP^ zKl)zpXGxqIB~%~h&=4nCANQqhL-0jZ=#!}PN`3HyPBS|1KVsG=uW?JFaZ5~4e1FQ; z@t6U1dQ@C|mb3|i^G=NxWVt*+jOKVZ=%X9wW327;rWh0ZGIbGn6T`4 zwX0g|Yq4Htk$POw(4J#UQyY_L(%RoM7I36Fi9Tab;+>&>+VObh;Fk8nnDWjDy}(&i zl%~~Z=q(?ln{Z<{nnTb=y^R~vnQ^Eowmr@L3H}MQfQ5r}{#^?4klEg@0J=&x|G>Np zk{!rLcqu#Ui+1*&Gv}ML(ATplB4mZQ5{mmPBj9n>OBD7Y(^|v(M|vCCtp+m%%=07l zZPU#r%3FF`{2u2O&gsWnCKWDkTv(oH6d^s10O%WZ1_crIOUTiXMcmP0xRs*?n0;>RN~G zK1vv5$J0e@uApfbb}EJQPZ3BXav}A*A@{IRj?4b(C#9#H?0h2mEQ%{yY%({+o0$h3 z?7(x^=m`Tr^bAXLwq9gPDzH;Byh!Qo&8>xmaZ=r+BRSV_7)*{2t%T<~RIxYgYUCyN zDNRi1P$^6|=`Xga+$v7WZx3wG^AV;r+YZ<%xyecRAbB-X%K8j0;qBGYS3il~Ki<#) z;t_trQr6HaZ410U8SU9n`|qg2ddr)=N(bJML-EN2|5PL1>h;?c+&4fb*^qr68SQC? z@7hp;^|Ug7TKDT}qkbO~zG_PJez>@&=*S$Ipi%xl(N_IcGh)|<3QSiK^E)e0HYsRF z7x>47wlm8Vq+7qlW$d|~ViA?HC+)T+G04XSw^Nm>rwiLt+w7GK+^3fM(~t1=CD9k| z@-cfy@YMk_=~sJ9^!Ky?e8aw+=6JDbt2weM!zH$5M04&?fw?s`D?cSDuvZkYG_sI~?0lGuSo)ygGoFjodRDG*xu0Pem@t7(*j`#ZE^u?tDn*=UjBv!h6}nK62gp zA)flJo!U@}{D98oxB;EI+{3CueobvB1)a`J`FW$&_&em&(TMnDpVD;#K6co;h(8)_ zE61Sa{^-L#df3(!nD_qG6?zo2W&OCJ*3nk)i0PWOe8I3Etys{@C@Fo_A^nl;M`i(g#^IQ}*m4 zQ_Dgm%>*kc!=%ftTPF%~CcRV1wB3{RCJfG$cVX{?*j|;y%p)|O=fZ@-D;kfg`6i#22r)^I6jyuotO@e$EwaircW^OCMRDzV zcWkwK?Q-&fqME2#Uy!F%UfZmV>hT_HYpd>ZSN7-s$Q1cj8)|5@AUG~2A1O`ba-@{LrW75@=dtF42pcUBL-o!aIqKR2Nk19om<0u` z!1Ql1V1j-p@uZPnabTLtU3++@zwOYRm8c(M6+exV)kbYAWbz{m$Xt=jiL?iSDs3gX z*a@v__?ms0Qq!dWb*d3n7R`pp`+L0ADb!h~x&{qq$`=d<$aMq(Io&HwWz6y?-8lG82tKvqn1G<;A;aTsCWV9@>fH2C~HrhJEs6xc^=jF_QZb zwbZ)%m}`k;P2s~)Ml`fee!69wImaLbS+UV1_y`5YW}H@?@W7e`rqp8si^|$H9LXW? z)aJg`{x^n~l?YBacJZ-=NRhXXRP{qXdA3Q; zqa{z2Jox->;zP8RMg$}$;#Zr|S8_J(`Lh1{lY#@YZuL5d!8~$ayK^xK$+KzbL1Zv3 z_N*;D7;>X!b|RH#1SV{lC|#~<-`I)yADFGvIeMb#oFNQCOOwpf^dXP|mDz5jYZ@3; zTjf-?z_#K&Y8@5&*Uu%@*>;TA@y~ksTq@5wd!a+y=~){F9t1C^rCQWdhB~Gsu7-;^ zrZJw&BNN`~>o0V#&Zex+D?MN#5O%0g!qK}}HpVb}LlAazIknn>MlUU|V0<6HyhG4L zLjxEy-VmGIFm4^ zXn-r|B|juB7{mwio%2K7-~onC@X@qhCE`UpxO3XLer(Zfz$LQI_(~hPO5*&+u8x00 zMxfCQYJ5A`q^bN|)JzQf1yQc1`oFcL#8@)!(VVtu+sRM5(JwulE-rIO=|;LMfA@F- zMIi~rX^Qm)_8BeQqfL7iHXeY&7h? z_UAM*Wj_`MwS%H1(nQ^m z#1-N{l!5%Zp$~dFr_G|wa-xNZg^B<}9C3I+VMwb$Cl2d$p${Z>-T5~b`kn(?-kKpy zy9dytGEa8yAk*LicCE>M+)=(pcS4x(!Y}LiczFJat!iwY@(gUnOqb zB}7}upVozvtmctk+zYFnxW6`v@csf_#YFxf74hw&y{Ha*jv9MSURvK`eyfoAET-^j ztPonBTs!CG{1kDIip%=UAT{15AXr#vkMPQeJ2f_ScSS!tIdX40+kBTIZ684Kk?nB) z;Qe<-4M9&>?cg^)3IhTFF#a#&q@t05lf9Xv+kZ_7%QDCe@WW?HV`D`U5b)(ffgfRV z!h^&SLP9}`p3RH^VqJ2bd4k?imy02D`-&1w2m2>$n>8|Vam{;scliLY4-gN*e?Y(@ zMnc?yU_GYknvc@>1pDe++xQ zWOlu@wfTI0eOLhG7%U8bq&C=21rr=NVUcztI0#NkGd$G0NKSSJ`A2zEtF>Ag07RfB zTN2xfPHKmdhrg*LKOpu3y-+72>#uYLqixHD7BXQ$9{cwkQ4&k&3}~CJR9M$mSFpGT zOLiAnU~%3WdYv*4Xx9|Q(rj5Rp?^I-f4xJ09LxqONR*GjEze7J%8YY^{#b@j7f4<0mp}axO;3&6i7P9m#RY zCOb7uObevvQ?9mXpTO7PBX=YHh^Sd&({a7Q8j=waEsN9-!Km?M}9cAjL%yyK8#F5svm?Z`NM zQSF6VUO<;UtCF(;?5ww4$Ug+p;fGn@KdNGSx8OVGPjwf8kY$cF6lB-FTIZ(=y-;Na zO0<|ObynMN%d|K$Q#N)5e2*TEs}YVbtfc9FE8rb2`aH9+1H;kg*f+*6J_8tj>XmZT z#^GIQN;}m}njNq3H+Oh6IpB%RvClx&_t+>Sr;oUcHks(`qF5K4AM`RpfWsx8if^;9D7Ac~{vZi18vApb`7wp(# z?hts5r?K<2`^g>=@QY)w<2(AX&6cx|DIpAU&Y+=E-h%35S;pvIf^#UDf`)o=_Sod| zgiOTg34p;=gQYspGnk^*P6=Mx)M$-F6pk-ogDD&2573~C^&cZexX``pepD$*DMO{h z>nJ9{o6x-^6GUI@O2!b|ertb+E3#@thHlZ^WTSTBzh$=p;pywR1;1?#Lo%Hj#fq)eSFrrQ?M{nOlhf4nBkmU-k0f1#|>*F`l)P> z>9&{65AGAA_tPA(2!M44j6T-K>H(EUh`V}tvcOZggCuYnLZrS5SDHvacu=CyT(|=w4k@5h7!bn7 z=a%4h3Xvv^7~(~}nG|vpD$&71o#fzQ(rs9^!urU}v=fz>vh*!jDkjZ#>N-zH>M*Jj z%7kF&M@_ijyFu}a^blqao!8#Xiqni9-&i3BvZ;rI>L4&j6W7upOgSbLbm^TG@ibGM z92GmsM%t)}i2RP1{i)FVOO0uTH$8PcCa=fwmKv1+j?xz6szs=e{U+Y zavHI5X7aQ{!XUCGAxKIN-1g4l^A$sBW2+elbyfauAjKJ$CFAn4FjyT?PG~Ka*H-2q z9;J1f`UgCjE47TV(!Mbcg|m=gl5!hx8busq3J!ilq%$$8*eU##*sR7cvh5 z!88g44IWd97Sv`xHcko7C#se`X;Dj>B_2?9AwD86BNTHi*8=SNUMFd^*I$HU1xXuj znIM1^+5l-9=?;`|E%d8#el?QFR0J>0aFjrDQ?IGPT#+H?%KB#UO^M079R+ zb%U}F^BRkHnO$MBjj)Ni3ABtyQab4r*6sAT6=^r!UCL3U;rM7}$n-WRVD#QRGHY;E z*itm~4#c=XbKlZM_rb2%Gm`?(WPE_4abS`8+TkD1pjq|4XYVT{Op6!(-?PhP7mz&@Nsh= zrp&0hboiJS8olo4SmuvWEbfu-e^|H7qO7t-Hx7o{PclyGT&^DWp_gb}KJ_+&;Ezz^ z+sB<<(YjpW+&baF@NA)Z6Ny_|g+4)Br;p(UlVTT_vLAWJIyVfwBSwT(ih<)|a)7^o zB;#j_#94P)7~ew&>*;fxhq1&&-)^9x3P4JIE7rA?_VJPoLkLVF)xLpq)BQFQ8>c(5-2>SSYOTl{5m0mbFp92t=H> z19(r4ytahcwTIuK{#m~&XHbP|Z6}Iq(|BCMF`HacD7zLDye^gOe1Dq)!Hr!Jynhew zL>;@(ynm1G>?W(h8@&+C_X<3Cg#dcR5PStGcttUIg+aUJDmjY5++N_lIm6sW2n4a& zI{J>!Y&rM={O{OG`ALFo@fV6J{NgLt|E~xuC?iNGqG#=7K=*t4KLkX(I;* zJrkqph0 zMb@u`td{)xb8x4kfGg4B1^$7nn-14m9@Cp{T3@f;5W5`NtK@sxFi;ulrmD6*{$MEF zhU7irhK0IJsax9w0Y?=`eR6Pw6u}K=bz<9h2dR`6evodSqY2~_5&1=A^5eJ6tFi{V z(j`n7L0X~`?ccL5FRhtD7!zY+#BpM9Lh1K)u4A?*R{4#P%AIttVJ>;XnBW}C37+wQ zf*(<{-SHY?Ji52Es9DfUB-Yq&O6U-89kti8Laxn+T*nN8Wgdr5+eqe4q{IO{3Jt`_ z9`erdQ$5jb4&yUz0gx)#+yWzg29D^?KQE2Y8$J?Bgqwfoc432POGgyXZ+;4VY-#@4 z4hzs}hb&zgp~Wksxd;SkK7yRKo$;v!IueH~k825tsGa)&eFzNtO4ntgO|%NnrLn*@g`PX<&Ck2jEddz&*#HDfMi`m{b* z9eq_Wi$&eLU+<)OAb*oI&JAK-{VND^(g(eR*`$5;{A+6Hy*y>cX5X^x*JI=w%P+-4^MADy1t)7oM?FU;hyOAUMIYG(Ibh_3qC0JM;@U8F^i5t znY8yLJfILP)S07#3D$Dzxk>EEioRJd-doddk>e#tdxlLi)f};c!6tu|9=yQp&Z-J~NV0OO#{Ck* zJf%>ty|G~|rhR{`+D7W+foGM@QoLc6vOP~!WSdNu7=H#lHI%mkBKV3SR3ep8K1gLKOh($!VK4tYMhGxBuzHx z*iO5aI(-~$T#kdQUM#B866{iTiT>q%R}aTpuCb|J!jzedN7&9Z(ghI61X%n>3XFZi zj&UHQ7#4zI(f|;eEp&_EFohG~!+(~eKPQY~^KhLIt>|5N6Y`u50kOhdVBAOe5F4=u zE^2Y7xKvvy?pr&qM7m%UWf`FuEB1j3$|N-VvqXE?%Nl1QpA-s&BOFbHcMkv4+$UsF zVswv*yd)GNU&22UB3~F71I>_-QcNpWTs@ZJ2(0ebciKP_^PiNBFev(p<{aR@yCm*E z2|f_6w+HYMUld9Gf3;iH z-=$pAHirLiR7D-vr$J5Z4-&`mZP8gkBf z)c*we#;pp&j0&FdzQe;XfyDxfOKq1vKI39Cah}d>;Pdu+gZ+mR<1ZJxYzKBhiAZ^U zjy?dI5g9DW3Br_VCp!SlRG}B&R;Cx8wm?6%IZr>(S)-TSR;3r6wgPX!J4-*~S(=Z( zOJ#iwvLAG%LbFl2!c}dMW>vCB+E8R^KjFxQ`s1-~+D*y&e3|GQ@1{V3WS{XC&i{`~ zah>|GbUNVP3$RN+V|k*JN_Z7%qqsx00c6pW;-kO$1=v5vLDPA`ndTl8cVkE-XrO^B ztv?}?Al7x+gUfHlxXPdf81>+%L23*Ugb-w;NiyrbdaE+Eqh4IS=2HM4hYmZnX3B8N z@g+f|Dh2k6 z*_8dGdhMFIES_!}kj84MbEqYzYN{>Ey?rHmr3_@t)G&Uid&R~v&7E>Uz#)vSG zP~uPBHe^U`pglO18q6Nzuwd#xrZMC2Ddr3e)&|St)xp(C1FhZ3u`Te|Dvg1n>**n+ z5oe8Up4uwbtAAIom-Q?SOA=Ym;baxXtjT8{=mjygJ_e~7z@bREWIQr%na}J8cFPBu zBdH^9#*Tp@B1tH~b-u#jTBIz}hoUzEov zpCNMWJvTz%%Jq2#)YJ#*ku{@9T6!3~?||q1`>SNY+dl?v;VjlTD@M~Wrmf;Ctb~M( z2;Sb_K?*o>UOBm5{Bn@marwI8vAW^4$R>XjgbG8;6*80b`4jZz!X4%cIv*6YZxKTZ z+tGQ(v6Ib-F%!+1%YBHhF6PU4Km8B~MR0eCY|%`|z{&;iqhoG1}osI3G?9IdUC51x+53hnG*H&QPr- zi@kyVJ6G>ywK$+6we_7dsf5Zk2&lEm6jd7MUZ z5}nD&f(4}A0}saW(=P5%oqfkW*cj=4H1udVRYazmCv z#*l!%AP2Xk_2{~PYOT@gezP}*L5jHx+@r8cNolYEN1mWMV`+8b;InU!;`-z9g95Ix{{OgBGyc843|iU0Nip4QC#R zJ|y9qpn@Y52B`T273zLWMF=e)j4t@;U~3p*3uM<%9z`G9kI87LN?f2>n4SmGT!$2y zpNI;ysL%hvg@{KROO5VOc&-bdMx@<}a8K^QbjWaQK@fwKL-cTV4;j{L{;@uKd^Eb1 zTk-in=)2zx*V*|OI%NMs2bTYTlledRQr6bUUeD3S{=Xs2ETv!Lk%#9&Lq$E+uWKIK zC$lQ@bgm-wD!l`gB7!M`W0uC$>9nM~QdzZ19x9~!#=!Gj3RyQr^7j4d$IG|7rX^Lb zfCx4`p1j<2n3DN$JAItp(M z`+>7ZUyB-0@8M23%5y?%l4^$iu%dNicOhrf7Hx)OE%&9kz_?`s-DhbXBVq9jn3Zas zntYq)>{dc{sJF4(#dDp?h)ag@GKx)K$)W@8&eE}ir%~Lez0mxq(NO&RzcGDvJ`rNy zY|64?K))6I`!Z}1y<3e=hQ4iBgI|Y}cf+}f=@?Y7Qc+TUOSExj(^%onm27q~jNk&= zzhu$9Gx`;iJ8k3+>LtL#JU(5!kyHTJSOJZohw%&ulSc65Qsij!QjhBn$D=3Td}M#H z#L9O^Doxc3Z?Psg0-sTw`Pr|mT{&*StTh5XmSg*ea+#UC-v9=4AG4ZZI`-8|m)J#p zfEf`pJNI64NajQhomS8+zfN8gw_5WW^De02%A7|uBO^KYJBE$gC5aiK&yw}!M4w1H zX9(F#_%Hn$0s(2pJ@*+I9==ckp+^8=7B>;zcus)VE$&P_jE6XigCR=~z=K$P%swgV za7d4WaA>EUU+*`E|CB;E{5vp7C{rLfS^ojP6#MaBIAaNMV@lARCb1-%+zS+hl?+8T zk$vzfSE2VYWI>=a{sJCC0a?+Dj;z8uA)(<-T$ij}x_1P*J_HK20ThO9rEC2}H*=va z)a|U*=A8zEZOSxQXr45-_&$w(mg~M;C{%7wmd&a{-QaPV_ZrrC!2iG!mDQ&C`@fw1 zmL~uJ?f=4%|1(jdH~Y`2gbuQtPNf8kIUQ+l#f_9{yFLH2=$^0T};GQ9wIS?JTTdC7N)#1?6sqi~0TlEa0z z*$Hrp_r!Z{JhF;L>%2MCH6#b zh$d?{Kz*G@$l_OW=g2m*tK&ZDc!yxE)+cJdc@hi~7zpBtjG_*~opCbTF~@v>e$JzE zaIjgMn3I2Z*LV&bB|FFha{fw8NlLc6z2h=~!JXopwtwuMEh>1=qQfs(JRcdPBvtUe zu+6!CW5bJ}I1d>xRiUHFQE0?ncUzU3~{)4UQl$ z=t+Q5q?BmZxd~&nxH*g_UzZwA(s-*-u1pSqS6S3FZR>kylbw+>M#Z9Y6l}$8i&ays zpY}U{Vj^EPJZ0gAv!o(d7ay*ylqoIDgK`2dRl(8?3c+vK6`UhLbJG6i_UXx{I|20A zIz5DS+A%j3&>0pwCxvw{x8Y7Hpk$e=Uofnx)tOXorPPR|!By%Eh@yuU1K-4XmKPB& ztz=moWtF$CLfI^DM{xB;h}NTakRtb_5Tz@!lY-<{ox7f7?V4%hGNAZL8TCsxd9lEB ziX5!8>+#9E@%2Q9UzojPX?=?PZZB=xyxiAad8M&t@87o9c@OiO1!nKJDbfc+X_2?< zh}hZNcWHms#@s2p(}vdSYYu)MmeXVkkWa$;lkq3WD(|^J_{q#9Et^)Q}D_v$Y{wZD55Mue!QA}ac#Sfd$uhbuwp30 zEw5Sb#1k~FZP=d1ulcxteVX2%zD0jr0@PgH!yxvrgi$Gt+SXD#EqXOnrA1$IyyUv>h96cjVAOJ}qCn_sza6lZmG$#OLW@7=*X4tI?{Vg?w zvkDlSDi~KqtxqmSN@hBi&CAu^KfRz!MKy%0n1v!{Fs=)KO-?lR(&=G}V18$b!XMwv z&Atz$dF+foG}_>rjI>RaMCh=NpfH(KZHn+0V{zV7=GHVYSn_^@;2;_T8-ujTO-W5H zO(0mdHxE-Fc6sa1!BLIV_#M?7>j;s^<7XEBan-2n0ZfD<3}QI+2>w{GpqM30sm}X~ zwCnYiG^VgL0^earpxF2v`p5JqnJw*(ywe#<8yKdmYAC1h3%Tneqi9xV&|tr>2_b|b z)rpV81LjL=aS1!hY^#u@Do$jYt(7&Yh55K$Dgrkttzu{e0g2pJl~Rx5Ssdm!@$L49 z8Fix$4AAtqni7ILX|FCW{+BweFKUBfUC-3YzPXLrkWAF#2{|=o+6G^Z`u`AijzO9P zQKFr;ZFhfdP209@+qP}nwtL#PZQHhcT5opu{n)oZ-bPeJAu6IGDl)V3-n{1&nXj~v zsJRvV2xIgHVKGG&c)iMIKwT546<1*YNQg~L)O{6rnVCE@1^K^Z+O{dOSqh{-Vweau zu+>~^71NSp8$B+(bq%aY_(+fYHS#)CbHPaqznL0l0K3;3|I|MYG$6AbM9VxwxZX?2 z49=+)yfcUEO5jmeodr3Zcwz+thjj%ot$9R}($CL?)QN~?)&^LOU>8}z7WmLzTTsM@ zCSGg_YeilbVz%(Wt?@!um#`)*w<3W!f`gG16Y|24fZF7bR5d4N^GT6}5-0qoV*1NY zj7M8A0~rB!Vb~1D0m;EPC#ciHsLpJ?Ak3y0aIlCA3j@f;Pg4miCN@N=ryi$>wg?z; zoFfu~h!FTt^FQ&ZlEeMgL=hCP4QTkT`elxI6_c#Ef@Q6PZ)*n+p*h(xU{C;+V>94S ze7*r(BLI9jIo1*Eg-GuVT!gIE8Jwc)j2vjCWy$0Dk6(&DyQu_*+kZ(3EyzjGazJ)u z^4?UIrKiFAHgs?%nPz5cJuu!oF&^(~p~SGUfOMUc_dXXSCMyo@KY9y9#Z&8OW}*N! zMGsmh2Z|C7cT-_s!on3#v1muDnhdL84mk~`BGa1ESXquRZB|S_-gpj(-D@ZJt-8C&k-$dx_;3cUq%pvIg_lXyC%R0=Jh z71VtpK2lja67STqI$B{SHJYN4>;iKDQ-QbFK|+K7?d7vJ~(W zofEJ!V;&PP`p?6k-+<>*7QzaoQuBn7>P@L*p*B#FNHQ`Nx_cbEh93&MWC&iESZ-*) zqc$Vhf<|L4-l;JQZ~W^IZ& zKm!5Y2Z#?bsec|%HSc3V!dJt&zT|mRiFOVuZre(D3M1_UqSYlUNT>Fa+v36@>!CwI z7z=bM?4gqPWAna`w-_TwGKYk1Cke%vec6JXKQv8D^*ab{XH3*DE%3+`lY+7W_iI9l z(4A`{*gn#B^vY?O@k|uJS1I^S$VbUrK7-J(HDMn}@n~>93KG910o8y180HG-Yh#7U z>p{(NH_SwS*eIpAhG=5X^AoZVm#Z<~7}f3jfrSdNW-H@cLunrH|J6^|zGWq&4_*-g zsL>u|B(SQqV1}`UF>F~5VZt`!UJwcW%r_ui1Z$gJpfO|;wM_J8;+1ax5|F_sp&Jxu zkHD>P|H~+~E*Sohw7dkMBHW7}601ftzp|t^T9)=~G?#)HsjsISB8xfS98~30?Y|4^ zU)T@3Q+~;k;a_<|`|uC?oeTgKa+e1D1bL@wX$k!NvzBcbt@sl(4MjV4s=iWbvj=Y_ zYgt{^wnRqfi9ID+uBWrir@OdRoRv)~Jj{Dr7^4?ijfKlj>d$iQWD z7cqeE2wel3P=ZojTwI-908Zc_XDW|Y3eu9Dnu0N3)4Prn-@{zsh?6B+@nb}VUN;dH zaGCr98bWUReG9On5y{tt7E;sV;|D9E2pckg*+qTTHPs^M^2RoX^El1w+#Gr181lBY zvZI8ee`Lw5*=kCs{n16Lm6w&D(#}K0|Q23wZL=3QOBZ%i-(qkRLd> zY8?x<%Y^?4mUHfj5p({=`__r!D|@`XKV@)_tVUpQ$?Xk*CrV-yov~y8Svs&-gejfP;DJ%O zK9Scl`Zy8qe=1Ze8|9r@TK}?+o9UU(B^>h8JLH>thxrWS{6YGupNXxzJ^K{-Mge}; z7k|FU$RT^^=Wr(gdq1$4y=WUL5u8 zv-ML4JV}>{>4)RJQUz4xsb zD$(xz)94#Eh>~2I$XQyg$;R4hcZ=0kfqe^qWnG)q&U|Q1QJ?b%!Mos5uKW$Phu?rN zfIE4HFR0b!n}f2tNSzQ6d;SUIE_FKk&Xfrp4jED~!#j@~S!kR!m`%sh_UrIrm5ZAdULP}9kHokXrA9N?~AL zRX53=sWnzBV5SjrRg*0!t8!Tx^mH-lViZs#qe^mig^?m7bB}g6=Ol7q^fX2(Lt`7U zwp;IjqX_9ptdbURLApe{jMN)nOz|%9w@gZ4o>11IRF`X2Oj!%c5!48%i2#1Ngc0ak|O#Ddw_Y<$c^ z(+SF-l~AmpLRrF);l;6K@rYanp~Gh|5Ku-G1Tr~=P;RZvZNutiwK{L)j5=a!Naj-F zDKg1S+KhLeV;2ifGaOI^ECm3?&E+}5@O+I7s*h$|A@j4N^iMNkoel>cL3k#YiZYL1 z2Bir2<8Xpl;9!H;{{Ms?MHX2K#=77Yb%jR~%#XyOpeRo=ytj%-TC0LhY!qs1&O22y-K%L57r4U}h!JVtu21-eJFQ8;T3sJY2QX>Vj_ zY%cxa0@%8=JJ&N3de0&J)19#QhC1#w)ci@B2M=3r7G`xb<(UOKWLqRsr~^_VwaCq= zm;@Cf23QX;^k!h7!oP5*yOA9O5V4RW;Qse4!9zO#c4KT?rsY-$b zcFcnY{QCJHeB#MAzNHl`6&OfuPulIGgl{*U&M6gkiO#vZ2D8^Cl|pSqJf0bhXY#slZ{hKD=1-r(;=B+X>}~QcSgOS1-|4#RJrmhxK^E$ zN_oA)k;CycH^~@gHM~#1qR5RoOU}d@8qx&r(ujRR8+%~rS|ElFY5=G0p$hvMH+V;NNdmy`>a-CX0u}PWv%x*!rT-2{HYe(yD20;n| z2UeF}hnY&(!5Eb)%gcB+Wc20*mbn&i;Q}GuAbAXyP)?cGGzw92^bqGqwgtHwjKTci6V$AX9G3ziRi9?DMBtp3u_oKfQ?K*OhU`Z z99Y&W1S^{eYpor0Fe{8tXeDW5A??EQ5~?L+#A47KnRcYZ%Foq*q07qg>F~WQqZ}DfmFUp8xuJ%X7m0aj0hU9p>Yrk+eKesA;$~I#da!%k z+kHIK67>XqEKYxy>rk>}s%;zuXhW`r51?S*89xJp$@g$33Bh739bu}Psd6iv&GBUc zO%e0>HdefA6+zn&hns+3AQMfi~ zmy%lTvYqrliCtBE-7i!BhRv%T&V}~H`0M5WzWmkq<*}Xr*4QcV zOaLn8gTUS?@L1OFNo2s+_En*?*gcq>9FaJU@y+$*M8h9NHNWC!XJ>^@qSWtLJjeB@{gEWOw{nzyKZQ|K)y*2 z-TrkIKsO&9Z99gdax)IM%KI$;#c%tg+rbs)#^#PbbK14ACAmMNWzn~Rtq_c_gWn}2Ro1;5^XSf?NQ&Te4C+_BrwG! zP{?I8UD>vjva-<^FQ+C|JoJ(o-@?7^D{E`(Hq*zUeuJY2-8kRGYZ<0rL+L3o1FFbL zvDreJ5tXQ1U9s6bbu+tg8XoKTX{+_V*Fa;c`D+$-5A5|U5LzsMoG{LKmoLR@*I`g9 z91%rVy>isd`Y`{vy3j>$u7Q-fv((^>xD5tpUczDc34GoXExIjNL~ULYuN|A7TiN4gB#^9k*c~KP{A|{xbVz?pDjyJ!75AO)_0}@X_v;^I0TxV7>y?fo1sOAU_M5 z2TR2_r2!Ovht=4FX@hR=Q+?iIYk#5B*acng;n)|+2)k;rZ%iu}$b@@G z3pC_u|ICe;Cy!$?J-|=jfD1|S5HxB>Bwv(I!GfMVya_qykyk#Rb#obnwUoFC$mq7O zkH{_I>TFr38sGVKE^A5-G*-u`pz_qF>?wZsdIl5{qDl>OMmJ=bQ zkiDTCyFu%91N%e8xGi1-xejRTC@@`q zAz{YqP0Z5Ls#96R8ht+|ZGixOu#2xzk6o}-;E}kWJAZzT|t{&=+buvt^5!pSAHgvb)_>OBO zaM$1sq!UutR4t!eINBM7q!D`Qz}PdkV=&CDZu2%VJ$Dc6A9U=$Dcc<3*Aw>Yt%tMa71=~&Am#&2!)vy zi53Z9%E}uz%Lo3?yeh*P%4L=(aN{5@(23=Sc{3h=I8GthUJ6NspM;hMfrX7qL zv>q6R%f8CoFCr^opqMTChxfcE8WgNT!&0FSkW}1HBl#x zVMwmW5R=k3{~1(QxML~xD18=^g1Z0IS82;6!1v_PET0O z1&Rz}`o^=97veB!iIvp;U{UmLm}ixIJ|IzVBc!fn%og)bga?Jx+;T{JLO>@zEKkw^ zcDH3{IX@72wO1n6pGDM{MVZltAtt}&$d1!J%T(1Esj?`@nQU0Ls^PyO-C`lc*_xdJNtWh^k`a#>_hiolSW}t=h~n54#aGS%5jET*pj6qLR!$ ziV;saadI8hRI~!35$2m+(^WS+V|Pw?*)OFNqIP7`Bm)T`9q3MnlVydt7KbXX_Xtm3 z+*4*HI6h!jACnC;u_oFGP+U5DoJ*w%&00rp3!z0D(+%SEBYGhjDpW2|du#tE3>L8E zOhJocKdKXn985%Aa#d#Ml|3_Pj6X%qKE*;}t~hhxC3BxNa7eBfB&gNz%8I$=MHW_# zJ1oS;1`SQl?t|sBM?E3L;tR1@#?B(H&4e_#`>cykyV5`IW;lC2PhBW>=96u zI{BpyCb$J{c&-c>V92vvnDqFCJ)So|M#K%-|JVJ`Vy0()doS)v0d6fnN3{@#c1U`a z7!)UjYTdH@>`e1{@iaOan^yW(wDMm;@og#rFjS8r^nJNzi6g22zQ-J`3x@=mF^u(K zZ(+PbbKZr`JHIrd7Ks<7uZnNEhLy^&CQs7VQk<37Ns797nF~eQUrOu1Q2JC_V-$^j z>K0w&p9?6tUEDiIO1pTL50|p;4FRXB*ZgC4LcHC0r43wjx?2&Ph7dF+ zTm`Y)a00Ff)+U`cEr;OkuO;%oZNw1Cq&ENk{=vj^=t#LpEpM56#C1s|<~3lgwWy zz6AmvT~@ZrnNg>>&3z4f$M99K1Ghmh2Th(yt&>ySP}YpDrwa2ouNZD)oWzRm)C-Y% z=O>!hhs=)xBmFSgMj?2YHhulD1O~hThTDc|x0qxWG$SML!}$@fKa2Kp#2*DpBqA6% zumyX%hM0%2%ng0M;nDZRV?(#NFMy6tIsqszte{D?{ETksnk$yI0o}0ctFk+p7bf?B zFWm2;ogw~53~NTO7__?9HQ1LHtY~_86pa#lSkAd8oQy?N*hn~5^Wl4y>dYmuENU!r zh#;{b2T9D!G)XpRTyjhJu(J>%DdCQyPBlMz^&m;ECY1cu!Wcss*P?7EWc4YkZ%iM zUU@@V2@30fV4$D$3KE_RitdoSW4`ci^nU`q)<;|T@1Z8SdHOAbJtji&7SwV^Bp_YA1(OV3k$P({MF||6*bm~S{%$uQ^`>dx=YGS{ znqFD!!u*f^J9!kPBms#I1*QT~S(4A}{GcF_dv^Y_(pBOPCM8>)6=yAg$jqlAx zMIpPKgg;5%;#N_F{Lx+0;H2=4h^u0AK`dG9nc9MCWbQRad#L-T1A^=WSJ$k%;gRN< zvt(F{>|jMtk=>Gb(OVoTlq=;l0He3j0|@n@f*zz->Wx`_s!Rwj4+zei%=tmd0EaI0 z+8h0<|2FI$SISEV)`Rg#SX-SkOG{=GD95^H&Iqo&5te5qqDCwPe-oTZgP(+LTDX*< zVHSJcEQa}c&6u;jNC@OpiaU0zKq4@s)HINu#aE)qMZ5`oa%L-1nD`&kiab(c3TI$? zwXN*cy4JU}GmVsFbCy@s^y)nFPtfCv5*@Vk- zZb)$~m7l5B2kr}Qy`S>0v_Nox7DYJAPQQbF zl;V5SyL~r!J%pq;aONzWgf&{$gWAUM&RCoH{Tt2}1rl#Z{RG0sK(a-;Mbu@?NL)1D zg5&)NT_06CCIg~6M#{((^dZSAk(P`H^SNuezZu|G}k zfGX)SOg!Bn3-m&(8{`b{B%f$EAJ>=qdp9oIKS4T#Ntk)#Pik`;xlZgmwOd*HPl~!x zwx;iu@Dq@9827+@OexZQDr zGS==TkCYsQv2;}ZqkuQnW<-OhizG6(5Jl~zA*^9#$q!Mj-IHW zVHR(HCU1Za4c$0tom4Pcfdm~3nMg8+h@+(j-BtsPBGfDJbL&eVJhSJvJ&v#K=q%p0 zeVGX=gL;eX^^N4Fg>FWJbiv|jc+V@wQ{V5yZuT*h+nh0!kqiS@ge@I_+(ff&n;C+1 zbLd~@Khm2NhFu%)ZULj;@THG@`B^Vw>`}cCGM{qxKz;4BEd ztd#@~Ily)>dIk(r`+lSJ2%@ya*E9k%ma4v?{w88Eu8V&D2nHJASVLRE z_4&`u)+&}aJLt$7n#344#Cl&bx_-iFk0{Lk!fcNnda`cci9#s1dx7&Vliaqnu=2$$ z0r%>L90I!41MasJymmNnQ@LV|9R`ywshKuu+?=#H7M zoXnEf3M#KYxcohs1SiTzhQ_ry+R!i5o$zAIJaUUh>gWU(vEBWY!ZqUZwsZpjyXzBw z4TU;+fsX}GA@29@Q}s9rrWHl?1{Be(q;4rjI&xB+0w>A?(s@b~AUz z+aT{e(TN317ctUFS{trHuVvk_CInmu0`}K~-FvR7VOil3vG`~%YsMWo1k63!*1krY zcx73QXrp>~Q9yuLpwhiSXd)O&igkKzbg0M#X1U5pzvnUPTCsF6-ULaTR0b>pMf+V- zB1Bj+u)9PCbgyD*Kg5J{YAtI0{RAwlM8N{2i+FRW6Ly7Mz=X#cPCK*fm%>>8>3Uwls|dhSN3RVC>r2#i zF@GlU@+YgYI9VvN0h00FE4cxaj8e*=M-eDxBBM^Q0(VG*vG|qRG1XQyuD@@PfZ-&+ zM0Ip4Wn9g3U*Ll!iN*^FBWGQ%v1Dq=6f(Q2<{EQ$$Tmv3G1wc0|AJJya^3Dwy(nBU_Zxkv8zgUZ49 z$z)@ynM7(({kSF|2NuN2l(co479o$xtdM(7jgCOhlm;+vWkR)eO-DvMh9xo`)mgvI zCbw4peR*Y%(X;|vCp&f>TWDL4Nx95O+?j@He|Ico8^iF~vT#Ifliey_iDkT*K0S2r zRasVK!BJ}dn*hzW_2}2(Xh4_n-&ZiSHY)CG6heENBfzE3)WHU00T(@*0#$-oCRXs|ibM!%Wjukw9!iP5cq&yWdV9Gwg zRpQ2B^JhwUnHr1HX*_jyd+kjPAlef);z3;U=r_U|Yf!@zzuBeQA!by2fH0^!_hqZa zTt>GO!GAMz6F}F_iXzaYY>&C!_Ro2tqgnCun{TL8*~BdYUAQKnE&KfgcN>Cfi2A zsD2*=yR-m>>CC_KX3_Tai?2st&6Nln1gw9O=Xyhy#6kHQ0ZzH(MS zD!pH+U%E_ig>>H)w_#lE>4vSgr^fm`#%$fg29v_Hd6!%TxV;X(y!Yn;)RH%etUjDgN|tPh8e%y;r2H+Xe`>XqmPU)Wa9q zCPMPyv5qnK0nAa;SkRuLQzNK5sInoZ0p!`6y z8jc!;co+Z77$=csH5@mNQsOuc(OK2?lj0oN+0==!Y2lhijaoZo(qfrLnYKg^p~H^S z9$}J!1W6nd-%w^`0z{Wfz*HvXeRCyc(r&-x0%<9$epZ;*i&^GQ%K6^mk9;4 zgw8JU)W_qT%(2AwmXQhTT!M9%ejaGFER8vNiAo}yM$lsBv!4H~6L}m&|IZVex$1%h zZ_R}*#qQaK6dA#vRuYKMEyxRlmRXOXL(RCeG)h`>&syRy-m=w@%xA1TQDwx6s@G4l zD)TcR5w~0k`SL@DQ_hI#9#2vaR-=1s%Gb##>J zk!>HM20x|Y8|Hd0yf+5%Lc|j$=0&x+A8&a^^~z76vls{iz77AI%1;!i(b3`3E$*UA z)VNL@&xheSR8qUd$%Ue+*>NFlkH<&HNYqc<{+4TKz{TLF?HNlU{{#l65Hu(``qPI) zAt#*ng|m7wdOwv5c=n%};Fvd`08QAeB@O#-&dmp-3x=s5?ZQ#$?tRggI3CLCYn3a? zm!`LxWyo_C&9jQtHKy=fq_JNg8m+=|;)SOsP2~`-{T4#s<^a0ubz62!ABniqPF)U~ z&r;2|l5DX+(?YePf;E}pI1oPB=2&mB0Y|DZo_J}X1)_l6UYJj8eJ^8sO@21>t1~n{ zNafRj(%ev74g&N_n0!GUNVSTRIxX6uZc7gC*j>4br~)w^V6ml=JCtWwnC(}A%#fQj zTIXIGKV1c&P0|jp_@AP)nO~#9S4Q@^0e4G9^b7Hw_$$=&Jp`wvQj|2i{9e9%O{bf4 zx+w$**Y6J{!d@=@5&7FV1lM3eg*k>AAopOv_oywt%KqVW3Q!L@@kXafg9@%|FuI$n z#>8M2;04~5`N>~q9pDx8u4-z86{>)Wiv;D|PJty)$G5Mnu$YU#rHy#7Q zLBBU~cX*z;$f6+#|5}vQ>=4Op2hNMiR$Ir*QFFi}Rz!4Bg_CA0n6Utl>%d=FMvPWv z>oayCX0D_ychfY8+5l&(!m|(a1lkI_B~T=$8t=-wC z@wYnc-YM8eEKzj0VoakVwHOJ))g#iOb49`W3%XmrDM^k{Fu=Q75p~aeh@F2=p7d4^ zt(9DF_SWr7pc@j&ox!*~tq<~<5wl7cUTK+n&-qzWJ$g3fLIvGQRwR{^DxL|N2lUbH zXc;}T^7wX4r%s(PED@OWVALDB@>1i$3|Zlb27PQlQ3Hvi=;&JPkN6PelyqA9`)}V| zqur!lIv#&|cSIp1KV4>qgW1-L%-+7r&QFSx6QRI8R%)YzWWM7ixU1e zbAPzZ4Es`ncDE6Bnf{VS`fluf<+A-fFU+&L^WA0pOB&$|74-Vi|AK0q1Fh#MUDuZG z%lAhYqQjFXTG@`@#*J87trvcBNh@Ea8}0fFe#zCXkM~)Yy?h6ZPuZ=o0c))-%ms@vmpB-f+VrTX+8fj^+Upz!KcPmJk|Xpw5e_!`yfN{!YY z0A6TT5_JfiQ0VQ(xsm!vF!28nbM>-WHFBK(fr0r5Q9n=nLHK`3L1^xApO1gW zrgYfHqe`5tzwd_$&(Y{p^OLhfWC&>7J9gdCocU32t7#->xT1Ewmkk}iJ zo?xp>Sy>6_LRk!#*!(WB5zj1^*=Uj(D@krDm@Xm3qPNMgAo#ly#@ig1ajs%9M=DX~wPR=krl-=6yE7_a{&92fWYK8+8Of85{@kXSyMz3N_epGN=;upaVTL!TOGE~2~Q z9%Vq8(3>S@4txJaVc#ld@9#Uf05j0vP~6ma*?nwaxft#Odm;gLP~KX5qycGQJ;Zl9 z0cvlMyC`oxeF&hsXznt5j+lQA;R4vec97o+`p^OhLhMybTvB)L%a90_7)W?oq+|s}He~Ooth(jc+v9C@jQ3h9Ihi7JMaSm-T*J6b#cq=Rm@di)%c>K0!C|P^3K}h?1w*tf{S*ThA*3nnc3>VdFWyup zn=q%%WQJ_uk`h{+stz$OGma2-y=v*hdhKyns*=LMmx|*XVZXuPn`0Emk`TuV(^DfD zDXy92t8C)kmq;i^n0m+IYSm+?N^fKaBb6!j+7sbBr=Da+NkIfTi3EA)M&ExD9#P9AWF33debAc=Yd<=(YDG3Pql$9CYn{i#M2^{g(u}BqmT(N(tN1R zZFQz71j_@@(o>LpTl%-Ts*J%RA?LxVeNKcVMR~YofKYt zhr~tx64A6D%7IYk@t!I1D*0?Nw+On@ z&5q1sli)8%>z`~dtJZmMcPr+VC!~Say1=qsf4)ncc?={Egoh7miS(6de;?7d(l02*_N;Rh7mNLPIZ?7u|_5(1xAP&%EP*i@2M`)YK$4(2m=$ zJ32HMR1|W%6xCM6v7=eztliUY-wVBT{tknJOT6(OlHlGGlW-&gBw~&v5~VUd`9xl@ z@#mMC7cf_sTo%@9DlSVH$}4OZ&gPfk7S0xyTrH|smmrD@EG?z6r!zMMMr@q%dqQG1 z5^x}C3Z=G%Es?TH!jhKHNvn9JdI1HkD05J|fGeUcxizUb?8}F>r|Ra4y;ubnTBoLvz(3&l?IYgja3z$hM0jE z&p3?de4J++-6bL2rET{I48Z;)uQ;RV1N}JaxWj8Tg@t9{PF=L^A7+XU2@84Wk79xO z>ojl?x6XeTKo;`P;1lN&w~vW*hGI+f?P6M3` zjkj^(AH1Tiw{&yfeuJvJ#lp-0{J1s1le(czpC>^d~0fI zsKJMGZVAl)vduK^KGvRnEj`k4Z;0+{Y9@VGxqp2{ukOBjaL9{Mylk;@Aav?zogBf` zZV$bbTS2VjJ6*?THC#$v^HHSnXsjN*(l);xI<6f4{14vV0W*k~{hzzy73zQWSBP3z zn+RL{H{d=+Rm%-U1@&8&>0Em77elfkjJSLsa|x_GKV|DeQ%OLRh+=t(V+L80D`7@O z5|n&bKICjqTdGv9_o0HbL`B0B#GBD4NHwXiSz@T*fZ~Jw4DZL)W$P<%M(_9gm)tK1 zd%i$;*jA!gB)GC8-bw(TK-&a2Z5oqRe7`!*2m?~ThBsDXwB}ARhZZb%J4d5?|C6;xEd!e0&TkkJ#-d}x z3EC8@*c>LGO_%5;_X$jf9LX8X`Y7}uIWDlYTm;r67oN%VC+RZnI&NZ~wll5eq|21p zDcDjIZR{K^*_|iQ4YlK>N(T#%>nlqhphGx3q{wy201RMSrXXO0&2g<(bGFN@_DiD^ z!FZ<0f&o>BaQcthsTydmK}lye>X8jcemK=DL*0!VYs5+&JcGRQwh?6?w_#I~OVzGy z((Ss~s`xG9n6ooc#ZlKT>R))b24Q_2X;w8xu3mFCymv6Xwh%GtY5HAhng>*~g zrhn>PGO}Xn9Krzi?)jT&;cqLnyJH(AU}U4=V(Ku97;AN7dbexpcDw|6dAD>aeR-JM6-YeRw4so^?8N!W#JHPelpr3ja{JN4Ax_SFuHtt{R2{cg})Ea>|K?Fu! zW45}^Q)o+1vl^rxD=sqb%ugHDWKESUWcAfb1$xLvU(PKdAGocoK3YVG>y=XV;7kT^ zT!AlvKTI&sS2wLUO6o@v4yu^U-Yv?e)|{++V^h9;UG4;%COkSW@z{C}6g&>!P1OOZQ7gHq`jG9Y~v{8+hLCWz7TpE=pR((llpkJMAgs9eD zH#s5NoQ-;B6WT#;p7mlp_&{A5AVl|BvAwAJM0CdgMD!K?+@)NtcR#Z=h1~tBd_a^W zZ1=Kqo?JeQ)kD-6!LE3s*2LGh#q#W3sE{Z2W|<=@QKcl6Ows*E$MjQ-!R>gtAd)`hd~tfsH2w6KUpcsFOhOcq~CTXo+Rab{87XB0Nl;G;FpTr zHPK@PXX!Ba663Ub3C60m*XN-fc;VbaC(e~;(5!K_w7QbYR+hD~g&VrVoV~hWo45=0 z8$e(mr8(xXX>r65)(K1K;iu??AuvY77%o!Uo3rv^b-}inm# z`1?;^LHYlu{*^qO1gs4lZT_$CM0rydMFCaEth8y-0Ge|PlnNb@rbb>s*anDJ<#*|x z5Yz}WH>^ou&~;OWY)sb&9`D;h6`3Nk%-gS@!94o=hF51ql(~2^uRly)GnyaOKBano zzP#Y{QRGyf3@D-qwod8C_G10Gr=3JwN=O6Ifgjn6xQx&zXfzb+N6R2!2pnc;G!;!D zEA5E*A$RJ8$+S4KCN^sP)li_U2$p31!2MTNRkF`6jk;_vX9c;tY`Rz#4FhbrYSX#B+Y38+7-bV5=0}+H97&M9ktq&GI(vq)zLG zK>+eDrKth~$W`X2{m4*XSaZxF|6k0)4l4P#1dPB2enaPlp(fS#>ZEL~M%-7<^FiF! zq1T%XetYNXp$ySUa3bg@lSm3i44KZt+vu3x{y4yCvRR%TjdrQpu1%^;HXU|J_l>1_ zIfE4%^KTnJ6FjH$HU{Z8UUWXfK#;Dn@%oQl+-GJFaShVpu%(zq%VZ>ief$TI03rgx z141WAlBX6SP(DQ!fG?sS&M=`xIb;zE-kB&yMYMm}VZA=;Di3YLk{Z2F$P`9!E`h-O zpiFs$TzsbaYBPE&mY61cUt3W~P;%zk=UrJyz8Kn<6yu>(r~`LQ`3$lS%$|gy553()&(_y1wIrTqqQ6W)43$j_5{)fmk*(anVN^gN zL@)ueGT42Cy>$CvZF%E&CE^b#auXy8uYa826zA_6YZWs>LG*VAVEjw$bV=jS2CQ>|=n~`E5YCQ)aag3^T_HC`xCGy-d zCxtplj7wfw1*=e^MQa%F({SFMjm!0&TXA@uewZyh9dO2Nk`oGZam9CTm=n*Uc5wvu zn}^@AJTr?W9n(?$xtGF6jJvyT zUqpkBJ`dALti_i}I5AN3aQM(=)bC?H1Y>TleC{};l%W|d$)9yNV@TxV8yY3|_&@TR z!^mHi$X~5A=?y7>(rlTT_oFF!;aU`3k{6nN{&o-86=S^wg?N?tk8EW+M9r~(urJvI zbBTC&8ii4;SAFvdH@E#?Tq^(C)PKnY|66)U z>00qWe3MdqiK&q4{D=b7c{a4lKq4@O@{#$pX?tSrQ>1OKk zcl5EYQ|0PMZ{hp(k)&vo(lAu2%BU*UmF|UxGQ*r@c~tJD`6P%M_t-JSKnh6VwkeaY z(}?nV>oZ&uN+r!fp8dAW+>_N8wH8|K1ENH&m0G$f>lVjd{8uGrD%#u6@SqDn>?>3y zPV)`ZV8Hv1CRQ1LQE@^Wt<+T#(KISAWrJEGSr$tc!2U^wL;~cgx@Fe?4`bgLWa+;& zIn%a1jcMCGZQHhO+dZw*wr$(CZQHiJeRtoD-T&R)xcluF&&LxLC#$luGX1J*>I~Hf z0ZYsD>C|3D(kX%?m8TC@8}x2CM17YUars6xvC3@h(XERWEX-yKT5Y@Rg$l2exUS@Lv|0yh~T#$?fNuN|{-mT{fzJd`ITpXs6bGai(eF zN>=F9dlhE1pZhuQfBx_?;f3)77m&QRd>7rjA(R@9BINUC3O3-whTjdqTMM2^hh(gO z-LCRI8HW@kaSUe$$O>ZNA~*DnqNyE@{4H=F5z2(s9Rj#OHXwES?aTg zlg;MfKYpYj{P@BCe{CRa?2Tyo3=QqSEmdjxEG>lyM!OCg><2;D>@l0C>A12%zzsH zlA~7?YS$ty8ZTcXQW;0FSSDIFTwJZ_STd1{MXN)qVrV5;^bM3C$o1>{xI5ezdDrg_8b#b1a#iJkC|XaPJ#CxlI(-f z>%`JNwyl}>qA)(8mIc~%ZM6yVS==6WCf;Z;GzF0{i%xiUpGmk*jId*3_?v|^dOZ(O zD$6NT{t z^gv}3c1d3tK3T69;WBvPIf`|K6MIM|ET+8a69^Jfv}xzzmk9$&WoJ~-1f-=>LtevU zg2o=?V7ys9QDK~u+z4J6L>;%9sB=mHs>MQDDYsO37B*zODvQ??vA>T-c%(T&p!<4m zIilxlWOb3yD|-}RN0&7Lajybl^wuzxOOuJ!1k;vW^agJIcT@&3))#7NsH(33Y;TqW zg!8bzd%|cHyfDsKnj)_`>Y%^XV%6>70&4f%8+57`8We65;*DF#^Zmw>K8p!lp;l2v z8BLRtdfpcPa-kaT?2jdH6Cem-?ixGN%oUdw!civ*5~~xiho#*Q39FMdFP4tbd~h3l zkE(DY$2cVoYw--G9eZqa>CVIn!CV!L2$mA->IdRL2!Papw8t|l|Ko{V#N-LRg{JCZ z)q|>fq5ew}OSudOTS6_bXEAe8b~>Gzp`{-491_6t=r{t=k-NjxnYYvCs?_(vI*C*) z`#XHmPh5I@yVG+K3m%klzz+wT-hW3{hYSr1W?mWat>r9yoqzv;Y*R8K0ax(y!{Vb|wu<^bl5 zlNH=5&{A0~x`fq|ZWaM`j2bkeG#W@!p1Uc-`c0oZ&S2vj;HePTeS2xVM1)lJl#LeS4`y<8pl0~Ad!!X5<$QT-l zez381Y)AV7uH1usIw0 zJ9s6R)jPp25o!u(Mmca5wgEDH8psz)O`RB+*waNa68FYTi&(4s6x zBa=>(hR^V~+~w;aPL6V>`VHle%G{|b)v|<0(Uof@naT_UpJg=-R}w?rLJd${QKXg! zcUpm|UDLOc+McDF(*muo6-+>Q03lntFh07MTOv?CgG4k05k3U|K0Uo6!%)8I*9KLp z0Ka1qIU;&uxEr4w7CP$9KJOb5Yy`aPwKsxH6rX`P=?Uk%iCF>~-Qe{b+ z2?tg(%m9W)hf!rjb%z6BYjWt%c8c@WO}-jY^~8vJCE(is2#$89g>-Z5S15Ufn!lBa zb!>FMsw++l7v56^a3+bJyTmCzC&YXyOB#}uUcyfGGy8L)xOG6d%~3crgPK`qKhnQ| zW?$Vg5l#^|xr~#pN4av|!`~_n_F4T|>4airy2~%eMBA7whkW~uS(M{Ss+4&^nPyE9 z3Jl!{j4Xv5g~QpSfINlWd`$QJg_)7#)H0y`r5eE2*Gr7j-+~buul!YhEB_WX+=C~M zPCfw{HK>1;M*zwQWRSrf$d?t6lLI7Ipdj^f+%CL9*^9Z+=mK^);U%ya-wK8uI0LJ1 zcArtHa1bBY?EAuB6BsByP^8guvZ=zTk3|n~XJyllUvFnYhln zU%)?Z?AY!vHCklX0b+PAMZ`}UR;(QPogC_(fdC>@ zH9rk4fHHJ4SK~8@p-XpXFMz1xhk~s+kalk^&=tVEWR)r|vIK-{T$^xQd{{QL6vaPW zoJfkflYM8EaHW>Qq?3^N;E6FHCVdpNc0GVfB!ZweK~*KhO~tspY{B(k52s$suRbL; zNVPtv0Vl~n_Bd`1d)Q(v06ez5$JABKivo+Bm`tD-~D0qU%Q4DSH#> zhlaOpFo-E)QmVgNvu7a8^McOmeT{eRzXxujYdGy-lL%;p7QnPR%H(=FZ#lYYJ4&CJ zV(EH;>xS|?=cn!+u+>ir8@|+ctqF<~F>`f`{bUW5@ZJTVVcQarhB#+8pV^A1Ukc^4!}m>FJSWLp_V zx_1Z$CZhCU4ajXTZTpis-(=*$;Y3*OMAE;bC@68h7|yz-(MwRrk*TM;*-9J-k?-zN zH{vSDxL1{QdxdLm_3i|&S31!SpA!=wtpQ{-~)#N3Qy_`)5k-dg{&aM zog|Ge?R7PdT}YiC>$iM8?<}dQ#fDdQi!TrvWQuxzk(2~~}KwD}j6Jn!3aW!5&Nkbs$pcP;6?-ABc2=FCnt0uw=^k zQ7ps`w#h0pK!h?*)VJGdVo9;T&Hx&S5@&>oB4^kUMxxYmRp^nO@&L4}+<-(n$54xs zsca3FMKOw5dAi&UgEoGrzw)mNgbKQfANcKzp`TVD~FqP~OZAx5!eNfQs;MgyTT9EcBrk%y#RE9oX zcZQEqR9+vS)d&xOKS$?S>n9cM65{sVwh62hX&mzm9&UzMt{BRFFx@2~AG`(1!E2RnKioH%@Xq2)OZYQtk`c0ID0 zz~KG|%CjM&%Zr(Q)f<;!BeiB^l)Ia8(%G0Qe@w&!mn|>1az{ zFF2D3J3*N}enH=H;?Lf%_eF`)aGD77lf}$;m907kFXzUBaaraJY0N_01E+zpcyn&u zW5q&c{DZQDoS92wQf_7~MLsLTM4)b<*WRUBcvy3DZoOa!BpKkKWB>ZQxwsjJSQmtI zXni88rue`5uUZadtsf{8$(c%T^xAfM_RIU^5BLHI2JJ`F<8j(b7eX zi~)h6?TJRd4i?lyXVsgvLYH!aQ-D-90b9$mj?i51dG`~x6L40CXa`xSwq0z^z>R%u z#mf#+*DRq&-xk569FRNuG=%a&esTAj;K8&fMkFcVgB^4>W?e$uLe_MY84^nX@K4IG z_WT$kDI&RUYu$u!WA{0GXmRENeyeT?L^pB!WP3;tkSnxz<(?!c@4W3XkS@(@+#Xug zcg3D5w0EYSHc%aDPaboC+zfs2iFV90%+z?U4SiW3pN1Pmoq#~Hz$`W{21Xvsle9ZZ zoxpFEpb^0`vM_W0$*`2-9Gy_^(t7pQB6bkSA}vKXa54Ktdm6=|zk$Ya%~~fm*qY)6 zB3bP6XITdHq*K2@_+Nt;VavlQX473k>R! zTPNfj{u5_kMLt&5OJfS4 z@dz~KNNP(&zj7q2@gOTp*wq#H0M#FQjlgZH7&w-+kG0n423)M&aC^TwU?VboCns~m zv;@N+@`Ah~LEfM`&Pj<@XhmzbqK$pJb$##&*`gEDkK+n=ScRPUQv>4&>jYy)uOXDW z1m#gRW=4xL6v+#rK!%E-kUMH1E`K$X|}1HAj|(xJX3jdKwd)qycB<|?8geQ1pXNm z4cM-P)b`{zP*A$07h8IMHcA7%(}1FFq>aL>u^!>6Zi;n0+8uu)<)@ zrJ82}zJ9u;4O+bb9g&yGy7g@~$SDcd-#gg>=tS*gyGcLW1CsnP`Y8F<{RNP;6Kqv` zEs!EbSt)j%XuJu7!LWD7=n;o7^E2|;{^;c^0c?-58Or->Lo-8&sTJlJ(@c3P)o|R^ zarAU?U=pNKE7c}oI$syKV7!Oy`HBk5v;uRu7uHMejjVKp#YY~=3J0^aa<;IhZ(%Gr znhxtA4NQx(EyxFEVYm|MB>ybNN~f7~<5|$cn2+GtJ;l(Cj}Z)H~?50w^=hxEC`Nqz2^iRPF-H7no-&$^-+7 zQS^u!!oTzG;(FDadfevLp_U|dS2=r0d<5lVb17G5+KuU%CI{S)y#32TrJbxGV;f`Q zQ}+t%)l!rm!vFAoWaOVV?>A5+_Ewu3qbvMq3T`_J&M6^s4ze!6Tv%sHOFoohf)#8R zGfBy@}a@Jo?j`;%$%AQ{+z9U~cMLkMihwEGkDtU6QAj&0tRZ>&&BVNkDf%%h8sgR8;~fsoz|H43hV@b#NqhD(+nWU2 zA0wg>@~k*0sk3TIG+9y3;63G~J;>Vks)0OT3THvy zVANW+C$62L!F#I1PApDSbZQ3plj*-t@=)Zh&TFs;D-$wg4+vFzn=dvihwL-Q!Iy&>4?^HcofqCClUmR0_dR z>IUq!UFVa0J#%QU7|0Hup+k>%Q6>kMd$v-cZx4vI>7iTlWK1tk_!r{XN2K^h5aIzV zA)CwjpBE}*J-?>n`%b^qQaULeF_mkh$1n>E3f-O@E=>pJWUNW+8>O9k6+?y%@r9ai z;j)ZC$rHUJuc+6hw&wNkwdAtlr6k@W!AP|Hbv+|zUw?BAh)ENo<_r_55>aXT)9$u` zeW9-H;;SF^fpa^27~&DZ!>`FS!s7PiIT|eokSythS9(?v+_HJ@36Ul=Ru}d+=bFA_ zq-yOM|DrJy!GaiK3dpAJh_g&w!$o6LuLSpQN|E39_3=Z4|NSXp#H;KE6hcT3JzR^a z$;zv5IOmG|yP_WfeqGrxf5WKxlAXexbc7i3dq2$Z(+uioYZ`BLdNH`f^#bZm1G<+t zuX{U1#k#}*FY?q)O>6W$H;_Si1mssTrbP-e8RyiO$Z$tzEBUK6Yv9XVjhFLz!9J>B zfhg0cpkXpb39)pdtYM@{AoAP*q5Mwc^2%ua*d1E+LSh|Wb$}fbd+37eFmX;OFkB!Q z>vqvt*{oKqQ^GG|UfMmY{DBOnR%r^tPI4-;qw^7@GjYdNuC9&6liChP4sFjZ1vGD@ ztgc7|yLwv>L#Um~{bB3J zDKc)2(;Anqwyp-jMM>{2{FJLj?y$};o145Hj^lkH!cRylSkR(sOCTq7RSK-mIe~Rd zSlTB9n{dF@EduS)lmx%lQ8DB>#|LMka37`RLa4lw=MfoEXeqhIgEjm@m*x;xhl<@5 z$YompD38aG>Vcl?I>+D#Zs|!1eeTZd%88x>Q~RobCLXK^XFs$_Yx`f>B`2o)$`oEl zB#Xg31yv5|3@S*GK!f|W6`QA*C1)8EUY?^9PZ)j7#~p2$8m#@|*{N#xN+hiOOODjh0J(W8cZ=v3)J`qjJ zTh}yi9GeDPyC84q(zRdP@v;$fy*R7_IF8D}+v(SI-1(C)qR0J1{46x`q+TTXwqnOa z&Cvs>J8GJ!aNDW2C_dR#B!PR$NYZ=IZ|T z8wy{b|HN&3W7Lw9Z^6wd)c-$ji~a+*E0ndq=THo9<`u)ai^RmlTm0a^K;MJtGEnHe zd0HcLv^OsTxsY8OTfW9D(YbZ?Cy4^}vtA)0)3gq~(i5=WXitj#zN@gbC1`t+DLwH8B1 zNdw``3G-x&9=7zQm;q26D_5Ob+SBJBNlfDslSVjNu^WM)uqr71G@j~cCGyf_vV)?L zE84Be$Yn%xP`Q21GmpY30UqwO6tWh67np5i#uSucy)C*lXu~Jt@lUX_mdATOL=1zD= zC0qtb(&KCUq8aRtr}-A_PMNE5k4|VTY}5{gd!b@Q^|`w3q;-~?OmU!f$uh=VLo|mn zPu!r*{W~NkW4-iTcG}Geek?WY8YlskDGg+X!kN_~QED7IOdX*D{hQF&tnCf+kqEtl z$W1Fp!Az%#(2Ya9ZD^^&sf=9Cd?T%uzlq{DK9cAAONmEk!|D|f2HKnYoyThR`CbQ0 z%Co7@QWhV~>dv2#-*oyQotyne!-99%?2Ak!P=}D>8qY5)zo1}51;HM7jDXu}hPow| zEwb?hppZ1|@^=J)@pdTYoQ=A>hq7mcRI%*AKq@g=!wDTXiBhm`!4h>XRGDpYKp~9> zcoDs@#KA_J2i4ZqBVpE~ow2JY1*RhPHP`E@>D8;Yl1~^Ua3TWr2P%l?Fdxj3Q{)kD zIK+BpjDcs`Th>Q&f2p1o#uziKowYm8AiM3@K91RMi-|XoOuCw2yAq79;>YbSWrhSB z6)Vu+g;!pU;JP~w2WT>;42dw|KYZHgfpQp&Yd6Z%Bw@?!8?qaP3}2dISEeZ~O+GSPv{9d)(YnG8 z>vDEwz(~(cqf5dr`b)Fz*#%=a3izPQuCUocc0b*2L&iMbGtk4s6Gxo$9f#i@(r1sd zz1QhiZ)fbNnPtxpxM&7*3P=0kHb0dcbzPbftxTcaZ-?)P!Wh$RS(Qjj3I_t<14KOP zf<2FrJUG6mmbQ|*p{D9O5>(Y_8xc1GoTuz2$Y@)_Xn!f+{+T5h(Pl)^bapS9pRu~3 zYMHj*&!D_|DN$+~Kx5HEAyg2$@}*>T`i za=Z>aJ_eRRXFWUj87GdIvK)R|fxn4&cj2G7nv{norhHy!s|R|+SCB4PD|G}e3g$x@ zz>Zk|p&*|qf^#mzd8Nh(iA56K6X>+iVYY-xJmcOicN@J+mTcK3G*YQE-u(SS zfseVPWEhCdBK~5Po*o10`XN(WOW_m+(hgp}`pZ>8ItU4hf^TggLc+|B zNA<0y$JMjiotdmBJRsJ9sElR*PJ(5`efh4q{GZ@pFRMd50t|o*3_j7pVqnrRI)EK1 z3EhbxePQzfDruozsDaEFE8$)_jM89ucy)L%jMN|-rW|G+b~y*#(8*E8^5n@H{ZtCH zCi))D9vl(IKFxw6#~xyY?+XT0)Cv8Dr3sm-DYikiTHEw9aAWnGD z!VCSv^b2=IeM+5sY|pQAsY#bXbToN-uJTlO&c$_1miog;(f;Y!kwaW+CI)8yk+^JU4wpD}7UygDr z1*W-<8dT@g3naiXLIW7P5Os8qC--bi?fid5Xp5VU9QFhl7Z)<;5-Z#pKke#D<^i9( z&laWa`-Hv+-J44OQ2+zAfL(IJ@)xI>0h#5eyT2%$L13U$`c;1Z ztohpzk&H}MyBMHg#TWUJKQ@$nLr|;~GxWX=FAuwgK&$j;d?lc?`;2f`&Y(8CQNb%I zT#;?an~gJ=#$}p$U+{9iz^wRj?!`(qZ|%$g5*eCMl+BS%n2m=e*?un1^jEi29#*K3uuejA(1ML$9_VV&}?FAU4-tK+V40GNxV`tsA)c# zD`X;+u2?WLogd9nOdgG`XHU(cWSQ(qVWYNew0iyE|y{hs9^d8>UHPt*xu6j|8 zE5;epgo9djF$I`*TL>{1xPpLE=sp&wAfe5Qu%2igZN9wQ*=7Rv>9F5~tyZ&f2V+GC z>DYPay7^%G5tgk!?)4RTnKVg`b-O~1;L6$!Qm850bzK_Cx>vyi*$7^i^93iKIG)O2 zjH_x)OzqbFT!Ku?*8jm=#*eJh4zjsvE@OO7)qIB-TB__*IHSo~M1964PR#f5 zg$mm_fS?u%7>1d^Q#MCkL7-w z-dzn5$nuvo9sKJuB8VC-*fJBC8jQd>7GQ-GLr(|4|I#4-BOvZvCA?;fo(5H)zjQFa z9$sNqPEx``ZOzq`lLEH4BRWAEc2o_%D?C*NXFhsM#7+p?Tw#9(j(u zw}!e|fBQZ6g6~2LBV;`jD1b>JA@~Y1;qB3NlL1Y_a8rz(UlpbqH&`2|q^c`F(lPd{ zv~n%tt}a?@tjtw31|9m$ZTMIjKkyvA9om6|LAxj%u^eUIwH;-?u|I`Zy}NF!{lEx? z9+w5x$o&n}mMom+5X-6-G>k8gPCH$)?*#L1_vBrWJU#i-_8l4 zeGS`&?+^o$FtzD>%H(XZrIUC5JjY?q?l>uT^<0|(x{|l0l)n}vk-ai@s2ST~uLOI< zmIo(X)ZC{)uI`?|NuHxgpAcnEQTn#VujxH|XN#ylHej-Pj?SNIZ08H3Q|~!(XA5R4Wyf#l#RCuq!$bEze2qL1#EV4W zmgxm9;rB0%BohDvEDn+oar`9`yKPCkwtg~%j>smrXjQpQm(MF=Oz)}H+=2mWqXD%N ztB8egOYOpr-BYJWIuDVcR`U-HEo^yyzO<06Rl~u4nH8=RWw8$3(g{t?R0WBYrglZ2 zHrK+Xv)x*eVuun9Jiq&0j8%iR$zb!Xebe0D$gs;Z5pL4pJk*6Xywg>5EX!2qaHgD9 zRmnKnW2@Gmgggf}sJM;oyXpxH6o-bo!dZ>Lzbz0}=X_fbz#0&NCTAnbnn#Xn9g_q_ zMV+f0-Xr^1+P-i(jD)#1&UG3mlx0d|bO1mk&EqQ0-Q9)LYp`Rsn9|ApXd62f@k8z7 zpH<{jQpN*@^=s{9bW!cqQx21Bl4c9^-{J6WK^0q|JDPsczhAJr`gh9rD)Y!gX_;5sv&DMDEGmOCBjs#B3CLkW zUs`Mn*_pj_7exVfMSva;GKX%~%>=df{i?~vTvV@yRY!Pj(icVxAH;xe98iUBG$4mF zkixL(c}&*rf!oL7&?kjHgyTA32c1;}@bMY92LqLzioeE&9UvV}LOdb4wC1>>xnH4d{`K z*KgZm^PL3{QnQ9~L>Le6W&*3bh*G(Ny7kh#7C;WE+hQBf{jAT1b)aI+O!Aa1n`!_h zwH0Fw{vTg&@z*nkrU1jFI`#Gyty+?n?0f|5vIBaOD#q+m2u?g zdUDuUV6w*YyW_;VN?T^;!}83mR7K$)i8Pdb|7A3pOhz`+%6+0_-A-|3W6x8|%2D99 zMdCv-8T>8eKBuYWjV~eLBPMm}9x#c%;I31mcnvW=!C@#bdWH zWj-aX7Ywl;&1DEwjSv#sTQAD#=iJGYPQz&6_MAe(m(q^b%*D<9QgRoX z6ivN#3ih`Snm=GIs{8wE78E4~luU+nI=SoDOO;av*fCbQb*Tg-;J!nd6ntE4`}U%a zOC_{RALHIBS8CNUgf)gOq69a276I@hGoDHA@L+N$S=EoA`#hvN0AS44l@!;ElI8lCGjN}&tPR9DpupDZhjqgQ$dh$zU zVd#RN9@vrS9Asu*Jin`C8WkYm!Ua}FA4vjXZb5*C=>8!7Km7!uNzWD9tNl2tk8xZI#Cm zaiWzu;Z@ZM9tTGG_cMel-&*h27=Ix3%CO45CsbTvaRvtjqS0Hnl(#woZPM(IL=m@V z0g#pZoRN^W;*AV`HN)cp$Gx@_k#PLa7rIx{<2$H|cYB?*_h7?YbOAgpfeD!J%jz!` zJRU1}!MV^vwFR(X{Fa}q%=}b1g&C)awGD)6)~SXOVHSU%BM{PzBO>k(M@lYO+8^WHj11a_aIpVwd$sk>b;-ibo8 zh;F#RD0#YdbgwMgoiQx8}3DSEebsY8|w}q>%KM5@90nbsT;!6 z5_k*{eaA=Y5;1kmsmMUkutfkQ7O-?zdquZ!R3HMb3WI*Dd+5AD%$`7I9|6mp(JtG% z*9cE*utF&{1FdyqoP(+8BQ00s?d!6K4@oBfWlk3533E7UvgQ6*rq0G|h&wSc$EN`h zXhIG&Ly6lVOZHvJ0;0Md*MS+YA;$ZW>7aFjR-Vbndl+?x9O%$#{|Y2`lOtvGJNi+~ z0BhIA5<%~pyJ9h_c9wHTdFws!5QIk7PrH|lMm??*+bzfa|emUUv0}B5S+^! z?9ew5a#j}hBAa8KD+hHeoVqUONe6hHI+`k8RO>u+|8zpcmQU)@bHd>)+XS5|gYSVp z-Mh|p2l*`K1|OPl+9rMgc2)ZTZ_mvPQfYu-trY5mtN?E>BMT-^8s&KAD@CgVvNM)TcacxWqQCUp zlH<(CN$Sk)F`ucfc&ez;rfy{Hx$wT-H}_K17G6IUcxTU2dbH(=?35cl1y zznBJ)q+~Q8LzRbClH2_FWu|XXR{rTMS>A$Ze~3VyAnN}0gM7@KY@V%uOeS9mi-(l* zh8{~|3U)e487+ELS}_~e93cuZIyi<7joNW9??iZr7jzKJ*@C%ZQCJ<6hPTY~3_ly_ za^YzrnOrMf@O&ePbL)r)ws5MXN|@BvOE-*vY$m109_7r`B7NVP%4>1@C_vBVwdYT# zeRYVonLs1Y+!MW6Q${X^Ytf?x6i{(M86J-E6}<|j>9W%a`%vu4-nQ4MaMEF zlxc*Cqu(dp{&AyZtyH`vGO-4F?SXjXdbZR{jHQZ1V;S+<5Vat4iJ76e0k4H?3X$6i zN+k?|w{|!52vQfjCZ^!KXGj+9Oejmwt&?kA=h}}O|n8heG$mZvwu%2!nTTKU_U}< zri|m|ubdmiGSSdn(c4x=%?-hKeezKKkS^ALJ&{6m2yUvNR9FzdutIzy`mdhvlyDw0 zDIPMh&S6P4f-4nwlf>Ue)Pt>4`?E-Hk{WGiZd0|Hd^(oT1siPHyeqZCe-+sGEUP^z zg`fC_+NCsd%F^Rb*H8+|M_@#7$qpEv2Xu&@Mts!3!*zSJ!YEu*NDh>h`~hX0_64p1 z3fcww7Cojk1BvXIV@Evcp;-^sG=mTAc#jXF&j4t5T;GwUySrk7Wa#0)B3_=6(Sn^> z)#``%WBe2Z!O%kNRH^K*vE%~ggg_?|ps&^KkS9?nZ5vf19QwUX(bH=9&wIpc@XGov zj*)D(J#P>fLwt7m?S5{Af^vy#l&iGvIEl-&^NIBsjmoymVMel08rTNP2RD%^E>R>j ztAB?&QH>}HJWwQIQjWFfQJ;TjcN&rctCOYqq-{sYuh zEZ3}b0e~;=uuDq~SzCx{7MK_UUqJE{t?14ug~pRZ-$OpNdd_!8zf^YFRydVj&%^C6 zS~#+;dL`k`>x_Us#au7S91@lq_(+9>Hw|%>l^7IQ{lQrd+iTKr<0?4Tm$ypw?r%JF z)S%8;NZqH>aPVB)2&6N!D2Fpi`ye}AkE(d)06P2ySqbQdE2`_6{C$sBo1l8e zgnR@zJSf45+KZ019annp3CECUGaySaYh2NYl4FfJi9uC=W5w& zu^fH>>1!dq-aP`OEo9?&+5T;}8MH3s8h+#p!TexkEur>f;?*#inBQPwk@{3-;({#n z0*>ejxk1UKvHcObMXKbn0~!6Aw6DQdy%bo2K6a}4AxT25tkNA@r~;;$eFK>ElIf@^ zyM7oYM+G6exm)OFuT`L^cmPQOBoqG@@%Q~HC88I5RIyG?p{@u27V{sDEfDDBDp~=V zu0MB?k&d^7jwS3##l;|JxJ^@25iXYsCjQ-)O}4AA=HPoVVE%p2!0;az1X2d_{|9fA z5Zxo*$BO{?GMf`Nuq@#AWkEHAb60>$CE)7EExqsDfN733)MGjEa6{sJ{=ps3TGHZ* zxE`4DmG$zB{&;ux0o;umNpNq6p^u_3iLseHI?u@eb#EyJA)m&mm!1-uB-Nt#l+PR} zNs_Wqs!D01z6I<5y5ic)r14D9V6>trT(-JQAy%=s&pd_Wk;QqeM0!-JycBRe!z_K* zVI~miQ&mK3UZxL%fk5*aCn5Sdc+~zUmBXcoa}R{;CG0U;(@p+VcKu)y*#C}Yx-1x% zza+*H0u7>`l;YF3nl_DjS65_k>z`bg@roSK$M;sn8~(=+*8lvY8Cg0Q83?;dnps;o z{A0P&pt9lc>t6?)3FTT9DveYI$g#TV@aAgv=bofQ&fPIq`qAg}_I?>iu?_W!sAI9U zZBUVMXmRlXdD9p37x%y1bSb{%$QaRF0lqG;vnGI@5Hpik(t5KwhpS2j5jn|m5Vy&W zr*w~RHQ8Hb*XPxd4$yLli=tqREZzPPJB-8kMP-(OAYbfM9#kY5Yw0#5r~%XCc&5l#z8S_IHWHyK9i#~O)aubu!<|80mFF^Uadt{ z&$uvts?d=`W7uT?s&Hl@O*#!=WVo?I zOzj}dZ6HHm&Bri8!>S4M6tGr?d644|@XG&=hi7kPsdmR=AKHdu>pp!7R zW@7;FQn2txlSy)eSs11)zV6K==nib-SjL#qZG$GoaB5u(VdcX>)BP{XN!982!Y?As zIvA-j!-uKDZ~`9jG~bkiB?Wed^tNA5pQdFChB=0X;l5N;qi>}(PWBf}j=5n!vDmAH z`e@Dz%cpJOj>ziXN5P{3-;5JvW3OF};H&F`f5$!+O|d=1o}~3-RN=OYHZ#vs+8X!tIzJAeWVjYdnaT^`11ra9lD=+o;wn>X?hOcvyi)*(J^f z9AIssRMH6JQo|fx;H=p!m5?((C>NY**wn1;6lo$Ah%ZvwAt}ru|S*XXVar;=jBdkeu)2gbb59UD5;#uK1YlipC`h7^Qrc*!V{ z^C1%@qV$2e59i$*@pS~S5UMXshpr+=Xh5F%3Q}e>*Zx3*6wB(lqt8KVoKXdbk9fGw z#iYQh#%V8tbUx3HLZwMeO`|lAZf5Jk4yn}n`}C!+nCjbb9YdojSk`wKx?RSVkBMB? z;VNn>h%=5zdE(fSWbMv)OU`LmLaHu25!CL`$(3Y>k0lS{{7u*6z`lSoYY8kHGUY>^ zH%C?1m=-JR_A%&12??ZjyQB8D=H>kDb_QWPOEfK(&Q9}BZz9GjMK@K5W?T{x;PZX; z`^p7MLaSdrQZIDHb~NlleS{#4#J2cz;Y-UmYYU! zfq%+uGO%}g$QKo?)8`YNX!jSizpApb()r2hb@+bNH8~FQ_lRr2;aPuI`nlckxlXax z0i?YZEu8%74b|o;S^({?TK_5~OYAafaa+>DUzvPr1Y}Mxe(^5CfxF1K`q_7-azdL* z8OL(Uy-x_Y%0O_XQ|GA+VsHe$QU_DYpBf5*pTB3?Ai%5(_p$^Hc&HSHKSnOEf?da4 z{}$<6VE$s~=QgKFQfrSbhq$FlDyND0@LQJ`QwCK#oKMuf)dERRc)(qB7BsikuQ(`w zUev>A?MbcbErnc+s?y(kCS6t>JOt%@UdUKSL;yFr+K*)KNo{_K6u&zKRcMaIM%f31 z)`dNGwr$(CZQDu5HaZ<=$F_Cz+?jjM`9F8& zGw0pj@9Vc#t@T}1WyChLFCi{%0Ws8ooUJ%P4I(Z`*$i0_jD%NWVq}*HItr)D6)Y%~ zKymuB#gec2fbfAZr5Q;)A1x?y2>zI_a_LXUS&UIOENY{(+2vG@*G!L->-#8QA0JRX zWZF;lpaMyjUH^0gM)033c99$?zaikjuhC+k8L4Iz7)OV2p7w&H?cN*~!rXu%49DW! zOt?u!k(m$0w2??j6rT*Vvk4iI4atTv3}vG@_JkAz>`1CiVw@!d8ubGF?C4PG+f|A% ziL26E z22{sb8)jtS3rb2I$%t+GMn6xY@y?`3m^v*+LKh+$vMs!LpiT#a%33gKQMTXeg_K*V+UFeY3-nLQ) z_Ox^hl2>VfJ5%WnS4FiNZjQ(pKtt_0z9%dpim||-sT}jKl=oCNPEcYDa-uSI$PLLm zQ@O#Tvu9hItkNs|xj+b}JM?DAE6?c9qn&lIM%rBn5E@7Ii9J>JedKP_Xtz!I%a(ER z(*?!LHIwHx8u5=!ogT7G`0eXq2|f*dKqIRnq>rn6H-VI3wR-s9yopm}#e6?a5K*^? ztEf?`sgvUV57#muF-Fh5B+XKKtsi*u@)n09(pf4!;$yqg{`eYXRqcad5g4w3pbjIvni!iWruZOY8- zb#~j?zFppiK7P&S`J_ZL^I!Z)SQ(G0`F>(>VCDD+pK zna&2lm=MSqv&L0M+VjSX4>F|JCewq*i-T~8jFAp(%Z80*fQ%54GhFsa&yZFOil$FE zec(rHNjXA>Y#P|mkfR9ryE>v*(U8_94cEo3xePqTZNfz86n{`Bo>3*94NRhOWI)QW ztG!^YvKXmS3%qadbSecuX-3thQsftw|L7%p+|6kP?oKdGZQ$qCuYtRp>QCglM;rH$ zs8|NxIu#$%k=+j_POzB~-Z&6;&c)OV6mOF;?sB4&^Qg5rmYf!fMrNy5tNuDlEvmDSUiBEpJdsACdPn81yNZ&1Q|wAN#Y zk2MDJoH={JzBJf|aj=Lm8iNEYv&Q=35Sh23+f^#r{wX*W_Ghi*cb{cfJj~(**U}?~ z3`w(PdD7UlNAnoQgi%X$%ygMMan4g@Bz63A1VY+B8YOGeE{$-a&iHCyX6T4Nr) z1Nt9rw9hj(-?k64y%_gfcLSh;{1ZJXmJ3?TS6FJxYrcQZP9K=4Kc&9iOLvif{9ySX zXD2xuM>|_l3)_Fz`WiK8ca&w+&#NgiW(}~vFd!6=2>c`&AOlju0wjM)5Hi6LCZsC= zT8A1NG<9u)2NV*?MPEU&Fq`gnivYI@Co!Rg@e1H0U+F<_5$^M$XS^Pl;$a7sX)Ime3K01VUWr8<0KZ=7f zpmr&rt2U5B%jwtUOqtrYmamo>^0|E{2~(n8Fe%S%FH-gP_kb(oC_99+_f-JuBkgWX z!y<{PVs8(bsbVYKRYjCV$|C7dw-1r=kGf^AS0qrshc(rk>_}#+-XeepDt-CCgp^dh zRXf&bGrL}{*`t%L%7DPYsP|7FE|Yy=_Bx7ZpdiIVNUjeVvY*sO^61Y&G7Ywe%5k&E zxg!MVC^KgD!`(iWJiJY83v1?JM;%x_`}0*FwrOs?)W^F%lNQiz?t(BzRc4{xvVK-p zLq`r>19*LPLnrW=q$M&k0?a5>6;`mXJ}G#5V~)}W_3T-@Af%a@;(vuG>9hne%ZgY= zaC;!)jW?;2*ObW5!`Kv$-9sJ2UX)9E=$`20G)VU?>uBJMQAd5)|N&v$m0 z(Q|4KSx^>fQg1k@tv@@h%5J05U%>ilI)}=3lvxnYuHDc$W42)aK`(~|su^L`JP2_1?9iZP!|ste~v#aCTPasPL7Ci8mk~;;?>el{-&Z zu6yt#+;^2@q+vWYSdWllO|EzvZS+&?DlXj@H&*VMe936n32Wx}L4{mNZd&DD>dsOg ze?&Hk3(u-a_H-pn1Ldq1Ci|(5nOM7n+&JF&EZyP#h}1ZAWSlup92Z;sYuP$Y7lup9 zlj)H1do8HM`tw-3}9it7FJ9j3iPBbRjq^(OIfwUykJ_O3a#OZv6gd%GS`Ydr)4l}A#xjg`I4MHyX z>Qesvf*zU`aEqc=ws@h}?enave% zwp4OHemZmARy+0{Dgh53D>bF|I+DI7G)J!BILrd?MM}BiJxGqv9&e2vgD~%#5jqg# zBl^$A_W&{d)vY&R5g66yeQ3r2fv%6gjIOF;)rQ=BX@c3qC>DwkUI!MKG`*iTFBNSdHj@*3`_zd!u6!F}4{2BPX?gc`v+wDGW1!q7xz> zBr+5tYE|8YVpQ}NUD$1-Q@{H94E)cY6c==-X8Am*_J-8;k__uu=s?45RQ)s`>OUf_jcnpZ)H zq%34is}#FZLM2D8&I>1*30^ZzWMSbcC`L&w>*VMpVcH;fU2Y%~1@hNrl%rdlIj6$o zzMq)|@cARI`>0&93uq|Vmg)FLO84ELPB%V;c;mM z?WlMo2^C;U660EKD-MzPfv^mY2LbuJkaOW6=E6A186Xl@*sn1TbK*c$=ZMAIBp8wk zLinhos3c_6(mPO#GOa6fF~779U$kP zLCn3e5WFVm$cF@wLCy6Wgm(QW2V^l`r-`h?3*?YuaD@6u;j(G`pGGBnU7NYL>O~x? zicHyiiVBxI!6ikxtd}s4?VWd9C0cQ^1{=^jhGXAxv<6jq4cH!sG99@><*#H;IdEhE z8AXKi1)vykk`pLeLQwqzp}efJM~}Icqp2XfHbQx5;G6S{p{0SGFg~6*%4`4nsfz8X zfwO;ZA*3Xb5~_;_u5#a8P?3L*T(0em!d#gCH=^=rZMU2!KqIO=n|CwfG!{U&$-y_Vit_R_d%PjW6n>SoOItH$SwZ zV6BnyjN|l)*W+YpBB#$`@C=U{LV7}L&Uvhj@OKP2rSMX0hg>TlxQaPeDQSoH6p39W zfX-7c2YD@!bCX?nDNi7qrDk{houR->ntqY=L=G-+9mn$yA)X+`PW0GI<3*QqL*?B5 zavooF(9VrYx<$%POanCI^kaJb%uQE(a*m$%q`fUL(v(O2YP{-!cXDJ_9YD5 z>h&Sw8!=cznZ)EKH3wZjah|-U<2zFNMzqlv_`|-UJ0d;r_DrH|lxalvhL-l~HLrZ4 z|C5}((X+$+h4}FU?3;StTDqlDdZX|zF1KvG(;Y+ z1gSVtO(#nxJYv^`I%&FIWA!}LXKv>wC`b#0>bzmRB?_vCMt%G4yyjcua5m(z*N52+hBd@Kfa2z*zDj#06F zU9u;}j=b?1!KFPQGWg2X;lxepM+T4Zab5h!T?71YNhMbAOw*i29%U{*In6N@vvDaHoSh1GRsi8+K+;s-(gV0#IOZL)(Qdqhx z*O8%n)z6io$nQKAyUC%8STp9|9lMP+d)Z!g@QkWgDg4fTFbqf3+u0wQithDVL>n+{ zg1ViO&zgbR#Q4`rB3=+_={s1y@IZZ zTsD#4ipg-KYg#$_Pptg-{qO=3TJu(FEIZlTTT_Jk(9}?3MCXX{M5Wf|dRF7YN$1P~ z+^E1((rl(Y#n4vs)_nQW)_gcXl_>Ls7_kbHXSw-;6h)+FYE^;4lv7&4vs=0Xk&IW> znb7CNAu5p7lu9OY(NeQ5eSNyKJtKU@#Z<9DxLG$HtTrVH+36et2~Fo{NQVoo+F9q# zKZS{T1y_|5dzJ;hm7E4R-PHwHVqOBUnKY!yQDI$2^k+B+lev-A8V(|Ei4LihJ@ZDK zO?E7nsiK%k)$X&|dWVG?v&xTuAUWn`p=f9!MrTP2n*=5Dy|p;;11a;?e_58-EhMMG zd|=90DY^E(><7mS3fqxQ>Uf@T0h{DH>?Y{~rB)Eq#ApCJyl6GhNM#vgap1%QPv;C0 zQ=TYD5?^~AbB2sab!s{Wu-XOvzPoetjua=>d~s36c-FD0hWhAJ#+i`zs8;ytGmtNZ z!6(W4*)w9N^Lx4kc~Z-9q4n`IZ>Ewc2w_ES~UcevnJsjcnN51wtpTU|W#0U(j|U*xncnF>@r2CDFhuQ`KZO zty?|KR3pRW01Y&>Ss!t2g}~_54PF5oYc+DSz+6jUqXoN`OOr~Qdg98!c#7&UzVkbx zpW=-fu3x`i2gKE)%k-iK=jX^9{k=AZC9z^fl1+nIQY6do;=ql) zVkS%Gl*CPD#_G$?1X5`|F=OWZH-BOt!X=WeBGR9I9@VW44msEKN;-lvmQor^`!b7j z-n{GF_K5Uz6j9daBLad&d|0}E)+jqfl3X)kyCN0lanje<7)0^VBiJ!%?xSFVaPuFL z42lf+A@@O5Aj9oBB%L;)^hGJXFqp0cZi%GpQ$1J<<@&a4PEL;UBivIVRPiI+$%ar9 z3_;$rgt0xCY=wI<9c-M@B<-#MC7dk?p zd>pLO`HoU(Jt>a z)acSHS!b@1D&c8yEfQ-Q<-GWnc$pghbW^LC&=VI$q8sc)a)j9-{?vU~W1UZaZseaD z5^QbS8Jb?K?ZwJzc5mipCN|t?MXrVf7N7qVb zt0z13EQ<4HmHSSY=db-ybfPD(n?~7GziN&i`6KwSK_RHtvZZ%XG@mAn|JSjG zHFO{pb5=VN9^x0xEeMq_A!<#!BYuALbRk9MIQyusi0861x~D+|4Lw?ekbM?ni8xz? z_83qK!z%(YZLCd#Q%z53*sYJN;6Yn#Rreo(4I<}OsO0vTLL9OyXLN3rv|TN}K+0W$ zO*~QxTPJ->xC60#>;Q`)7(yJH2gd^7#SrgW#B{=RM`DJ>BX>&jP$ z7wb6+j6OUzU?=UU4!TyVdTO0>D)g?k<#%b_^IFJNnNadDY)PR(bLdoqv>!P~fxauC zJ@cSF^3d=1LFS0r%vZrSiTQ)*j)Bpg z3!pXA(C=p;^QYO&7w;&Txr;j}t~+qh;0@?I+{N2>d~J-1uqClW8ClzZH>D$1SXCU4 zDvSV|DC@7*)L9daLz$E!sS^Pz$ZRWiN|D>7?T3eabU`#&ly0CtcBF@6V9L(NIzt(m z)ioswRuiZ%KYhLW6wYURT>Ywgwt1puk7xu$nok_r&GhV@T${3*P+uHFPph0l8z;;4 zzBpA6?I$5rb9iDG*iz*oZ4X?ofmQQLvWh*tbCEoI&b>YeWeD`SWMTz6|8O1aZU=d^ zrBYE6GdR&Nm_i=}Z-}B)Pl)En9AN8$3ij!#hML;_s zPyrn$)#ENWu_IwY4kzJtlk5yECxz~y?g>6C{`EWlUJfULcc5uu^cU6JbvF0U!P^*j z0o%bSNA}q9tn0*$xU>Tn-Grx|cJCi`6Jhp(yrD_AnAwT5d(Ga6X8Z8hneX)3NnbH{ zxkTFeiwE4k(e6|f3+uygJEVN;b8=1NLU^ik5p05lxVRE9*VgyS9e0uKtN@icZf5hw z)`j5R@fMgAH3qriR?WV?=udi=FPXkTEYu1BwR$O0jW0}3P{>4 zrPaUd(HDi^uwlP_WH7&Z(*Jxlp={@2C-3tADPI0V?Q)T}ZKoxIHrnUpw{|IW_I^ud zLrH0Ek+>qWo^0I)8!#k+taLOwV!PJ-J{IG1*6wnC{@@~>YC?%*Cw>if+G{<;dtDFg zqSj^6tV1gdx@-xFUc5^9kK2qlAG6a;c7~DP^CsUH z><)-7gaN*xKsg57yb(#T&aWb)WOl=MMl^oz;86#*aFCG~Bf(K)2(VK3J$BAgj->rK zWr!n&!HPR3dsrrn{5?U0rgn@0Qf@>+5V=$LNIzcO0bA~Id?!w6Fb_-5;nn%sWrkygo)TxExrUn;U*(~B@bW$Di6+JuvH3x8AE4e7FYJeuM! z5LFdH%A~uDa~h(eV9YqHP{*Tm)}=Ewbs8mklB7~?I9HlgsE%?HQpN*Cf+kGK1_?B% zVQSo9I2sdMQ=fm3%*!;0U)sl*Sa?*$yP#1xOMtPeVNGz{`z9EKjlyQZg{ZZt;$-p0 ztu&1+F^gmpHnPr;+#CAz&NRGUsrz;BsB28}>Rc@Rkog<$Jaxb9;542SfuuOfU4li5 zd?Cb?Mw>4Cw-lA;i{x!iPp|PBG&FIzF{gEA-yJ8j4J!7U6mvBW9A+a9?x%$@jC%W& zeS2;MjIqEQ75!fgT#lb=_9+AU1aZh-frQ(T{W zQmKD2Z`{b7ICQcsK$r3yL$Did+}(PQcYWe@uX~z@n?#K&%b`*pcv@78!}9HM?{rC~ zV9zVCHqRw_T{-|hNzBt5GfE!tDr2WEWF=E4$wc;Dvv4jt%@{YYkwwTgbTz5gVpDc2 zMsoH%6fPj;0ufA>etGORPBX3-;@+_FTf+?6o4H({(SbV;C|8c=caA?#3)ppsE{F)u zf>*d8A=OntxNL)*rG5gP)GZ}mOW7955kP=)IrwkE6buRdI*wh9ptDQfyL{%)_rkpe zOUC}h$h5NS4uW_0M%er%Oa&0apQ~g+((43uc_eF&IL>uB-jo5d_}Q-{*>&p{Tx%qk z+;{E{KEjD*UeeuihkMSsPFqKe!}~_g65dv2wTgeCx-yReXP0krWKU*HoR3ZdIYeqrU7mjDT$!*Y-z zKqTzmA*N=Hua9DA55Mg|n0XyLjU!?Yw%-s#vm&qoMub+%MII=QOJ13C1s8lH45pmt z*@cEi6`V%KL)u*IovTFv<1QfS4D&H46~sUjd@-8m*@r%&4tC0&yYm}D*ZkfAY9Ep2 z07y6c%cU(aFI3y&O0p48G4r&xV$bY3=w)vW3S?ihn{eHh4vhOH^dMcPjuxIqKBUT# zdDFIIxhQ`%+$=;1`t%>Ew(iljXP-Ji7UVv3EPL%~277KCp|$NDYR^cKKUT<-`@|yM z_ex&6$~LqGn+~X>l(9K|T~ckSIB;PR85H0ZteT+2A+kC3(>DDy#1)pgN?E5si%3SSY@NktAT!{Td9fC+H^jShKFRHnBi!f%#pu(T`gf%<)Gf-*a=ojskKwtI{@vRg_ z{Pu9s?H_mPli_?vRK^3&(3B^}LhnF@1L$bVZK7Jy>vqo{X3Mf9OT5zMn9`MX`jQ{a zrOR>g%3o2*D-lkb_%l|6?t$Iu%YgRc=^e_p=2(HU1~BsyT=|N!fbL&{C3%ump7tpA z+p!%XnSBon^e&JW}KjGFt?DJm-d=cF_pS}IQE028V$ynux7NuX} zcbB1|gt$MsZpz=LpBN?k1fFb;!T-60$ZTu<68&C6RD3sAhX3(}NZrC#Qsf_3bv3G1 z&fl>JpEEr|m*eh2g8mR>@%sEp3gN&l`af8chJ=4Y%1&V4n;w#3rcX&Vbl$ ztf{UQru0&$@Xno*2v(hREj&q?TXm^^X!-r&vpLx^!|O<-j;fblS@YU%>TA+F%I-Ou z`jYJd)93g^6vmL{kTydM%_7KVMSZ*Ie(w%3av`=GgCzGl?@{8h(IaHEd^ zzq{+m9r%{+J@EUJz!dPqkK1yGF(SzN6d`F;<1YB~_siYU-=QR=Fj8L1o8+M~5?83mX)no*NkpBvw+g@tNe>=??XC-GA5#6f zO*0Dp3vsCJ+6L~13#`{_#~7h%SG;@dy@Wt@*NdjddIuHguWg6wFVrSb;Vged2U_-A zNhsyeoObMQAJKI~#?cvL@oif9R;t|SE-R4x(nDC_fcKe+T=xatG+fO39A7H}0qSKQ z%C*jZN5H#|I!ybZL!*fW@I6JCCj=Q6{zN(VbtgKbra$LBC#=PN{(l0Q93Cb%GYdH?RVa(m9q&P7Vwi^b8xVU7T z85^;5$VC{;H&n72zhbVkRw34hzNu}*A4Xe1*mDB^@xmU%jZy0p@_Vwb&dBds>35vI z{E2k;AerfOWl3bSYboSDL!0Fgk)pRbRLHihXI5V$KpW1^)wP#waonqcm><`CZFr#v z#}vy#h93N)hOS z6d`mfbN_j6W>>9<>P;?j_+rn(v+p%UMV4K8{#e)t7mK2&%(3{%Ral#K3McjVEcPh-UO2#Ib!}5DZWm&MS(oD&J6e}xZ77mhl znklVd6>R^=)G8`S$Vq%OQurzbWYS|w^Chj6Y>0nbu5#4k?uCt2bjy9-S5H(sugQ*p zpuGW+(V}XC$$@*uS)KSMD$(TU4H~>^)Cyg56G&W(%V(DY-&l~$w-b1h`_u%9A~8_2 zKp`&Z1&j!rA-N~4u-+ro6zK4i0=J_bs7Ifui}L+8)2FS;eEBf0Q1d8&)2;t5K!-ll zysbhl?;2@?&2!wJ*|-GL!Gl&~u<~93gPc?S+^>0YRSI!rEag8^k8)6e^(}ZvX_B4M zOR6a;1ruwFeHXyQ<$9VCjuipXX$3eFBl_7i!wRJweV(Z^Twa*&^JB)mYr*xy_K@x71H_ktKmBUji)wK*B0ijHtCa@NR2b!DR5S9c#-4 zrxT3I4nxebg`w&Xzf2DqtXLzOMirdQ%3mjN4sk>-EYh>8@Zd2yrf>&UmRnqk%J-}V zm+w$^s6bcosV0BkLw** z+~L^d0~B|lG&w)UkbY}Ln&9D^^oAcGhg(3&la5{!+SRhl5CDIM!^;I5Bxf&eYl38t zL{8Hie4n($6+Y~1esaewXNfhGzNX^Xmh831sKeP*mx@9LKd3cCn(`~(U_4U${+Olq z#j&IC1^ZHb$2DL=M>UK9&=$(wJPass6X&YFhmTS6Qf(=}S3kD_t}LC>t(;m=BkPu0 zDSB19^lp6CoFefTb=ADJ-^u`XXIM@;f3Q*Y%H1foD&Q%3tMQfJ<39rdV!znq^?C4Do08+)!Vi6{p_lu|fib zg+72^t@Io7dwm6Zkg!oW;-JjIM9o7n#nCu@BdtqP?&tqKcQ<~3RTAr)lN^6LT>Q^& z=o)rbc4h`{2LHPF|0gw3`=%yp-_#`MPsVO({13w2f;qvg4HQ9tw0%TzGRR`wL`g*g zc?&x-_QBuArs*BX5WU;wHCL5O;Fim4X$z9z!E1nZRjo5kozI&(tCIzMy07Q5mItn< zEos|v8#M!o6<)V(pWdcf-ZyWr?cJ9@bi6%Y65dEeC?Vw~ zJ~t1UkzA&<%K@4oz2WlI2GL1+%X9T4cP88Q0Mtl&DbJZh77^eiy>vIQ5q6T^Qh?~8 zHqu_=8=VMn(q8hL4-8*~QK4r8VEDZR5H^4Us+j<69I1QgsL^u*)0cV=H`bsA&|jl9 z(?$kU$Z+3)rsfk=@McCwh4mIzxpcH<$+v}~n3PauJe!l(w4!Q{*GRq3 zFD*3nyfu{>QfOr46mK@0wZDSBJQ@@l7dl2pq*dCs_>?%b##4J_Id~7&S|EqUG+tzA zwzKAk$seuuQhkvUvCA}3u9~e!1zcI|QcB~3TdlXP1Fd-HhYq6DdwZ%9{7QBSTvLh} zlUQ1cVp9@LJZ6W?7ecO-S+mxdinT_iXVN)#Xn|Xfs=P+{rlp}6Sz#(Skkvj(%b`{oNvVF?P~~0lHWYwLe5orimbtUv~Y^x}HS71tE5 z=}W=L#lOPXQe=&1xt0jqk$>U$>sVPL3x!Bh+B}#n`>=uLuavJk-{-4|u_rQeSL~7h zD%+zhc8(^hDT;h^&K?B~h^>MX9F=3t-z#)^Vl(pM`EA8OtP!SrV;;QJh|!U5rD{1&o0(Xy@_{H#>aY z9lJd^eva>at}5XUL=RQn(dqT)Ml2=l!7k?+&x$FlwbS&KzpY|zvYXn8w%$Fpi0i_d z&dQ7yNvrYBMeeU;O#N_$EGxT`l{L)*5;O7@J-o_-MH!M|3)_*MQc#gtb+gRvH0`XW zv>Roe+wdf_=MoKC4YyMdXTG{=THh$9Z9}p{@36D=!jww2fbP}+K|WP{V`OzVebs3BI%yVo=c0w zOGdf1*9(iNpVqYHXBl#=qV_*e8;~aJp=#O@+jhtfJ3>a8y!+ui`$d0U_QxZiGhE&W znsCFUxy`lS0~7tMnkDqas)FS;N+ay>LcPgo6Gn9^-ELoyQdy0#WK1fsC5&t-ALOLz z_Y`dj=mW8HDP-L6v8-4R?pZz39wR#+h1d&sTn54shH&#pJJ8$`nk3XD8LC>v7~IU> zB_HAmc(hC7(bPP6L>z5togGJ=>(}xPaEw$eiT483U3McmG|BM^aWLHJHuV8`;yhZx zCg5IuV_HL&w9M)<(B3bmkG5iWN~Gq*W{PTeJE;z_W^AUa3O~=AI|x^~`Bu9LR=XKi zH!!SqQLJsD*x13d(806PK(f-nveH1awh^s;&FVco>OF?Br)@EH>m(WW<9&YIaoCPb zu15M9X3fn}W;Wi`fsML;DS=skymj#1I)$v=a009UJ|x?+7R;p@%I?K)=y zl3ZhfH7?||7pP-|W&YT@{gW|jpF-Ln?!^5PUvnhHk@lOy=33>8^1>avK*yqkl2m2$ z40T3Xh!uv*pc|_%@vT$x$qqp59{#Aj{_e~2`wl>~c=;Ath_yhUh7?#G{;KeE=iu5b zC9L}4Y`(Z`fqg>Q_Z66* z0nW2nh%E{J-?5Qnh(+4t#xI6yhs9~>KXt}G!YjtxoaI9%N zs7K4_3a-hhjws-5wSxJ4scf|hpUfnW*y1aIkr6!Ae6U@dkl69p6w!F(sDp5Kco9Hv z%;Jurz=fdBMoeKn#Axk@Q@`Il(BRi)3)>+v<4Ay>r*|_2vY!M>oMHQ?ZM4H!zqU;0*H6 z6IEozVCn0g&2Izr>bK9OCahw^!w(-r^1)OnT95MJUEU=~-*uN)5oa(gt#wJPMurVK zka%g2|Eg>QB$R{WCXjd&oWj43=gNDy#uePVqg1t{hjj%$WsORb*dW3#DU1;5t9y_r zQ^zKUFP#Y7xkr*r7{Hl=AUUSl#}C4NH5_J zS<2+TR`KbZa@C-oSI>*6?+0Q z>l!p!c?IpCdi)1LngDQgQ8+kZ!t-FI}e&)F}BQ_gs@5}*k&siT2;w#?WIZvjp-F$w2Z*V)9c%2lx zu~9^qSWb06w6%Y=U+GWwvk9G;PzZfQ7R*`WGOhZ!5Mk856`;J`{cQ+`e|8WSpH>5k zgY&@2H1Bo0u`l*Zbux!niX7Jmk+_>%Aj}jL~B=Nf8xHndiuxTGuXiulQ8A`dC z{8{2kI%){rv6}n@;b-V{o8VK*lHlpEz?HSeczt42O%WatG2s_*O2T2k^B7+-GG{sS z(i<|Ov{TIpw;=^voM+9`eoH3Q_)hE+H{4Lx+=dk`-*uAGXMz`n(eU8UbNAI@IH4oH zT50UgLQlP8n)93B({;5a_)kQP?uNOJoYm>nzmWoIQT=QmZ%7z8o+xY{ov<2djdUKO zy{n&4j~T$wRmM`#2zVOwQPl0Cxw_z$m@f*VtrJIS=?6HAnoNIEr_$v;qs*K8e&3Fx zgy!H=pv`d2EM|U;kD)4dU`<;EOM9gmS1xUd+tD6pI47K1mX`rgtCfs*!FH?k`{Z5f z1@Lj%?3vHLvb#-8o9N|wb0_R*WSKpXHzf}+ZOi^1{#y~^*sePL^Nkp>Z^ZofD(C+L zG52vemkLP#L-@JHS6nm*Zp|LamI@@ErS#PvB%#NT5 zy>vvE`1b2BVUNO?YCV7qKJbqK>{+-`$F+R15EWsS$BK+{$If;AOYz2%4fuYE7qw!+ zi8a7ynIsK1LgS$P_k1sW=n3&th98fDv7u32a5p z*1u>Tw??*vKiq$30x)5s9RU_1#Q4>Q`uq=S4|hGn^!8)c)J^O=Et7)*DN|T=A4Nsv zX79Le4gMnNPYo9UpjI1h=Y}9L7`d;nC>Srbc(@Qc!ML*I?QWv&FByINH^JHI-_`7m zl*Y#!1ZJN~AmKPz17>40*u;71#h3mgv+W(he`HnUI2VQa%XRVM0P(I1Brd!u*WB_q%rI~2l z&5*3%sPK~gI_0p|kq9Rx=w(@i8kO&UfB1q3u#K6le^ zTiy6?A4h3*Kky7^Lt@tHCRUkD*98XqV}rP0Qpy^l9}t6D{Om{M;g1#@Rt-WUPRFB3C(+?k_f(1 z;*%Jz!3PEU4%EL8sc4E&aUgo{$hC|K5{7vur!AV8bE9+0D?(Qsp?^9fj@NevOC9kd z`VjgdpZQD|vGaVg)h!F;^j}m-U`6b$E^R%#DLm=jxordmp~Ab(-`7Wx4HkV_#_wK3 zZC1>I-g}7N)KCMu{6Ju~~=jxn@YULA1}B;6qJ zg*^wagtJ``OKZDLWdC;?YGl&%;hS%C=>Oj}9}!VGMdg2BB1LJ^_FoC_M&u5b+JI7i zDam|V&|CTOP+SUVv1Cz6D58?A+R||fOndIJT!II#)mzBF^*}>`v`E_^;am}rh%{6r zXT68nPFLD7eIM`NMdYWl&VKy?Q55z_vd+d3E%-W|E6zF7KHj+aDOr$CMJ|J}rX>Le z6fR~&(fG6U(C9l&v1CKhD>wIU1B-{|)Nz6|#v@ml#H!-n4N0O;ZAl~+Eozi#7jq z9x~X~6Qf$KsU5JGt9h*!v?cru5{erkld~c?Q(PgK9W%4S@843=-$nYn(G3w-oimw>tuW$|ebS>~Tbq@2ks|CKE)A-!>gSzpt`SL9<{w6BO^ab}| z`qsHrKUu2ShGm+9j`Ed7GUA-=B-6H~!*DI;6AYz+_pB{~8bu>`W{;{iVGE29s^0gv zTfM}#8_JYU?QE^W>%Zkc>=jaazJBA!{To03eTL@$sxJR0e&ij$^H=R$oc@Crf9L$z zA$`;0xByH}SrhZ+R^{dzm4MPlc{MCF1S^SrHpQ-!Q&ioZ6NcF-?#z3)_6PEMhoX@X zEo8qWtg9fzh)fp7jEy?C*$(`UyNA)T*&lfM=K~|1Q82aG3eFBc*>SCZtvc5a>+_`+ zEU|)BDf60&vn$In>}xWifEVpngvUNx@F$d{p5E@Hi!D4$Fw}rEnYyp8#RY|aH=}}c zM_Ltin{sjGEE~kpZu&~O$6Ovh$?QS#Yzfv#e8y@VQOT-Ws7KJN<=K{SEu! z!B?dMY^o)qrNyw<7n&pkgBjVJCCWL(-8z3<66t7nG_FiHy_T0ViFLSC%#Bzq5uFC| zX$-5c)2l5h-w__;hMirsR-TQK)*vpt%fcc1FFrEU)t(zy(^jL}r88@xe1W%Qey8T)e*sO;2-IM*@CEf2oU@$NOn4P* zl2kv=pc_};#OA$)H|Jd~N7{|op^hSh4QdnE4q9kBM9i0|LXohC|52`z#!RxjPt%8- zO!BO17gUXGY-*3R8fp{7&>7?cGo^PB6|ddB?w`^N>BznS}fel!;xO|`M+Fa&Jb)(guKt}>PN1j|o-@8cfFZzJ~3uvCjJ`Fo#wnh;CW>0=)?fKtdZ&A|udgw1s~^zHrkbP=R{15n!hr z?fI2EF)JHM_Ar+C=357O*Suhs_(#wGeF2)pxLVaSh;>peRSn5FGv4MZRxG$;K6rra zl5Z97h%C`wAC`%fY!`V3UZq#IUOJxJbJX3x_&2$#w?CxJ#P=jl_U%pZe*+W~XCrep zM+;|@f3`2h@Af5+z{B2}v_w*oL?*K>gD>up@*@D204+jUleHpV5w&7-r&BG$!m?;c zWCH94_FR9_m!GZvM+B&05dTLRuoEtMOTJ==@n!}`Zid(42FKUK0kywZdxcF<2Tx3Z`GI)Pyq*v)I};O`vuyEZd;lRMY!y|JmQo^*)G=Fe20D_(G@0D020u zNtuZ&=H&`o=f$`D)!Q&5^fJ9wrE(2dcdh!)R?Y5qfzvH|r78C0yXB0<`>r+MuGg<) zYx7m#<80M9RGl!obiI+GB)_4ocrHe-L*pCvUJ7=Zo9=CZ0wmoxt zCy2oavHFe10;YhbBNm#V1)YxpY~`jgZd8IH~3w zD07N)D-cq|^BkfI5j4o=pUkV^j==IKFrE3q*v_J0kj6#En1&cnk$<`kB^F=(QmA?r zEtD%^rT)?tAQ>FJ$U!U}$DfASb9h6gNFT#QE|H5t=Ni;K55_dxzvS3Q?vIs;Lso&x zAv)kvWzbqCIO6o_jbdtw(4M}|rl@{NYB!f%YJt}27_8PZSbsY@qIzG{4!tRE=O|NL z`;!36RLB=EoHMh0Fd1lMe!^MQhx~#enHvPzB8Yer-z6ryK~}1@%m`r0wS?+b@(pxW zx{0AeDt1b|CRu`(4v8;}6B%4QQ6|eNtd=P5Ir5OoVEU_4;GkpP%`?|Xk8*^E zjq%I!bSB2>j5%7!pHWdG?dKygSVkL}&s^`=7_%F(CG((UNlr67PQ6aOR~v78f70xJ zuqm(#}8n252BSgaE-kxVt5|yG!Hl4#7IOySux)ySoH;cL)yC``j~#W)W*I)S0jj7v6cd{af8sF zFvOXg-pI2E93sM9enQY$4Ha$*E3lWvG+(Pvvql<;szkUR1O54zFR^P!y-1&;TR%uQ zPUy1wf%h&ntcsShWb1FoUH6L-234WYM~M-Jg!*X0yP{*;y>%dgwn+OBziw4-`9ELn z{f7QQIJc({)G;H&wWJvir?Gs^2&eNuZt9N1%~M~-LZ7rcDGgI{6XC=LxM@?l{(7$# zBTWh}9pj&%e*5@B^$#8Sk;nrTY`J}?cMj9Kg1h>#OI3$nbz}{oiUCIDMCgTS0 zb}IvWJvqEIspw5xMWFJ79w0=_g^B$rExv@&4lC3988?!lq(I6u=pk|`Cd9{v=9G&IIsQTJb;|V4W{b0lk{sYngJ|8M%ZE2}z z1ynF}a4@wpR&=%bGcV-H@yI|3eDp+sg(dg;aj#_>Ae=WTE%+WzP}sn?s!BZqv9!Cq zNkh`)S%jH2S#>e_K4+Gr@kdo;x6$5MitBaM!@Y+mq>aB6EM`2Oa8zBDzQJ7oC!tn~ zIA&6iiPc?jSMfo-uBwG7>G)F{?xxmN%2$RYkdy0OusdU*&@?07Aye!pmJSW@__dB$ z0&bB~RyL1ZVFuj#zNK8@Z)?NI{o*P1#g_y89DLuno^X1s{K=b#t;} z2fsD>>v@BoH4{I^H_6;S;N0F8fpLquH?X8^b=Mqf`B(rA!hT^FPnRZ4$t>hgkBZpU z=}iA197%#p5M|2_RM>_XMS<9KrSactll?3P@TQF6i;W7hv(4rvWgRrUo(OCu#>9i^ z>trAPGMDMMizYQ+)}GSKKBO_Gzy5|1hVkcIz5>c+;lE6i4tm$pLTOfSz}#p8`I`o zhcVsbmv3k~QqLL8=}wN4p@d{(56@}#6Dl2V&(9d0#N4y8y;6wKGy^;F!Er>&a`TZr z$)M%NoUQU;cdB`us|cR;7#Zy9xTE(%_U09?x`hiddlyUiT>@*5pk=HwF1RLK| z-sbLi?|BFns=A25rE8bQ{(FGi_rai{9jZAO)+$GR?%iCbbp*+VkseV|v&bh){Q4B) zH2MIn@sa}RnQRf7U*4MvpDn92IV@D?J5VkK#?ob`vpt=JMIU7J`HBE}!Jf9W%gS?t zNk|PJ)bX?&;@MAs9x$7d*?!Y3O7m$WC-kEhz7Dd5XA-_ec?V+@G;^xYi?}B0#}u#` zFnAa=ILdx?#D0ahS>3x}P7qZU1k|{-maXog8*D4xk3*Ink7Ns#k&P?Aa!Z`WE6B*{ zK#G+n6w7gdAq~q=$IFw*kgo)pQ;_1(8TjM^%E=L{2>sg^{HXE>CMGqi+AvX=UQJmF=U2#bmXw+1+40TWmDn zP7kvL9U&x%zC?E&I7Hx#wsWEZRD_ZO{g!SNb1NQ9B}JJOQ6eH-sjge0q)QE`7^Tb=*#RISaBJr117r%}7?Ht%CX7&N6J&L9nMJ`|Nlf1J;FoS`m4_R zQ5sc-nTeQC+VUkc-0`ZG%_MfKP2Pf;b3SSrs=78}8>`udQs z)~|o-vSLau2DN|@0tH6MKhOpLm|MsO)yEaPS9~+Mr`80P(+8*(*4)3{*VaUNNYII{71}X!GTW_bTLz?D;l_L{_>@w24@b?rY(h(gAEP7{FK zMkn6H$XB>@qhhsNe(}!T3!KFkw--8Ose#%4IZey>6*foi6>jDrp=^xXODApsZ4m9( z`r}Zji<6J%k6SVo){e;Sp-Zk2Keav=d-CFUyNd_@VS-gN(cz7n;!_yY%F@=^+DVCE4sW~8SD+!gZAgyFk>-|NRli!2so zp(Ln=vGcA#52q&?_}!UYe&w0`_5D}v*sIPts<)VUo)`>yyUyaWv-C5sm$jSmiS_k~ zcieqwSV&ea6dU2J&RVgRTU+>NTrL|MSzw_fU|;TY5f(tXsk$f9dKj{cel=LXiskc3 z2r%XRj*@96n(+Mmf@FH1CQ0R|+_0>9M=ho_Ak}A~Vh*3+!XX>jTG94H#Y1_Ml5|8z zcDH<8JFur8pkL-j*Ru{S9(e*dxmL(6kyZd@dI477kz!;mgdde>u3f%RZbRGnHyhwU8=evbu=B%uzr3A-wZjz%aAmd$1F+7BwD- zuXQlp!o|2H#yHgXar0A^ENvB6Ol&p8Q%SQTruh)(Knm_241EV>>>f_7W)<={H;O>a3SGGxj>HfqULn*pUHfPqc}l z^6#*Y*)T{YjSMYxfYy~W)8ZU&`ywXHNAv5-v{&|tB-H%A^C){Sw9 zN=nR9u|@QO1R!hMU0tbT&%RMxQEkkR~j78Iv8VsJ8^5 zqcwW&46WGGv#8JIG(IS%U24t6% zObpV#=YLF(-GbAiy@xe!{9Hm4IkKysi?UFJuKh)2Ct!Zpl2o#N&;xz`l`xNFI7_tsQ%s4_9IE{2nov->GU z^+@y#@ax%-QQA#?gZCEK@A8Y&|6O92W#Ck+$ zva1(dQzX9`gB{B^FMnwQ2E}%M^QfuixpVrP>!W}N%A0;|m<~Q5_T${mT2ZhPGS5ks zzzl_xp9^jB_shMZ;`C*vwZZ})_rWg`TC~l*EWyk>f~CLFO33DWGElaSn3oK$l9M?d z)n?oVI~bP3?v-MZA8_ESnyqrJsI#Oqj>Q5t4^zE4O21ClE|_Xb9xMhsqU+-|iNfZX z^~pX%{)s;=-e!GIF#dA>8U7^gP3^zw**l0>{a?-{iNEmo$|}7z&tA3+BC|a7bH=wM z7O?)}k1F?RC@4}eL|A6oA&y4M65TqAs{HvQyX{Z_g5tm6=ac9d%79!XSZ!ovY}|gH za_RN*`tZ3E(+pFxRCQ2aDTM_=#a1fin9M4%(G=W*{M~+&>(;3oJM0cP1bI_n=W87X z{T{mX!RFnCg&ZDj_DVqheJ^`tA1hhX4#2KoNz#ITP7}hgJ0|VShzh$gNtQ@0Um0VwQ7@`H^%EKEegN5egY`FO` zcjn_T^zE1v#L5{dD6d0}>X_%qLO(9VoA8W^BU1cm1Ws%D?q@JQs%5p>*`#;o%9-^L zSz8lLn@DlN&m=+_cOv&7X)soesWUoxWg~s1Sh=K$zR!nmQA)-b+t8!2SPPGVVhCQQ zIHOEhw&s@_ZxNMncNVA!qU?sS%Z{*sp>nq?Lmhrfj;Tz!-}@;}78*nROHt}5LO$Yk z(?n_!Dvs5$_J=ews&;?A>NV2CPoNZ!T6ih4wvj|X7@4v}L5Rv;P>dqenGIG~mvdij zJZ`ks%U>r>lV!wU#0bn0JwPCIH(bH3IyPYdPDBPbMQWMPbB4-(mp)D;ICd#)Xhg5r zQv;hwdd*Ucn1EiVE~UCjlPVvaSs30VxjXPCtiN3|X~Lnzd;cwe#g-Vdd;wE!LvZt- z^S|d7zhfUuJ3+Tp-Bg17# zilzus2e$?o)u%DxSP);j5l-r@E711 zk+I3dA&kz_n&$qzrDL05(s*i7QJm7;^r|f}CA;COQQ`>ga$IRsQLgrzPBaYr^n`lDIUR)og(!jlj`iR|JZCGx}+}4n*jNN;n zPUaNRYG7sKN2o~OKpVC`xoY+F_N%{___m5_8vw-FPK=D|h7wvF%cm-q6UX>0!6uGM zW+v_o}N7B0e@&uK$P7fzue5^MPutOt{g0HOo-RZf)p_LB! zV;e<|t(&fyfd@f*(p0<^z38En&>wtRqpd*v>GeSt)M4`A`jDX=`FA`7!LLD>)?9z5 zYCF6i^qhk;c>F3k>`N5C#p=-Fvhu~(byX0S~0HBw)-_k@UuU^pBCJ~$VCDL_(ysP9ZStHiOD3V2M$#7 zriTV<2x4>vUR<#Fi_#LsnR}gokMWAQXP$xT6`$p$9`IG!$ zfC;d{0cs`No*g7AN6G%FoE`t^G}uKP!!!Mei~W041eJi?#XCP#n1eSwI93w6X%XXf zZd%wNN3G?A+R_r)6(x#us@mvhU(xA|v(5=y@8-tuUUVz+0VJ{#9d*-(O5rF06m8t! zSiOY7!&kmm4r{~|)6P{3#Ms@H-{;QdEdAcz^E2EDoJz#N zspKD+iT>BS6EwBbv-^|HfCc}*6b7COrkQS8f6R}RM7z|rd5hT0{i2c<7=)&{XaIzu zpoq;pJRBp*eZB7f$a}1ngWQppv1_N5A~ z-zA$rv9By|(yE*iPsd8J0UNbe0d3+oE-pJQNC{RO2~+|SvGry|09T<{vu=a{`?vm{ z>f`HqTj6!XM2{7C;0DxM{>Ia;0cCgb1#WfGt_6c6A8Iw~z5IRklh8w>$`Jix!hq9= zum!?fDE3TFnLrbKdODAjQ;y;K*Os!08oN;GZzp#&4^soZX@tAzYYTe3Jtb%BsH}r$LhQH z5FwD^edGiPRj0}|*_S+H{U66bgq zaL$iIZ#loar*#Cfe83H$3sj=SuEVgmbhv}0DUn)opH&I1lab8`lP<6qJVxBDsXd!? z%T%_V)pq|`>x<4=F}5FnhjNK7{mVFZ&I0#w+9xp zaHCnW-^HoL2S!NLBgsDFn#*`^A)|ut-Ad0Y$yQ^!zpom!J=~}PAsifAv}&&ubOZW| za->0ESyKEVkA9@xgC)qM&k7#oFjm`Zbf>GruHn%jlwOr=c`?rFEV+)9CRbtE3_v!= zwJOjj`0PMCvypD9;nwHmuU&?)uuGe@ATof_k6_+*16*a1WV)$fl;m}`m|#5_2W^a9 zMUk&0SE_4sZ4@y|@}X(>)pP5)zVJUBFvk!wWPW!VW*)P0ww7TB^dLsyJ~?_}M^Yu~ zVpr4#RPjv~^l<^~tO`=SrKW4{0{S8?7PSUG%1C*)Cn0nutY0~E2atf|2Xi_zACcO6 z%Hr29KF^p@Qsigq4aul0XBJfYaslq%tmOa_3Fubvbc!P@dC%RX4|6pTAVmom$du5% ztJkmlen~Vl^I@#cnwwK5D`s{DYKP0QpS+h`YSs!B5A*WP-gbVv-i+4N?uKl?4&d@E z>&B(G?DFY9Pe#NHMGno4SGd$AS4=l3A7sqPWXcebipdBX2h*gH5L04Fck)J~cG0I* zbr$LRk1O)MH!UOydT*e2DX&UXWYA`x7vv*T?AvpA^s1KE&F%3~NIvsDWgLFxpeL-g{h zLPYT{at9dsh8h1o!jtnrm~euh#08jL@%(>1iT^CdM@#%Q>oD-f#x!G!Ul;RJdAWc7 zez?R4ML-xuQWjU#7xl2)sx?hJnqeq(bmha+2d@uo<7*jS!%YN5a0zcc#If zUk;~kj=7Aw$hgWuab>ie*vo-D<2w4x;mBbF0a`wN(Ve~N-wrxn)Z|RpFn4P&tm6dN ztU9xt`sg2?g4{b^GdCMoGQMFsW3%EvrQcXs*V5hF8c>N$Vp{1S31(vU%o7u)q*Dh_ z?_-4>5=9fX0|$_BcMjn0A`HsNn|Mwx5(vwJ07CT~AAj2vDP=@phi>WR+=SNNfVvGu zZ(4(_Lw<(48NBLTuxVeYa6_Y&P-+Si28>Y9uRKo3(VwJ6FJUk;;&Nx+Ur}C`#Xx}+ zbq4d)4*Q~$j2+OE18mS4F_9>b~;riXQ zc`nYlE|2(HNHhyI?-TW$s`wmc(LB*DqASbv!Y~1fdCVkdTm^ltS|8)F>9dHDC2{bMaezDYo5?jPJ`2!z~(52UjFq zlyMDs*?@Wueq!)`HHvJ5lA^M=tC~Nv_Q$fU%j}0CO4>(9l%Fu2H-XL&a5_ zbxVH!A##MDkVKJb{3g(~Y;F%g%rkO1^+MOcn z7T~h2Hcs_o*OR@XdqV_mcve8NS_BS_w%xTkkAnq4$*1GzC(0jS@l8*c3J`9JV+2e@ z)c+a?D=^B0En_k8yBeU*UDcDhzZ$HIO|uxjXu&3)-DDYeRLi7kGotJ{VD`)I)cQz! z%!+{qb6(@Nb=jmAuf@W({up>=r2u3N&Yr6-CQ@*q&T}$v@z}90WenvpZ%)^6IzH|$ z-U;WKqWVy9G#49*2;!0nNN~oJVb{L<;_MLs)MZ`uXB0p6gPa0>IN3E(y3@G1<$tR8 zw^u{9a8-V&G{K{M5fH}tcEuvcdx9cYcLd;WPmnl~|Ggr#N$=mV;#5O3Z^7Ys^T-~d zt!7PwMtGCt64)5z5AX}52fohWfNl^&r8XZ7$IVc9T_L@;34FRr;VZ!LH9fL@Xq7sF zUP>qMJ?M)kAE)7`5dB1DoZ(PL8865uL6LVa=!kWuow+7X@3A{+hb5CYVrF>NLi{-w z3bXKwokZ}ObF2O3p<1Q9L^AmWsPnyi&B3lo+M5WMB>1n0n_H_Ng=jJ4cfFjhpj=%` zRlNL_9W0Z+yGruC_)jI`?-o%k+$Gen+y8#pa+ajKrFB=~A}1NMC;~9RAXe?6NLTRkSzheJ)<(+?YccDk35&|RrBAaLq(fsBCo8Cu zK0tAUM?A#soFZ{jRGaK%S9-7S%X!Hc2*n_K!8Np9Pa%EB<(8x zOF6dQ@+-wM=KVC>BNiZ7^E}O3aEY7rji#^%AjK-Nx@UuYE$&^tJfT8SB9<39qc9NL zO+Q9hXC__})EPJbzI#=H?iK9ukbs0jfA{Xghj$49p(=;py2OORZ-EM2`u+ns{C{_D z1@-I=|2={h`!9DS$k=iqC`>{S%_NJTl9t(a=FzwDhnpygi7bU^0RF*{?YAI}fp3>E zMd!WmNj{>&;{W(5ILa9k(>VTKBzY+>ENuS+Ucy!KM&?9Ox|C)`3m2l+Em)qS)B*sI?r1pzD-XqYX|yG!o6Wj}@vAMHomi*F`(4eFv#h^dz*IX~@i9FKNYxw%;6i2V(V66xLEQdGe)Zvv@h{Qk*G_$wTSmvor>V z<;~H`I)1knx75SK(MJu2w_KHkIN_z*l^s4;q<%%?EV81wjVaX1HCuI>mu;F=@fg-S z!RI~s=mhfhjj2}WQv<16-#pj)PB}S^9 z`rcMi=fi;0$XASJutooW@P%{0q7Nd-fp%u8l?O<(S{ipa9C;u-J{hGh*WTKUu z`N3B)q`?ZIRCA4w z=k75EOpci)JupQ;gAvfw9)0Z2rNQVyRp0C%+9)95z$Sb!-~?}UTTj41(^MkYfOB$k zLfJuDOF+?r<3H^*4@3_NuO&Daza;@UOu{!)){oLV0m{UutWL~vn&cgCoa94#=pRIn zj52E#9|xxv`Sj#BS7S#5)er1}thi7v@_3Mb>6m3I=K5?!$p)!e2hi?%61+FtU;E$W z*H$Dh)e{@v%?KkpqA?XR#p=(V!OvCk;5`=iFqrEjIgPdsFj(uq4*?*&@gakj?0x6+ zq$3bfP&%BD);SP$>AB?Z#waxEwkZ2d)-$QZ+=r1*=IcKY7Zpil{UWkpi?G-Na9?Y4 zUnCFP=*AmEv7>q%AMZ*PDjGgBuSFt4=0S?LwQdMh{><(&trBWLmaw33F=vNmE7w$jL%oL~l-$0`CQceh@*^+A zHo5rcn435LBu|-Nt?{*tx43_XQT7A4I8rcTTfsc{>wixv6xjaY5@FF?)?kr#;LRPG zpo&iVg!}WBKR5p%osAv|{Ko)V0h%Su=p6K1J$vn?pQl{Fim2%?mv9F~_wTGs__H%b zwzw`6wFt06$V3a0mYQ6jjhwunA0H7rAy>q@zwyE$xQm}~HSTV7b`c6~RT11@!TG6C zq%)|7Rgz=Rt9yOntho$GOuY(0ajh#=$VNSSMQ6+7c9P` z1Y7XfOSEO`!q5~(m(GBhik$dxXt-16D5Ar!5TX^)`F*;y z;^o3aAf`8Rrm9%e-lSvOJ+5NQ=yr`qK#oYaMM6gp>%L)2eAjsc4oH9_Yb-(9x?D~1 zmSz+32&X`_S&^ZP3-4>ONSehbcA+YVoW&j(H5k^R42Y*7M_7%UsR_#+qSQO|On3sy z)cWp2MP})~Qc_+br7AN5T@Cx|V4w<}eTpEX^B#XtLZPm5xLLWFP_Y=X851GIQ4ob}jS$eI%vumJHYhu+Nj z7lrXit7d#_nQ!DC&!ZeT@+8YQE#nu1I4xNO&`MLzkT4~#*ns0#6Xwg6a$?Q(lGzuA z3TAcg52^SS4)}FM*Stb!hl^NV3k3Lf`?XGFE|WXjGB>1xepwg(ABFd87*An5g+~g>J@BAfXr|FY*?=7;!aXt|(I}5gx|* zx4z(_iC0P~nmDQud3(9X_-y#YwkxdOWRlqUTfAh(nsKQYo-5_-ih7 z4$1ouf}f3{fvJ(HAyCLf&rZ+4!O-pxXr@Jj3o8Nafw!8~)%fPYkZGbX5D@j|4JEOV zay@#uaby9BvQ0L&rm(6CPD4)O-C-r)C%mBP$UX%zc)jC`y-Yf-R*Z~{%x9Y5zHWU^ ze>*wnh|ySJ_lJTT+p|>jz{i!l`O<^^w!L* zuI>{0RZEeVZ3rtSvF{x=HTCMA*j`Rsr-j8(p;Pu9Ja5m2uQ(-`?XPR*LF7dt#Z)vE z!nAL+A84@;h>-|6F&%)UUWa3ZWOO*B9@^Y@J`HA@eDU*PmV}IuW7N$Wt+Z2!!Y(zJ zXKM_U8aS10b(QisYbMsb*tbQ`TbO-;?oy`<*}Gl9vS0Et_2*D9}xb`{lRN=hVWqcM}kA~KPaL8y(Rn)%>OSh z2Kf@1tq-fE&@Wke-s|_OqJaotKWAqAO0m2U9Z%C46${DQ;F{vt#AY`o*4H2GH^IHu zf}JkraX+Y(K65j1d0Fp`nY6z>yTNb3sgt71(h)}Bl9q0hefKl)+r}KQ1a)82!_OhW z)GYln7|9)ndTvuZ(2=Dgq`pp_6pn~*sn*!j0 z0lrZ>th#s>FN)ehcaokum}VQvlfj_qtX~BD0-Ms!=RhV-k{7Z-&Z z#rd=;IUWV*OIloX9t=bS8J?GUpDaW29WB$zKro00$W}aP?ZTedKSyDX$xY3$VT-re zeTLmqN(`5O(AdtYjSt{Jr(NmN3U|jm%MoitNT%n0u7K7IU&o|Ez~dwIctUM``q`;_ z8<4ytTfQXjJlonRY|V%obn1WD93fIFJW9V1W4$8E<0Za7wc@-IAA-o40fEh)7AuyH zDO4{^m%>e)VeJj`B z@OU!BynM}>eor3{)*VjpL|*jXkFK>P9wQ3o+W=ivq&(E`Ih##^I@j0l3FBnHd)SN` zB&FL|>bf!NxqQMW^UKFa`Y!%$MYQab6kf=;6542gXOV5;JI92M{nX6-`#8|?nUTXiQoc`lC|>-`zkNx6Z8KXN|1uuRwM1{)&!4OLpk_2L&S4}zQ3?~ zrwlpD>0NNTp?}{BklY1ZfEU(qU&EhlYQ3_mJD@M)>hxQvAuj`byW{Lfk^uV)_@CsL!Y2QV{%vb0UWAC z=QA)Pb%-Wx&_*~O^rY)ohIAyY!%fE$^Kh<-hbo8o3Ozv>(N)X0=Qbx|t4nm-cRv}0 zDzsPlB(}xKI8U{*Sop8;j<)3*PzeuH%Sa%>of#a!-uk*1B%W&uvj;1pKcs9b=+|#Q9wUX4S z)u{39uGh9AsDiBWgN{Td%3V^U&R)mYjrU9TqrGhCm{xUVo8@rpXAKBBuZg}#3WbMG z2&C&&_bp`}OROe(A%ZWC>BlV`Z0kz+I8|+>_93D~vZ~y~hxj%2ur*HOUjYfg1o+dV zaW1E>j`ov#BDKuQldFsT7`xHaHAf%p+We6xlW2K*u;<) z0bA_Y)^pOes7`A`$_r?pasX&0#02KXG2Cp9r$?;FWb_p)+A z53J|v=Bk`32RgL$)C*d6C{)4@Zwu8ojC>ll&u?EJQ+rsA-~WI_M*NznAa8QIu0HJC zvc0|Q8&g9Pjkj8E>Gh82X1|a>uwOCxJ zGt)`%O)4o>4BQ_kUB_$S2`D_ruSIaMJtIqIw0MZ`hFHQ~Jzw4yNw0dtJS`TyeML35 z$OoENx5sfcu2Pw?Nv??ggzRC(Dt#6fOARi#bA+xJ?pMA3mFqjvt-msj#n^J|AqKr) z)@|~gG>PpX?sk8II(MJr9^wgWj5yLi*ElPAX%~J@|1w~l!6QqYLo$GHwQ$iC2Ejgj zX{%|w26k%ZL2=;feVbeXy#>LZhBGRBV)JgR_12e|%Dc*QHI59^sT|09>G2l+*OO$5 zUwPqpBFi-%?ghNLcNgVCU*nX*pe+-l#9?gVbV&*n8mW#$F=;wZY(2J@Wvef}Nm#%a zk*aqrL7w1N9dNZep(ZalDK#rrhnSnR3UYx`^LKo3Z|@}uelHvvGU;VyD}mTn3cKmn z6bXJ$L-ajsdrYtMWgAI*1e%!SumPKu=$7sCmmuzb)9#fEl1riI!Co}6XY3xa)b7|V zOFxM<-w^$m7_roToB)&2-&Eb}Tc3-*=Um9cW5 zJp($I+m*oA9B&qzIs<;7NGoC&jl}iSRHz2I+E^Jp3L@rKDEdI|dU*X@;L=79#@*9s zSJ9i(*i@CNsxu66B{yb*?1ft8H(CBTVBS)*4~Tu0$#_&ATaY3$9h=OynlO?#9BE2z zeLI{{S(vpWH;0c4ZxqV&Nya9PlW#n$~p1>xC;P3pi3z-C?VIbhSVS0%uP{IW&x zezo@;Zu7PmSI~v{a*nVy=)R5cnRjc9a7APVubZd0jj%P~KKbLC_zG6{0;)B_rq|Xf zA@>ie@Fk~*)^sL359){Mu~c6-O}Zt@j5@dKPinj|anOqa0_`QadCIIMTB$4?&Og-& zib}kynamvee`S1QoU>zX=e0vEJ5`{E`BiW{ZL!D#73I@>G?O-^DDiajUTvCp6~{bT za8?zQVU)5rnc6_1A8`s^v=6#0-Iwx9l6Vje=3xABT$O?9;@3(Ms4BxKv4^vTaKMEz zf(`kUR^YZ(vjei3EnWN;FQXlw{qg&~QHCp<)GCk2OSiyOUP)tuu8$Q7MABOZF0p*E z_&uksdj64R7zLMJSMWT)a&Y3Ov`>fw7$4tRn0C-WlLFaHk-|w3iXa+RGNOiG4UtPlPd1^RjCqg>oy=+$?;*( z2#2>^h%+zn-7`wk@}Ac656*L-3QC z5zFkTSz#8)?-!1jIuz_%Fgp=EqYSYXcR;{0=H&TjXaG zbF54Bj^*WFyRN81ti*{N)%brMV%lgnbVWv&0MM^mMYzU zY|UIN2_)^X%5;`vNlIds8C+gWG@TC;^M(yC44lF-4W!}op}uu6j#WUMGAJ~+4g@CW zl^$1<%ZVuJWRUV!UW)pszgEAb798W~QuuY06RQ^Li&CP6QH2{NR|=9&78h52Bel&d z7C<&|FDvdt8b>a6JG~`KZUWtji!CgRJK0{UL)iOC+eb#3ZyXm}0^exOrIUwx$98%r zB`bLi_Haux3(KX@eq!IK*j5Fqk`5I|E|%_phfW#gs^_Lj5eQMmn5kKspcs>!TykDFZ5Q(R_4AAlkrq@s$jexp zF$D|;0*|UsvGVloF@uId9~{du!)j=(^qI4gak4`yRWI|EsH^0)d_$Yj@s1cR6w4Yx z^TtZJzYFKsGk-B;b4IGDY*eb3Bx!!1h-YZCp2De)KHchR_Px7Me)+(`xH$B6p^xwc zA8`@m^$11n`IEXB{@W*=o;>l*oaSEM{urydoQOB9Kl#2_+wt5In89iNmxC04F*z}L zLp|WX7ElO-_ud%%TZ&7I>@w@-{|I`UnpIr(MSlb+Bd>>bxalwBXdgOLA*+ZXZz=FEo zf76rktfK>SsdvY=~1#bI$&81It(lU`H5$ucgY7&qeV2-<@1$tRh0 zg%Ey|d(+1SIsOken?<`tK9dC_>$9(aBfMZ6H|1X&UEYDWbkqKqg!g}cCh$l556WAo zqM-m@F~#d+M~Nu_bqNv7W}*c4Rs{r4#)>B*h1UM)_Cp(1_ce_dlmG4=(9w4}2J8KU zZ}{@WsUV1yUd!lINV=V;W&L4%=r_sJ)5L_%J9^k-TN6Jvt;%_55KJ1h`qGznnC$?T ziFwmHb^FrlLycLn1ufIGW)jQUu51`jjIHBYThSybMkE$&$$a>MJ!2-z6lqee8?BL| z${_9Q-mINN*CISbeT`n>J2U^5M9#7h1S(G+LT$He|Hgco`aqSMmpQr=q^{1(Y$aRC zjy+UF07h!k%L(e0(@ArDL@G5(>XRCr{LYaPr7>k)oY;y1s=XXWe8q-4G;`8NXo=Xw zaiSP(wKkrnBiipaqVl~AZk8YpLe;adFAMo5QlQmN^HLF1RY0 zjk7Q>aAdPJabKDuVIByfJ9`dRnKXL6e7zZbueC}BbR85+mcB*vVqv} zKv6s4Ayt(xLea$H-?V)IV&N1x9MFs;9Bb)sY2k2Mx@x9L6@`-v~ zZ(u7N%wF953Wrrgw4!Hhbw}?ppmBJgc?x20;IV--CYfA@X$zziA|Nmqh)OnyA0(BxbQuohqOS6Q4gS6$B1Bs|I!cz6b z5h77vN8mABF5hS=@xb+}!2*g%3u-OKg8hpUoOpjS%~TK(oM%e;z6G1PVL_E~LWyv6 z%5AU~?GmEO4ocyD!C8}k(Ae$uk$Ri5xtmqr@73l6jS{xhmHO=v=hffg#pBgbw?sQ7 zaVY}>z5*vdxa&dX?{@kHO%E4q>mlY*1 z9CB*HPWM1=y%3V8NK>U@%}O;+t@2@VS>5_^w7n9Mq$+ni$!DJe`#_+=hgUDYN-yNVHG={{r^*|JUC)2DU~N6&@Lu->7L`!1}k;SdZ) z1e3ekwTpl)SP_YnY?PW-Ontq09d+M~T;D|9VG6SP4<0%@O)zaR#r_(#extmCdyw3$ z9fIOIg!P6-b*U{Xrku^VUU>j@+C?$0h zQLtfSg4UsZDMXA=kH4!$?U8f=Nq|JRHp;0=;kx?6+)|U26vW-dIo)PP;!%)xluAg8 zd9{J*uRPk53e84dKCKDUN^Sw#Vy5Eh+D3X_6F{4Qd%loTdHl#~K{u^I`VCPX_1++3umhaXPs~<_X+x zTyEXmtJO{+^{@g-=;?zK{DGWwv^rDv2#vV zzQe^*O>5r6#nh}HY$D6wd;4GyDJ|Ic;-@Ob4M;jY!yML#s zJS8m!4JC9f@}?o5kKHOlBF~w@%vt=A^0P3egs3T>KA-{}iiPMBgc>dFtoQa{G}d3R z9=9YsYw2ng@H~(GItH;yj#p&mb&q0g894}!PipRd9iP~rWlW?$Bk5x5^nM&D?Ty3U zyAS{nY~^5=6Hzk|2%*<7c!UOEgZH0nYs9KX55nEVYaN$gB_y}B3{x+!Q@)q`cre~1 z-NT0GJyXi6g#ABQd&d}2!az&#wsG6GZQHhO+qP}nwr#unwr$(y^qZNT?0cEaW|K+2 zO4aYm$@z4E=FjJ}?PBH2kC!E33yJo-B{}96-jJ`HUT?W)nYyBg|1PjhUy@#EeENiA z`sD7!r&H;gD?8rQs6JawIoqg79B+4`}O}YN4h=1ACh%Dyg zQSLIl&O{GArl!(#3m=XCa9$dt(!d~JN;ZABc-tOnwPEqL6vx{mmt6a>sI16}=p}`# z&-O@!PpJOWl1Xlscj-A%6)!vFkO{L=7%fQQU77|yCRpq5n?06sqQbSLx4&RoJTADp zd}fRN24%j#1rW=^=B8!k!HMMc6$Nmj`KBaYnn2zmL+t6$lSiKHz0lEVupEeoP>7HV zK9q8!UQvV1LX-l+G3hc)|5YN2;ra73q~ot{SEAisu_5G<%Vq1*T${OLRUzV)=IXiwKlEed5}5Nj!2oT$o<7r zW^4o+`3U#HlPB3{oSA<0=9ZwyhPt_nI3^c4_4z4LVV$^har$w*5GjpA)BaYZh0i~- zd|zC@p%nhhNtlY7hX!v*6wzxvWHuW317}9yR5;CW8DIl|0R1_@+vpR1Xt3`PYs2i% zGr>5^HbWoYOykXvr4#yc<}ehL6Wj*+ceNoimnl*7UheIY-TdkqX1`(33BdsvU5!X+ zL83SzIy;|{49OAf>HBY>HxBF~*)De0> z8%HT{w4+OIu_*f#f$`0KV9 z{jPp1+B?Pv68iGSeoZZYIt+-Sg~GpXq3dXE(XQy6Qj@l5y!=L&VuaSt@hapoVDN94 z3Ix231-T(Xhf2?7%=deYq)6H~K+K@q_x5E{S%K{1iU)B^e9 zf|QX+#)+Va(%I6(`~YdFoGX>I_>`I`u0?|3gy&i!id}A2ymc2XFjLp1F^)J-dOo(N zh=36K-YIRbJ2%*0vVPRByJ^3kO=)oe{p|NUb=&}N?)whhSb1IU4O2ngFzwE8Sg)V= zyWMiZZbrE|cy>W(w~t1^-d-$myufjf=LtVoFNQ_$=xaPTA&z~Wb-Vy`7w^cibDsr# zyCQM_*`>O$@=W&ra}S@;VdcpU`mp0&ak85RpoJQiq3!XbJ$IW8q}`j;;R>p?d#cn? zi_m@9XT8nT@|cdSJ5kB*JrdW~)sPqE-zdlT;NQu+T&`zbowTT*=Y8K>ppv_ARE#?^*3T8e z1K+-48*JVu0XW_RVeADExne#8MQ|T8CLuPby+;9|wl?XN;LLYO*rm9%^4QeM#J0lz z?u0kyVBB(?bAkKFFeaRMna^-2pXo#WuQo{(*vVrBUmvJlP~1C0(1g`t_0Nn!4X(cG z_9iU)vB;Om{?CjPWWk{|EsjuJLGc@dG@1}ky->7%!iVmbd^s6$bI8p!TCNhEts zdfu6%6?q%_jM3cENcvCCWy+E8hjyib*gG40e^oE>qB5qr0e^Yq<4Is(Q)e^hJal~PXNsTXZ+Yu@y@N84 zzZ4}3iK(3`!4|3yL1!kOjMI85@}Y(t6KA-jHtDI4c`L+U$(KEig|c-bSq)BjZF7(=0@3{<)DGe z$**evRR;S+?QRCF+m-3R!5F1gP>VG+Ff1Sx8(~iap9fQ_-7Unk91-hED-culmGa?o zv2xa7q-6Ctw;I7=#No6;>vDZ0Dcwya8=ZS#DM8m=H}gu$o-#fz#AoQ&fq~ zdS*%>s!GCQS<*}_%1>H48z?Yf8RezmTETS3L0VI=Ou+>H^Qy!U~%rA#P?Vx8ngWU{;10!k@XXD?%$g2NBFP5B;3`$cr??e~h05XBW15bRwc z*(%u(AINe_NYXBl)H2*bOXRVR$T*MVzmGXwEEWdyNhU=};0)f%?Jl*&eWt43xmHQB zXf+7$V7w`u^F69d?hWqeC9N5g`oft7xo5RZJ*!7me5n=A7#P(2~*)y9DnP5=AADPgo-CSKbit@bpalgX($birzQ#2q>3<;I}Cr zeJB{F2XCAidmMd1J1QmU`R#5~ek&&bpwi_G6$t6|x9cMHf5J7rhh+Z!!Nb1FIk&uF z(;kV#R%a*nDoY4u(92*z&WbAUgWv07cvg4f{UJ!!?9i;9a0_wW&5w+lAj(@X@8iw+ z$KW82mBSvbCUI-AQn_8zElh9`?*yFdl6Y9(I~2Q-f8(i3+v61ZL=JtW6si~Hh2;d& zHZ$Lgz3Zhi%DLu{yd}WdSc{0XNXme&4&wncdKH$})hj5Kbay7?SLY~L3D*?M@C%-4 zjW2;RGl7~Hee7v-CeF{tFNqgdck%OO3?L9z zWywPyfHjdUyQD9eNyXC;9fOEXgY@=?r6ieN$g7O+($h%kBe&lU4W(a&3)Nz$6>~3# zWq#Z+JG)pGNAet+DIjSW(IWxRn#6}YCLkTYq5bQ$)aDE9;-Ez5vQdapP3^s%LDs@c z^Yf@(FOGfWu|?P(%v~fDxv@srV2OyHO-qL~y<3bOgCLC|vZRECb=MqMTAD=!q^a~o zE1i6|m(%<-R!hedETloF>yJwFQ7s+AaT9#w5%kO-5%|>s;UAR&d2+Uy;&mQ$6UgA6 z7^-^aGIPUD7P1$|B?z00NYcUq!D;KOR5Da*nU`}GF=SKuMH_p=!_28I!41BU>?2V@ zo))%WGk!(#EjSa0N+zjvKQ|9uNd#%)19-!ou02{;Xt}$P57~`w-)z?}yxn0~=6V;Vex16g>b*CL1Y{;DefYG* z6ubSxfscilZDV5Dnnl$P{y%ew*UGNBC@D;E~oaxgFpLR#PCS zin^;Uo!Gmyovs&W`=e1Bd_FE+_1HR-&%z^aP9F<{Eq$+TTYoIRi}QigKjRk#R&g}b zPJoafUC6sC1;5QuFl@@AHO$cyh1T&LZ-xtVHZxUTpYGN%_zZ8`p&rHgPdcJp(Czcl zoofNClDj0SmAj<&o}Bz2>>`Nfl5%GH(A~_sSM4(xd6O~8X}DgR>KMwH;=pooHiAf# z0JIphvGLAX`~f!*8Ut!#japGZivfaG_M@~DQBJ@tQ8c<9cky#}#+`yb&T=Pj)Nkvq;F7fW2ApP#;&uIJP$eeCYK8$POri zazXz?n}zv@af`(jOXt+|Udz@$_%4g82t}_fwJ_`?I0eT@KJa*$-$lKuHd?NHtgF+0 zQaug(Q*8LK;p*J=)hum$(_6j>his5SL&Gv;<(8v+jONC9Jv*!=s1)HI(gwUeH|!;- z6mGHp8{CGEWn&o*e16HPqM-QMT!oJk7964mY%AYlpx|Yx**V^qtLwgdWtmGqWZ)Kh z*f540b$FLb;*M1JAo1WtKMp53q#&pz0oX5TpN^jrKIvrNj-L{V41V$qUDt7oSs=1_ zUN8d(u*vUmva}Qls$In-Bv-{SWHDD3ISxt#C*7oZeer_ZVa6gP)`YeXxye5ub4wnE zKOps%d7H6>GrpN(I0;&U+!4Sqt|Ia8^gxni+3adfAxsl)wN z!lx~tV;<^$PbH^}VbHi5VAo%+^MGzZSx?v!PK&uOa(qNmKkR4onxyR8=s%toLAUGH zN)*y2yg6a<72)q=k2x@wC<4wtj$<@7KsJ=PLhVJrN+h1m!<6sSna?l>qCc9}H#=Q?9 z$VJv8qO!2C2z?jlw%P|sb(!fe*TyhJ7$jY<`rGqNpk);{ss=qdbO0(d>Hsu(il3t= z$20zwW3b?rp_>bT1v<00Y&z@+I#Y|;u++w zz@L~+2h}))jZBBZ4)_=oZ3Mk5EEOK|BTfQ+9}bIUh;m<9&?~!2)GH9%%%k>m0&WM1 z66y|PPohhPlK2^hFv~c9ON#bBpxQlNj;uDGiFv56Qr-WpJ1yN&-1&)2CYcQ;SWxBD z(DFT$W}9xPbqF5F7LR`yB}cz+Q;w*%qB{7c!AO!(*=I24dZTNfReg0QzYY}k~CsxKTi>1*G zEUO`ZZwoU59!#^`C#uhbnbp)*d2g}swmTATF5iuvI8bQrW@tQkPPxCxkA_e2w1m%a z`0qQs7qP9rpr#g+Z#ibDm zoa|AWja)6fv2}cMzMWn64wPs5^u;>Hr{x94^6SN?<#_-z^S4U-X)(BaH)y6M9s&b- zVa)Z~kZ$Ib7NS<5dURn4==s-B@)Hlfyc@fY={|kT$r*!2f{Z46)@p_woC69;!;)H} zDvr=K%;J^)<(zDQZPj~^_Q5|hMQ|Q_oxI-Ut>^aum4B(a+)6|U5bi~K)tjx2z62@f zgbfjXHrr43=ZeT?M0QDF7y;83EaL($QYpsXyLimk)?sfZqlTCwpWZzJSkh$wWGFAh zjoyw3J#8ky$-g@~a9m9Doz0yTr`AHM%l*5T+x@VV=n#_p2(A~EQ)zkkRD&Iyf#nj? zmisg&BVN#1E^xk6-1FTZCBMv-`p12LuhJSDLeo){s=gW-caZ1_?Mxm~G`6K08}VyO z=4|AjX38wgp_W0xF*jws>CR?OI&s)1)foZf+n_z(*3-llHLp~Z6|;6)85@-hNLdyN z^)P@&a8R#PraW83a?J>w^WCk@eCQG#187yt3?rOk>D68O!@Z3jJr!}Xvu}Z**WgO+ zEoH?s$AqR5duz>%_r__#OSI=u%#3EWG`1Nz7!07BS5yaZ;&kQb8Z+lJLm9C^Y5{)h zGL`bWYMVEeNYvAeylpfM4UOG26eW$W>;aMEWoxaAn|g+;&^ug9~@3&{eZHFu<9}lKsP)KAGY( z{F{pdjYn(y9gldyd(CIB^-b;#=`ui=B1Gy4KH1AAsX7`{DFaDYYB`dSW(fXUn)AmG zC{FfId5{-4ndSPP`r8K=}Dj2^J7e+aHBIECzj&S3Te?=(kz%>JWD7u0OOA`(S&-iA48o z(dR9^U^#)i+75pb7@}arXg0yfvE$YO%(3HSXwf_KigArx1eSH|rr5#1%1``YZsiyF z-XZLMra7-UpBWo(lrm@zsBq3#Vc9`G_@>A?piYpGo%m{mP2{lBQT6ITK^}8f00f`! z0prnd#1SS)K;82Z@so3w;(-2^8N)YI=PwV-K}njoPv#-e6s}K}H(`C&1r(iyPRjwc z@=u{{+)*%m?i$#|2r4>{1It7xdts|si$iNx_7(|j2gho zEkqPa;qaEhiNE$s-7KCNfFUDue$(P9J$A%7_ZvXqmh44MfDwQfFMmbOWsFqvp@}7P zMv=S0XNi}WA}X0bx%7Kzi+RO_LKO%@@qlNV)b;5F5SeuSb{31D3HS{R2NAD}@z4Sq z)B{556JbMT>33^O@z8};EdQZGI3!qwbgqjw>4dNG%iNV{OV_aRr?#W)_7?uVD>T7? zrE$ZC2}~408Nh5{iZuB~!OBk&ru)+)J-cEaBjtwJBUr5&7RkET+2=dz)mk0bx#xLX zHFULg>y3eLbOx8qr2Y=@8K-hbh`FWpU|69K5(CUlzOeSgh*mS0>h#LXB|_nJev63h z6Hzw!&ku*Uc6kr=R?=LoHv#gyxm>R;NX>q>wlt596qQp?s?*w4YCmRE(o{F~6#1u{^o00A;G|4#a`=W)<2PBp61(QoQ_n;idmod-wkAiU+J$>z2Yx z9CHJr7@JOCzKOsT)(wlerh9kY^D>=EwF*LOOw4FVcM+&l$}S6 zI|FaHmxOB)KRV~5d<7r?{0+xJEBLTuB>qc=z%pBQLWkc(06muGbfk{3fVJlyKtuR8oIyg`-i0{~ywJ`rM(Itg514;zn5*>D2-7ZW3AI$+Y? zDWop^&Pd{%Ac`~_AGi4&H255Z{SPBR=8fEf{1ibuk8Zke>pq$NnXCP56fD05wI9{-?_jIwnM!Hj7{ zs8SCXJ?LW0Ne3i44e=Bl6tB@x`2ZzALJGs+mv+B`q=gq%1DWI_Qm`>}jFc4HklE{( z=Nvg)`bPx_{0?q$zw-OquMu^kFrkPLI+~sg#eN$QN>7E$h|n@5rQ0!X*(()f~YYXhPc~@S9Tg zqvj#x4<#RUsJ5UWnY5Gr#goN7F)(b)BJIoQuTWAl-XF2Sq_BV1DpDM)E4hd`IVHZ3HmUj^0l~9Kd z{2k#FOfudn2vjHN%N_w{a9rVom5;%FUf~rAO#`-nt>~2(9_?Y5UI=|#bN~klSQiz2 zsk=;^_JeVvcU34WD6;%?SA|KBiNlz3u6|aCIGCj1ieZo>*~zIRnrC zr)bG|;T*8EV78b{2r+6xW3@eHwIya&q;85OCh0@Oo`Wz{0K{_yi5|;yDrH6<-)=~~Lvn_eC`_24&{Tg9 zCK#NI??lcA>el6^ThF1f_W$buUG#=bqA`y!#k2>+ofwIV@aFHr^hy4ZtsYeR)4aw^ZT zG4;kjt(L6)vb{g!E2sUttl`NkW6ixX$M&lzY7S7EJekzEFvIZ&!h>n2Xvn%qZa##*=|q@Gk7jmiqKFG3tGB5va7 zwgas`DWUpb@Ns$l>R(;cVsHnCUt!e(epJbv znvT!haANS04hPw=BG6e4F2XgSZ|dyx!n6G3s&`qSNMI4rD>952q{b zbY-TeFc<>ld0~&JrIU3dN9%@mmNhLb>5{VeIkfqs^=oExND!HE>GFM(d<`2&#G46x z5e^%AF)03U~ zE@&`&;1PSQ!FDHHmU2=SAS@-s*wtg&h~@@4(KAAhXB?_lz5diNNEi8MYHb#gU;qz0sS%nC zkjMkDMyT6$wykbsEGSspZy82j;ItFMFMcbhkD1dYD@cYybvo+DNF8P&1&qXnN8uw| z1vJ`0=8OFLh&W`56E?O7(;S`Vu#U%QnnTAyL!oSOkGvrVmQ|#pu6mesT16{ zU<;?S@H2g1krXMs4*u4K%TgQi*U9_uuCw-OR&^h4!>&}clXYtd)<o*(C<~U7hZP)_NFxiN6Rrx76hfpz%|~<8u%)%@uC9NQFys)D8-&!zIvShGP^Xv^ zGblGbceCdgX-Jr~N|?+#hP{Bw zju!edMtF)QI@c6iZ1u4(s3B^f;;boSeL;GfNrZbMc90;pa8nKM*n1HA+9nU{2(>#H zqF6AzgA0GsN4O{?S{@avicM6@#jEE*B%BBJ#D{JX!?cR8IVGM)rYCrEKw}ZENa4-> zR@QIU_|{&G)%K)sS6g4QO;;51aV0fEE>A3zSzU+NVADVJinr*cdJwjRXMjee_0#ME zFW<+5f~Os|s*SK7i9|lIanSlZh76gh-B==7Y-qzbgK_zFDDd72j#`Pvs(2K>9Wc-( z(-yB#mh;Yg?=ITc2Anz%4(2OqUFu18w@-B$lv%(kY$9`uXcv|{;x}O~d#;qoam&!9 zg}r45e%#nd7zDQ>d9AR;xP66wGwlMqR*#uOOLl*TZRc3N$7p0HnUHsfezj&(gYPbT z?Wf7|F*@2aPc_b?{Xo3%1LHhUox~}E={=5pn>>%C8xa*|(UbH{wIYL-e02?$-j6SR zpxD^GR-VKSGbMw4^TZA-*zqr2+TMNx?tKNI^(y#MsCm@H5yi%`Bg6p+?k29}2T*)p zTMXW}7;YUTaOi_h%j-|@z95^b7gXX9FL~7W-;@Yn!NyluEpi_Jr+qRjxZHuKea5!n z7Hiiy4;Kq?SqluVLiRn(447I=oR7~#6tt*GaoKVsB3SV*G$csEwtxX61|~t~ck-~3 zx;$%Vta@iJp=;hCDs!et5=rJ;!SoBPehv4KtB~4BYd;yC6S!r0Ue;+hI3T6_^?bGY zQI7)KnL9(|2(Z9!^dh;O6TDdFwA*)brTZg@99=2P89CF@RlZZTaQ>sETmt#~;!T@> zZh#@Anx;x|0&i6Ij^+up;vG1twB_8IC#ldZcuoN_31``ydYuq?A!vWnAy<+I5*xYK z#ufI)54ck-o`N7_tGQi-vj$G)TM(Jn)hvMeir?_mIsY~^W1$s52heNaB$*5532IoyyKnI|ip*=QDbCQC4{hF6v=m)>V9#N%kjlT?co7{@drodJC*+SQ|w zCwH`AiijioASml2me;L0q&EFSNib^U_|6@~c(st4ZR_qHd;H*h?#IryJKmxDU zX?1hMg|lhBR^`xd^yE6a7m(j7L6|Jj*u z1cLoZP}v{9SJQ^&27gmw*T_6Vzi>2me@v-gv99gu5A=-v>JvyEJsEePtKd?X5lQ3@ zfjfFQbQ$orFCTSA!splgqhpPq{%C+!OpULo0~y&QsbAg_CH2YxZk{^GVa;x}@M+hn z0t9Q;d>f>GWynk893Jhf3caa#JrkK%yQ7NiPAo+1+?fq65k3ts!zq8-RaN0@)^*&xky{kpgvWLe8J!ehUOLH zZ8c=QPFDzve3o?7z_1%JI{-9=9YIZgLSTz-;T;9WMNqL?l;!wJryem(N@^cRNk4`b zsrh0bojEej$KvK;`Q-8M2$v*Lo={uF(i&Bv2UD18yuBPx8hR}4zNb%v!g+8AuQ>Wj z;F1SpgEVy(%;^fccNVOna+{jl8rqacE2OgE{_0$J;02rp1}_!eiX9Zvo~qe!;}nmznDnw+Aco9gWEzfDQdhLL&XmmIDTCR?WCQPTlwn=^P{r0C>PiKzXiG$- z9-G8Mmw2!Z+r-k9ui1rEt7Z#Y)tr-jZwDmS?4@sE-R3nD<*NrDXk^kUxYnR#!!Fx~ zT`l0ajt$K6`6Rn%&4gVIH?ZHSu4@O^3#p4>OZ8JXtwhfrntdI*O;N%>Wnz$R>L3xQuJj}w(zX8cCKU70*}UAdFWk{n@ zIy$mhi#ZcxBUVG&zoX}!81R`7pbMr<;h9Cr8n0>f*69`VY#_;y1TE)u=h7D#e#2MZ zt){&pxVf$A8SVGRQDh#vM|Gu1C-A`%wY(h!vF@rL^2|-%5Ke;GGDcw?uUrwUvq>kY zlWZ9Wns``U2qdCN(V`x4DQdA|^z5;7y=45-0FyuOkMP!bDEuyJa*p|x6Y?vRajy`S z5;HJfR2(m+n_JKK%$vzMv%DMY-4Y-k zba8cJ%I)2F!oHQu;)yVLoXgbe$5C_fa?l88oJ41Q38V`^911;{d5T=@=Rs`i7uWy% zKtX@*TYmA0b>eG~Uj96#wK>t2l>uzZMP%?1AA3c9ZQALRyJ}5}`H4}u+Y!uu7B!pu z2F7e^-8H$gUd`{8q`BaBQ~AK`s&bZx^2PP3@)o22Bs`tx5t;qwzx&8d%m2#Ue;H*{ z;*1bZI#wUep|11Wrzt#!9~fj2fevo?el<2X!yRBlFU3<|hAVD;qxO@v1#e7+Sd$q@n4NAnGkl#y)9D!v{HxmzY z6eFc}dJ5JYLuF=fBxyX&>fWl|PeS}oWHzX2+@K`XSzS98nQc#}SuqdrH~)`qVlL^T z0F6y*E@@MopXhikY_*&5%p5WAP6oB|piHid{fk@ z2i6ALO!(WiieeVwHa=ZETExBSnk^ z&F%iD!&&{WSJG1QPp-Q+VL+Vb66x-l~lPC@bZ*xfECr&b*Cf@DdJb#K373{OYvp*XlbD!H%80 zON015J_=`y%=${q@?HXlH+uQU@EI9Gx|tT(6!K-W?K>S!dY1$x+j-~gC8+XmtiO?l zEA+(pwWP1-NPs;DHOcnx+YR`{Ux(X*zMjfGV$z-yldK!dSAWc8G0wYMhM!C*+R0l% zXkLdxP;+!2DkYzSy`3$!;9QP7T$|sPA4$I-Y9$|%M_u^$T8md)*5%3SCpYPkm7`%+ zqbEo8FM$wUjyuZy+maC7&U)cG-@u>b#8#%y<=~w?Yu1@PY}T5A8)IggL3i}+(g^3A>j;6=_4)ZqOb9R#8p@7j@DR2! zp&?N~^{+h@IcmNQ-V@a%EjDa|E#1lN;n0|K)Ag_Za$U09dDXzt{}M;|efsKY5Tc1# z;i`_1Il)^})Nma&XW_#!HWUOsqul74L|F@gQQK?)6_BvFukec^^cbthsA6dVQ%$FE2)}N&uXY@-Cz^0NMw{hguP1kx;c=x zNl&Y;ED6W`SqK+Rhtxanv!{_cGn4zyA7QhGK8IEm zOnJ&ub^Q}#=|-jP7aSBRsIXiO3r!GdjTeKCIHw-rKPDA4qC?u!Y(CRlMN83iK+}i0 zv_Gy%k^AaDv*B1pMrJ1;U?4`)3>q-c%4o85gMmfc^A4Jj+~?+{UotSPhvp5` z?4iB5aAC29d*>E!Q8YDEi=P`CR1YA`5ngkmLx*)1)+7wS4I;kW>sJfdng3wy*+^Jh z7ZP|LrHXt(yZef#%QZjZl=kE_`1*p7PhiGEKejLZLoIk&70I9xIaHAWOB@}2=XNTm zO2M8b@l2F{9|!zTZlsn-&B{C9C=3xspQY1Wl&oikPB1(;iXric`<$EGi#~?^xGYpI z%TYhz$H7^jCRaupEKz~&x#<04*ppEMf|NBRv3ypK(osNd8pr#K*zK?+u;0He-|NIg zKu3hyDunG~Bzes`p{@?Y-e-<@KchS}P11Bz3~IDspp`J;R3)SIg7k|sISNXJ9N9$( zVV}<(DF62gD`9Vmd@-n0Tvr)jju9@BQWx43M}r5k-dP=WNKP6vgDufgX-w)_=vhQ? zTq*19`rYna&o^sC?m4i2H4i?5CH!B9r$M>f>M9m|Z!V`Gq$c@`(`J-6hfAQUrxAD{ zvYhAHcqW8=d<+j-Lq>I>u8Jpp9$|ogx|qy#BqkVGw3#E<(4FU4(3u+?teH|(BI?U2 zQ>X+}Mx`S8^ny800ta;-LyT}X%07HHO1y08q*=X;q*=L4>H-6{sD19HW{o1dG8_d@ zT?adWwv)Xs(YYislrGivg(NiWg!Z5*XsGOfIMK7C!%Tw|15Wt0wTv*RGDmK1^wkAy zz4SXE54n2uloK(Cky`$OM8$rG!(3$tyZBIuQ$-0zwnceNp?k<@m16g%<4Goo?W1{< zL@B7obn0qHQ^@l9D;LgedHgEl#5QaEX;aMdWF5cKR?z~oL%kA{JFztpm!kI7BN`fW9|ZdY@O20*3vSBM6s8}yFGQDxwuwX~h>C6|^t17xptC@p%G^wy++=Chf{8`??AapSvENd8GRs+0dWyq% z=OW*dS)`2hV$GaNc1;0=eLPGyhr95G(P_e-1$s?$@~w6&4cF4fp>&iR@-0f87|xM<+T1=DklKgvy}P>V>}#F2}I$RjR;?8Yj6JK27_ zw`nN%EKlnyJV%Lb%GRNCmO#5MDX*aFaHsjigr&-fl6qdySyrWw!kmP*JlCOa^=i(j z1lGECSN2!r{Xt#smZiG|k0FI#adRB9S&d{~q0q!^uGv1e71Y{A$V$x;UX7ivKNGB# zqB<2s2W?cMaBR)*{_%m$nOF}MhM9hU78aE+{01Z-Zc3@zfZVXzKEF1REZXs6;{38O zISQpL@2{r2&)lz;X>S*hiLfj-83i?Mv)7f$B=sPJl!tutMor&1Ezu&nGst*FRgyO9 zgNGxIfnM)gR?^t6U45TWKdzwHP_s;3zbDwACKQ>bmhVAA3^_8@m&TX~u+%!~GiR*Y zt5#5I5F#=$yuM|_5oMcEg|0xAOJRW!h3&;&EJZ(f(m$lHTsenpkSukXX~MASiT{vl z<>F9YgL=1a`n+47R_Oo$-R>97?w8S_#V1LlrwEgm5`Ml>_)$;~G$(!M7R5MKRenX{ zsp#$~Yy&$nhjD%}2_eF$t7NCCrNLvUTUDjTR^5%1t))vZxFO!=9sRR8ceH`jy;hmIYizs%*Mjt+M z#5(skKKB2$%;B+>V0N_lwMr$5XUcDI!u zMt_x^IH#ge-|{a&E>vR&aYs@vEJI=1JEF2ct8STnKPNlK>byY{{sNcyTw_hCLygw^ z0zb#pR!@@DE;Q5I7p`p7y)CW}c{%j5ihQ|?0X$7@bSLNi=7}EJK{~g34Yf#6Rj}$2(@~N5lm7|*LNa8a;#Z8L^ZQK)obL32rMJ`#LG)!Puh&o z@j)iUXvT2EJ%$+LIHoX2xliJgaWfG8+h2f-BZ3lenOtyW zBZUQw=HRqp8A45kMO`^&Ehe8#&b+$$-qs39HD-4KAohUXw07wL=6U_HU#D{v_0suP z;DHMInZugDasg$uS;-8U%FJRv_IS^I&Rsu(@Y-l_t?6OwA*7QeCvR)p=$9U2s)< zM@?HnWgqFu9DY%Fkmf|GPkyfC)x>^sA6M^ybHyzT%vpy9)ZWfh$IQ|xRpsQz_f7Y1T^aY8xNX>irUBS^kLf?d z#oQavEiumR_|i$$UWRtx?h;Mn(LKnW{AApqq)`0B9bsr!O5g#EYIP>s_YA@cuGgC& z@Hb1o<4?}<4#T(i4^_?i)3G-McHt>kpfzdZvvvcj$psfJSJ>y&Is39W%FGhGYt8tY z>&d03!*hSum&;nLo(qausNXT}FhcF*!Rl6?r*rKGa2G(YYOUnKy1bU_m45c%WAmU) zjSXzntmQX@NR{PmSBAoBqx$=MM|rJ{qOPZu_pr1#Hq(=HYI*IyjCYUKMO6*@lA}|} z&N5ofKx^PH^;t`Yx(>%@ZuSqo8J`G|rbrBU-tq^oS}4LwRN};vIZca~_4ziQ=xmY+ z$3!w(EJ4Ba(QZvHd9T@e&O*_XA{_NVRG*P^$B0q#T%7(BhE!dS5J>h{Uz%7wUC^I3 zL-055=uHA<@QVf}PGt2G`$3`F{g*1~gAwv<$c>Mlvw62=MjaHq6R(Efd94!d)^WzY zR|v;vxc-~O^ibEaM7JdWCwAAGL*n7ohoUgl48L2NCo++yajJMY zCAev*At6PBW%ek=x@pP*k-Al=eAD5tvYJh)-x0osxwvBU5vG!*d-zFe`Sv{rv)Xn6 zvkDlqMx_v6zLh`cAx>RcXfDQN0I>m=V>jdpGS4YxFxFewC?8Wt>x8Iqh#{ zYxcx@y?s}ak(p5Qx5WEs|N3pvM`c7> zGTRzWr*T5FCD#CZRPY!jR}>y$xY&v*2F;I6l&WVwasRV{FrldQ%<|W6kNs=67ySQw zIwGX+q_1e~;9~6XAGSgw`u}l4Qmmx?A5}x#3o0$zDrHLYaLCODyg|hRQ4nGIAWh=I zLBw5;=4vAiZP~<~ib=l3;d+n#uX+aiu?*Yl75qqu^P%bNj?deSFWc>nJHB4;Pvsj8OoNFd4`a0; zS1zI+G^#pyR~m4Tp2}q0I$(R16tP3JT|>yOLT$7H(=+k2U8LO2eRXQ5;^X8t3`G|G zEqZ8HZVFW{>zV|cyP7=og3*0P-z2cy-8Tv3*+7BHsR}{NxuWrTR|`4=W2#OPku@%a za%L)#(iJItpb8M>Xb963gF^ZBlP~R8j%y7oEiS>8#}U4YQ0SwU;x!!j!XK|uZ7eX) zLPoVtMqa1uIpFOGleWu6X|^hvGl1i1GP4lc_4{X4qCe=bNj%vUtyJ2)VO(n-_=_@i z)_GQY03_6EZD##Ky}UH$ic?Nsf_3w& z_z1jH5@vjj78OxJ|I*Hc5SjPRofMtgN6PAxCM}UWZlk|VFOhD_6ky1}( zV>*6~bfjxefaXod^I@}JOTVoi@n5m*SPv5|w~g@x~Dj zXp!xJAmpu9)NpFX^cN^puwsJ>!4xAdG7w{;fHDkThuJx3`DeVKv$Y9dlR^0{O>cCr zqv)^%L%uF*I@H|LOG)6_PJJM#>MA^ztme^4G3-@1Z-*i_QU!K3i#(Y#7im&26N{;ZE#~tN>D0{H=K}LuE-|@j($2CXr2b$}{yF<8?_{kK=&e z4LN`^sI({5yebyd@(}trJUVyMKc97El)Sk711t1BR>wIbhc#}@rLTpINx7_QG3I;o0!6W?m%Q|wZ*)_gk-3=NZml#$$K`13(R1?t`wiBlla4tTw z=8*($A51(2DFhMEo&e;HO!zk&e#QrN#vn74zcK3Bq@Ac!h*gtviPCpOjv!iTam;=r zQ%O^7kwP1eX7sK|*Y;3#8uqZY7Ku@UGY1bs?|(_buGoFzv--cp%#8mhG=oe8{xUPN zQz9h9|Bjh2Vd?K=(Qba5Y62k62B)&vJ#W%IZ#LKdd({+GwDU z)NZ~%eBx<Q6Bm19a_wW9==2 z>d?~cZxY@PJuW~KiiS{L^yR_oEyspB&28YaL!c{W3f)l;i4Y^sNmPO{v%2sRc)UMTej_>KUx}#e%IXQNbzSs;XkdJ1HqA? z&0_2CAy*b{CoS(80n6Q z?h`m3w>4OMRJdr1DZwt3dUdPg7EO0w2TEU*$*^hTcIf$2M#KRIuThrounlAhdM4tg zlkr(uCaS~Eg-Udm^dyu$NxDbnt_l_P8tK5h{-m>0-qg3hdHYjMopBlV?sw~|6avb2 zujv8xp0m=JEm-lheirLc`#1*z2B|&YKuZJX;c7%u^_X?mcHGymS}Zxs)46&V>H@nc zf|NEaB&ycJ@;n_xG*6$~h#Znu895ysRmiIbcGr|C4zUjge{qi#obqe5=#Ma|A-*zQ z+Szj|Tg$h4A-UB)3LKs5jtPtm3P!9{+s%kzcd*jxtq1u-!^X1~(OVgSER`U)QsVUW zyUrP;obQU2jizmD(3LC5$}&)Awa2x7Rr+9F`a7u|bu0~Ptuu-!Phse~2$4xTckEfc zf{M0J#n+rc>TpUaJR;y*nRj!{@^T9(GhC*EHclE-ze3i_CAMpK*SoVP+l@8hc z{brg11muPSX#GS*-&Hw5s1OJ~eSHaeaNi3XW4@0eTz0-e#s3r~6+58(NkAm-4WS5+ z({Cy!q@s2JQ8!pDVHZq4+m_JRxmd_M18L$7ePWjrqK6Uo#;AmtQ<`;zgaV0Hf*Lj(38ikujnmqM`(tXEXY4F{iIz)>c5a7NFN+ADX z%i7uZ2Kkpl#r0<=Mqpu;=B3Ie^y_?-glK|!%0?;FtoIKenmlRO?w;+`Yo9T$!HWROkPM?9cT+ykKtY4#SwU8_}=-_946xLc?hyPrBW!Ax^ zY^@BGvTN(2#@UOiH4IWK^6{7)>gS?!4j51nj+u*tNZ9R zxK(HnP;xgO44^}$wM;(=eJOpzI~Mf}K+5 z3-TFesYD##E)#9xXMXd?j^smGmx%-_%l zuW|@bT~hi(gdKQ81yF<`PJNy^fYaZmkuH1?Z^vn1i&;?dZE~&-{OWlWFfn)VaW3#d zn@F27Z9<$#2L|tAculg{KskO&&>JJE-ximpW28QCS1<=OVxlbQiqgX^@=z>to?GRz zJ~qmZ%kkK@bPXh$+-WiDebcSBP=Hasb;X2P~Sw`DZO;ZIvO z4%8#k+1i7Aw`GpgHTT|ygWfHGVCzl;$r7IM3@-;+)kL2sGA9)t7G7&79bifSaibLg zJ0W537;9J|GA&=FdL^}({~OL@G(#p)BdLlYAj`4?#f@!QJkM|snbc~z*|JZdEAoTX ziY;u}c3QO+ISx$J} z<|y3O`KaR=FrcO-n#83t208#(W|39x&Y)^`$@;%ws%Yl6M8hHD^!z#f zscC`|8Il}t>81gvzmK8Alo~HkP7y*BGN10Sl2Kf|MI6o&Oz)aZ(b?!fCaLAoLOcP0PpCIg&s1~~npzi%>7w4a!%4b;{r<2Ka(vB@}l-(vu0Ka_vnV|?-Ud`8ek zu*WL6;*&-EbB`ek++!I0>mI}1RTk*Vdb-j&dg0SVK{ecCw=r^`Y3Qu6bP~*%ZXsvw}DZ%qz<6G%Pl~S*^UGNL_f(1>f)iqe{jtDGH zX`qit|4YfW#|-25z#GVnv@Xxn2nIT;J)R`eD05)sB(+q3SyP`9MR22u3KhzrI}jMJ z2`D2ZEJHQJZ9VY^>lN8nsaukKY-;|H-9h`(DhWINcV4^YT0|ABPD{%=A?Pf9|gR0q5WR5sUl|4K9k zW2hG}eYa#tSNc9D>hLu+#x~(cl{6?3f{>{<^1Vze2C={Z=Jb^o_xp9GA6XqMI$how zASr#CC_F9&HqnY=MCrXySvUFsS$McYaw{xMrWgZy#O7qQ*{kxZ3I@33_y6mKr)!h6 zD!x$X`u5o-M+nXvpST7tYumA1guAqD#Fln)PbJ%qsPw)gXDo{9c#>c8Wek3I9i|e% zgDR{`18Up4dH8biB;;7X#y|ruG*1T&?$t;otU<(6v_!gdPu@7^jB9;ucXVN@(old+ z)GMI?P#z^J|%Jd#IgM3ccNg5KIT@6TMmQV1ln1DpLvzLx=`5 zKiI3ePUeEO)Rc)Tqi;GrQL)2A*JOaf&ir!N?5UYfcER*V$@Cs8IN!qLqY2w^rzCpp#PI{~ zyl2co*Rmo3#i4nZcuHR`@qZ@lUCJVEyb0wlc931dBKEwh;z6=7G|qd5(c>v7w0hxROK=Ep}e z>mOWY5p7yAg<3b4xyguL7#BSqnlQHUyu4tKj3fr$q}u*^7$Wp1enhys?$4M8UkDI} z*^lzVmVWJUHrn%Sb^1!$*z;3#W)iFq2d5i)1j8EdICZ|tU~ERPT^+P#JXm9NLT-&= zuo>;pJn)LRbfJFfMiV~Q(0bs1K}xnZC_rqxBzBpG@SFnG*_;fHHb!ZQ=D6B}vkyi^ zyt>uHin{KTz1)eHc>xHnk6>gcUD1+x4Tg$7oLE~sM5F#pysD#B?UTXpCv>{!#k$sd z;CSKIS)Xc({$|z&+vS5e{4hX$)NkPN%umbHFVfW?9Q>%T9Cft=mXBb6To3_I`@)zN z2VC+30euYKAe|kuVk1kZ9hEB!Mz0NUo|^z`UfMl2&1%s$7lFYB+80tU$w4wLq*-e( z4UuTrF8{5>D+&yuhIHAnhX~j^3yiIJJAc^hfuCa!pctCb(Z;)oSE4UKX8WxloNd?M z<7$rj1?w$CvTJ+xTGP!}lJ47avgQ+7vi9!m_m&$R-j^ggox_kvJe{{JN$+h0PvOBY zqYq?Qzaw&7{Pw}~HGQnp$TPlIcR^5EI6DyTA<=?!C zBx%`UgSuVVrKP9}Ri`R_`?7PsldpsVj%Jv6<}s^ntid5U*k_@4ae)Yn-1Bv;vvasG z_pbT3Z#it-Au$~m^kq X-R=t=*sqD^qKgM3sLAlNo+=lYE_;8YJRF8*8_^FxZ zzH-Q`ri~v#@v%M{;VUarKW*)m7StHSmhfXc;-gHRUI&VUPolWh;oc<%+u@Q$+pf*O z&i`!HhPqa0J)1e5cM&;>?*czBV+CuDV`WEbRdmguMEmwLgX;VUx>zd`4lGX^vV>(w zRLCNe)4hN(c=~#gNfY>2WAgYa_z582&@QgESFE>Mbr*P73jd)?44I;j7!3^}de8w! z%>=H6Zu1IDk6&WEz@M>GLXsS&mouAAhAG(3NQ<8DxPg$ln~j`CF5|#_Zth8roG*Vu zmbUfw2#ygot%SThV*PSDS0-GFzq=EAYKgXzlQ=!ov?lS7rKCDyJ?$Xb z@IpN|e4*;-B=j&92Cjz9VzgNxpjlwehT<<|8!`KdGaH9ScbB1yG3a-oWBgylm?Ulk z>r>*9%M|G@snboq#kl*;fH&-oK;l(A9zst-;&tTOD%~7{9Z2=e4n$ewHWg8&zv}bayfjr_jA;h_A zd9krN;P#U>2x73s$HK6k2KB5##Dr+Wni;~@1J8^FWeyTQvL~pjv3F5r?oCeG`8yl# zPBh%AE4Lyq&0L!x@6K@jd^c2VQ<6B$Z<;0DfC@a&6pW-5Q0;_3J`+!BvOX`tMtm@;si-YI{lS9Qo8Pil_&a~ z%JvJcFbFs=f;0Ig7JFW|iJqA6^L9vtx8fx{yST-6y%Qeb0k9q_XIk@`+fB$`(OtYl z3w{ygZurvX_q*Gh(w1&Lf4l2)3+4?nOJUpo(lx;K__Gey@A7S|m+S}|N*8pQT8m=9 z0}HM)iO&)M`ZGl#6$Ni7#ifQzDq@!+3C@Qe0+Kc&4opVDIJ6N8BT7?~&>|9N+gG12 z+lqZ*`*F2~9$K*giu5GxgHxxUhlqv;wF&uREecr?-zgP3m2$)a<1)3i#~Kh#!)zb31b+(Pv(#pgJY}I{ry062Sr77hL6xap&zTs$)=VLVD9b|629-N!s zcd8I@ROljmDEeY-3k$c3wJy7iZ}mUcC{1efAZ&%)tL*+@n3a46e8s?mb7FG=^>wqk z-~6`c>UvxD>vSIU`o^Y%Z92Thr~>e=a9#DJ;9*{@hMNIjdQ!&JXE7=}$+Y0MA`4c1`hA2yW}A$Ao4^cy9|n zsbq_8JUmO(C>h?Dh*6EkZ2tkgpk64+9L=oMq0}!i!UKz#u8nU$5az4FAh;j3f-OFi z`eejc%}>kv;24a{5)c}WzPgftiVod-b2QD-2wD>n72r1&)XEeK+}bsJ4w`>`?4dnq zHkI23-qb?PLa7ixKQ6C2RJfpNzN-M6tlqr8qd=9sXluqp!20VTF>Ic)@?eZ6Y@W1I zvEX(VBH#dn4?)jNy>f!)M}hV64jUqaRcPc;`~G?;y*)KoEL4lQ&KWYPnrA_@3hpDh zaUw%VV^jI#?4iHapikor8RU2Kt(Ww}lDdTmC1nxa$F*7pswV#_IlpQEBP5nq;A z)x^^7q%osK~tMr!p0eLQQYiAU^s! z?i6*t9qESAyj8xO!r-e#o>ci}6+B3ED3Q@wX%k#cMv;sr^>wC;qNvb^%WLXYf(vRh zkCwLjn%a<`buE_Px|Fi*!ajAxZd?D{6r29hW$gXk`S-=}=H`a>Z!ZbBCq%Fl$jFHw zZ!=o^;wEfvxC9uC;;+6J);pdJ%JZ4|8t1Fgh*g*qoEv!6>yfX#t=94#JEp~5(FHN3 z7K?L8L|CXp5{#jK5bDLE3&wOE@DHoEo)LHy-gdfrUbtlk(W}u!gS*6ots5@};g!aN zS9nw~j*;cGE*X~jg=c2=qcCO9JUwFbIQs+%ByUNBV)QU0l&obDG-n9rEm=AfoHyBd zhOB{oxz%?TL@Q9zCMM+Cgp%n{w=`gL`^3Bhb;nTw2&e={1MY8uFUuwVL+icQFHs~r zCL}cGIoa`MJ?3|*g^aHX$9K#`LW&O=w|lOeDNw*mF~F1FTC)2n^g#NXK9GBU_9Fga zrW@H(^kADcE%*faQygvL&}}vNM?j&(3$dNNaDGeCTMhb7ocz!G8$YZY*FN4?o@|q~ zNIaD#M`jmpC=I%bpHo*XdWt6)E~f+-@;>2=TLl!A`WnFxEZAt=R|59!)uh^{fWSwJ zVjM~Hb;Ga+&S{67?EYgovo0?4)uAr=(QO?=yF`I-O6FfjH6r9)Tmm7lX&r&s=ObV1 z_8Q%q!4P`SeJAN#&fp3}>>%K9TtB1lrJEJ!PC!Je-DTC{&AA_A{rb1?s5TXFY_ z<44A5|L`z1C8a3AJO7UlA2=t2q&T&u4yy=%HSyDWz?065xicip{g%vuDH5a^_o4gf zJ&jDdgUL+}#S5l0drXb&vfmG78&tCX8Czx%{{+6}h90*#A5Y&_AUH+T#9FV3XO}xE zpmxk~vnu}+T%UM{RpjR4ju)ooNaTGAHdn-;PLQJ8p0ZN#aP;P7nn*SjI*lo|w2btQG1c6r_kC7oorO$OFS}r6j~~(< zl*6Fd_mIeyT@U)?=)t}%&;#(9EKO0e8Fw(S9)vIJed+uYmOk|{If&D(qHnNLaG-aY ztXORY6Q~YM73^C-V>LXwhFL!oeulniBN4OS)~>%sovlYUubxx0QkfL&FS=kT??c#uNTj zdzi3Re7_Nfly4u4Nb}qE!v=Bvtr0kGsjj$1qeW=MyM)latO}M-Z*(hi02)$^Mnk%3 z8%=rpsPqdH$)6d>Ip7N!$lI`{5HdZDNJPkBH-3wl+Qg)I7gIk$j9kg)|M*7U_7>Ey z2Z6>(l|+GBz!W1$BwZ-l^%3xTJFlRG563WP1Atb$Q(W;pqT4msJ z#n(x^pfbU2>X@Kz8Sz|32zyz926&PE6a*Q@40y&vKK#R80CwW%6hx+Kkablkt{Smv zXN!KgC++<7_DlCLy3jlu&==od@#xB9-A?G7J+ysPj4!c+gftaK52$E{57%l@7;~s? zR{>G90bw5gaHD)}M{=Ni6!X#|$xkdZ|*`QJKcaRH8jaLH_yT zdaW$<^&>BJL=Ta(BOE$nUtC|z$UrURBYQ_qQic|`zhv@C_&H*q5wUC_$!YvPxvB_} z60CF*Mnwp83;6{4x3$D#y~Hdl``x7k2kEkw^1XWl+eb#x8bM6zz3Wl39I=e!9Rp_p z;~M|3?8%|n!MbwaYgFW-RKk1E(pi$Ue(0;2=pT#eA6M&h0Fr$WZjDFb1#P^nQa7}; zriBa~jwUcezrY*su$mUIeD!B%(`U-IW3fhFa+>kvC(pG`g_NoAwah>iZU!mRqe<9P zF!!by9|WFdQ0byokz^>(cOqPLLtyrbJP@(=#UJ^a*ulR5z6YpOqn%bqo>dT2;kkTv zimRMxhG*MFSP$S`r|vBX{3b{vQ;d5HQG=PM`^c4u+w6bw+n+Hp6ZA8Fs?rn2iw2k) z;tS-Pq~4GIa^d>b?Fjr4?A70J^}pqt?MR0BI6&u20mhlWj98o8uv9&Sg9mD2BTvJ_yCje?Y)=kU6H2L&HfG#1=^U&E z)tnGC;P^CP@rP^?DG;7!9y~qIa>wIwE(T$0jJ%~krVDrh*`MV}VP(eW)zYae7^pQ< zEq4yD)%cQAf@9eZXLr3M)z{JV2sN5)!>#p#+D7sH7aQz_2kmAf8t;}h8LHMS!-MoT z=qtXE)*gd?j7i(BOql%w73h*a@&ecQ0=LmFmDvj_iP9$&x|JKXgx)RF%_KL>Upg~} zHhWn3`TYDxa?+u?_$Q2`VHE|9s%+_~FZw@g6P*Ti1sN~#NVhFP+1EfOi+H(+d|>V3 zipcNetOeg_=n7nG)2awe=tHS_*GCgW(P!yh3ds;?IZHL*6?Im$@UsU zlUL#gCoW{{2j`TeWm|C|Xb9z=vO6df5JSkQpUN`Un$j?Uw#PHhnS3Jn=_~F6M!L6A zf6|U|xNVXP5lrsCDY|lPKOJ_D>Ys0m#{0>`5<``hx_2aiHPvGqci5siGiZwozRP(R zkTJ@E)TqngSQYuzzWlb)ew&ddJ`CXpcwG>eG__T;k$C&(By5^uESfzvd-Ub0ID2(% zHxZG^3?jPBTz8ilELAbKU$-SKDXlpf=x7SPYiYYxc~}-yupKnV3lId1j+Oe&C7867 zm&`J(!j(=YX$%oX@dH@wiqS>t21Y3U=Y7=%Br)~iC(xteedy(={c3}9?JRoa+C~h3 z?~OEAL7C8k@{(=Q({dgOy)O*dQN=?nxF*GzQTAX1F1)K!o_);&7i9`w7AHJngdQ;M zS{JjZ)fSko@sQJdq>KX)srrHky8-h`{DYK=M>}=Xf(;WmK^y39+`?|$(r(;>Zroh7 zJnIxUB`AQYe9`FX{3U^Cg2F<`4s3l#7@n8oBYwKt2cqLE$=SU^=%xJC>3qqhe3B|r z%~&3R*beltcFR0P{b>pY00maza62Fjj2duUw*V(NEfA|B9=jwKyCfdl6)72;1_&F+ z08EvOiILCR z#Foez>eds*G0_Mo#k8yf!pMQ3kh^<<=TrViqquTwG_-a$`$L+<00vq5D7{L`R zoh(~Hn5lt%|CG64M5ROEfBzZOh5+=~k@NB?pSR%6&5rpG6& zWj2UeJWktU1j|t>dtvPs7OaMQ57$7y3j{pJ{HUi7WfOG9Oo2!XWIO(>Imr?d@poIVNCCe#Xp`%O;^7r-QGu(oh#M`+KFS`; zy2%Q`DF?NEn^fC}M#JE~BDiED%t=N#6Re=Re%3H)%;h|sW)1JAD)g#r4d&+ydJpI7 zpEn{}tZ)QHYsv#rVDRFk$kl=B)#We~RRm`CD#~O56)tQE)*!(*tnt)IHu;>0kTe=AMbfIFr}&G+ z`ji?wKj)32w7+)ag2z$7Y<|F+*eA!k7Q?^|Sb7(}d3#9~{NnNNF8{Am5(n z(VN)xch%C=^R2zom*AUg{MYsT?2gsr-+w;}RD$&(Gz1<6f&-5N|DW$J`12vpe!6jtTfWO^SxHdN~Wpr1fuT{vQY0<@``2H+sew86EbA>(MLO zU7eng^wE!ixaRU=cT$Dn)Rg{LJ*gdEU%UA2c3(eVBL9}5jtnwGQ7fiuh`yLrr@nRS zKH$6V)8$Va*0TR~o-O^)^K6~xz-4>9+*oiTHHX6TB+RTIkj7>JRxA`{Z%O)s(<*>P zhqVTn^yVEDR^>CoJ*(^Xi6?=S={ek2X$fQ{9{eD`Mp%D|;Y3IBu_#^vkxpfbdUC;_ zJxL(Q9MV7ur}+5v4l)lJ4Qbo_gc79z$Oyod2CcPcBDYpNc?ILYC0aY1&dpAauPBm6OuKRl6D0yTGkJvb}| zO$ufsy&o1Vt1)~64R>!wAcJOMFJcC5(8_htz@=gLDS0lApUpx6tYRXDgbf$%Caof3B_o|s<8GseMZ{LPgO^gv*m$V3Rd3M{%O_39lKR+< zXmat_ujTSXGi%bb#1Q(a5wy5`RLZe2?2*U?{9z+NDuWP6P=Hjh+xe(o!R}_?$ZO`g zhT!_LVHUbZ(0>y~SMeF1O}IgvmYyc_2o>5-r165_63PRR5#OO;d>7C6;9rIDbdkutXVm#eh?fIWof%{O0wo?cCyfE&9R+Ce^3}BH(*BVPIB2 z+!JH6XG*DCI0GUC>J%(F|4HIg!R-b9A>b*au|G+Cx~!mopvwg}D_CiZ_s+tGbk0B; ziV}5JfcOKunIlYHr|OlQyU{ylCLEerT@*#lp{~!?7UEt5=T83mzU#;c#ByM^a0< zfwT~w&VYGI`-tB~o26vQXeY`kVe(AdCrc(Nj7h`rOd(UQ-+@Rg{ed4bpA4SK3z;1= z_T;8!PNnCVAW&8+Iyrs5wu%bGF+m5ep&;-?&RGih}YvND7L{q3ysk#9_Ln{3i7tznADX}vLJ$r;{c0pi<@Xi$h zaSXP$g1Y_u4q&T9_6Dz)UHn!h8*MF>RvD&A|GWHp)Dl-SPQF2NaJgaXer8m3|GyQa zL{hDkjQ;}`{1<}%HwFLGf?*Sc;Kc-}-W4q2ay(ZZVPwZ8=~PS}P5SofPjJ~g;c8MH zUVuIqk;(qYStipDukp8s$6Fj9j&Y-yK`ovQrda--e)bDQAngekkp_kVp8%JDHST$V z;X$}&9_-741u-9mfmVc-#jGvl#dGA)I&0tZ>!aC{zua=U!0{C+l+Kb1$=mW&f9DUF z$Z^yWKVUOz__BVPO|q_jB&G~<&5v;HvOx9RsZpr8r^!Pg2nWb{O5?k^ZGkGPbNL^L zQS`P><%>-_b?QI|mLV98EQk)1H<}kF_31YIDhW^q36&4h%UhoP^0a=|Y&>tM)Y>U~ zoHYv}oV!_#E4LPtAjr-&+tZa5x|2{DOs+Z)jiIV}agq)T{91WHjS{&6*P2W9l^gGB zm|{lp$#``6Px}7(Px?MAF!-Im&jUyGM-Tch`d%HgN14)N>sTLHj8cV*erk_GY5jw~ zcLdV+E@)|#1>L3oZ|MhF5svSeXL#-zX?W}TH>+H8ND0dTAm-@@#5@(b<7u2wa?fAv z1BOYb9DO8k);dCF=WU_{@kDLdq@yv#_P@2-f>bIA0~H(;15QC&9wiiEIF=|_{R`NO zI+zmknisVTJ^b(uY*Q}_OF#c@BG`TBUe<_uz=B1st9=GJOL6j%|;u>Nz19Ul{u0eTW^7>Arb z#eIFuO`vg}6||h`rqqgUT!w+Wv=geMcFWqi;MDfuX_ofcw|XgHcCV74o#ILkcV((S z>lEq_4O3|WHO#!kB+1j&6GQ&2;ip%9B2lwwW)qgv!^R^JRMy$o0gvD8wgrv~)Ua}_ z0+>;BaBj}I$9I%kd(OnqqQSry<&%C*DE~#p^{0Ify3%wE{%HrK;*6G9odfa@uZszR z*u537-S>gQ(<7*8@U05!JTWQ)q4GS;2dLpH(gA_Gc}*=6?79o*kD?XLoO?Tpd1SXE zN;O8uE?!5Yi;}sGuQZ^-u!szLJ-x!Pq)#+(y0dhrTBe>VuNS-{njFxFf795j47EaWWrfYlx$bdnI3Fj;6?%Tg{*b(5 z@x_!$>Icw=GlXM+t!|$R`B7jDkO-MDia| zg8Z*2!SIhLA^Pu8;@pwH=Uv4R|Hmlt7jXYK75|qJ`@O4JqCvdyk1o`5)L%y2HPmnN zKN)d{$>h4biTBIP6MXkabOo{9#;l7JF+vl46z5=uKzE2iX}@a-7>F>qL;U-1SuuDG z6WwWWg63=R_H}TwCv*becb(gKjyW}3I_s&tKAo}T-ni^Rejnooc%PZ*PdNsNpobcc z0NGAsmo$QuLbYW>F{PJAU9lxCibc1LKiSThnbyD9&ikH##Yx?T0s#NOo*ubr8+%E> zx}aww+PjKv5@9PT{dXSTJF5DXjD1R-oqhMs=XSt*VKumV<--Hxkp#<*ok&zVd=hwh zh3EcIvAL{BFsqYrccQB2T8w@vkgZP+9khJv=tfpn*>X7xIKuK|G_q9w1MR$4D6#6Y z$}!yGEuv9nx9RDx4n!VTt!A*$o$Li2*TC#EqI~HFIx){_113H^@EHRKtxKncYmP+y zTT`GD=Y%UlzOs#ZVx1D5xl*DCu0;NDTr=VnNW4#cM>};M`IGf%y(u;JfoSKQEL5y? zHieHKdu@7w))K2Yyh^$J*vy{vEY*7;t^x+)#J>V@+(_A{e+|S;y9AEpwA0)|QQce- zv)m$>Ekxmxe1>KcPtZrSN2t7_M88JSzxd)2$%n-wKl|B3d$5ZZ6$N&!|M!6|d<78aQc^4m9O%+8 z`}Vvd_CkSezU>U(cHfWh16>7~A@B*tYEEFA&#CVW&^LCnHcj;mEL#6L(A5F~W#B-^ z`_vPRf;gb_-0;Uh=SrkzTUd^crG4OLT>66z6U7KP(7}BLN|^Ip8kzZ_NOV|k!MVAq z2UO)}o34O`Nj0THSkBoMu>X|#Q(3@CCb)M0h}dvHt7o*FFC@;Fv}hyRmZ0`76R(-3W>LWi z9jtiH>_(=ligI~~I1=|{GP3-WPQH~XvGN|{o9R`QQvD~LT(4^|+Fc)Ll2QYtla(H_ z<_72;SE@0y?p^TSC0rS%1pFwEk(JA-d;pihbI?m_V_XzozEUCys>PW)Zj@{apggCV zd8d<~`P20{ooWA&@UJaoAi_ESfzry*nOH)hOPO-s?#3zpCd5~jvl13^T0)tGLgF2u(KyQ6|w_!+KQ8B=t zVSneY#K&yeSp4iy6EDOQ+vpyuw&P}`2R_|LFUKsWPk-N%d>>$0jt8-5c%;Z> zoszBZvgm^4rrb3b`e&4=dh)GS3H&2UlwQi=uCdhoS8NfI^1B}DE(mxcLlEjpWo}1 zzaFSV5-d7y{H!9+Cy||%{~m_}?j%U|B$w`lfF|tK1dI~pvt=~EIDC`;KPed4dis;E zH+WYtu=VuL*Z-wpvUdfa{-xlVYRp5o_9(_0+6SkJ=-pMiY-&M8Z~#ZcwD;WlLJe*2 zuwo6igiUSEGwm9B**D-d0l<~SDk3M`T%i4mJ{j`zt#{P>K!-qoGjwMsW_Hr-miZne z(y|zU&1%PE5cSfi01`7eT_lp!3Q80PMpa4zzeEwlSaMH+U;eydRLu9W#Fu!2%!sHW zRl_^jNE&HzZy#IXTLb7~!aBYcMgtX`7;i|zyQcv2Q#SUEoj>haGOZ6j!pA82Xl#P^ z81B*ZyHx25yr(F=jNc_=~Oor-J`r>sKis0@dxzd=IGPK?!rw1pX*hU+M;(1N%-)hR)%C_MMQj zJ(;h5V*a!Y=f@T^W#zKJzi2U;;<2y$^4sGJIB>5<@^mRgCkv$OlY7atZVlk3;Ngnj z>3X&p6MDp!WYk%C7L`RT5z6P6n6+8u#=4ZItaY#7kRl{ z8Y^^}9f=olU~~wc0^K<*Q$Hz$Rasej3%R_?iDYeNK7p1;d<3Kj2&2JbCbv-`EifEh&Nf?&0-4*rXqH=(uv(2P>uwMd9Q@{!YlIJ zgH~Y*0TENQ`gS5kt$0pn`pQ>V(bvj^VI`3e z+sl+KDjORY8&_8s8yg!cttt~2-?4f=MJ zaJZzxeQ=>6XzZRMap58GLg_NtQgZ&-9O^hXTz@~vjB7{YG8_W%zl{n)o1Fgk4f0Woq z;vyjey@7H#Mz8Tb;WKrNUe;TV*ri`YAiHL7yrC)-!M*`<)Hd4yO44vOm}nd$dl`u6 z9%dE(SfK)KYzr~o3dcP-w#ofbHS3ItdyaL>Dx4oz9bbFrNHXYlK7tM4Ae5^M4ikiz zGJv^i37wiN_ibF^gWV9qX#n6L_rj5J(Go3?GvH%s(RKE!O7Qe{W&UG%h_GnAfhC zTtGo6RjG*~l`DH=2q+4lvi?T!wi+h5sJb0!&~0|l{muw#{d`e^U9N?t%;K%7RXO-1 za8;y5)dxrR*w)I-f^N|34>GbAv*XrDw~Ti;^vwLLHyw5@obwbT{=*U{4JO%mA$m&Y zEh`_EMevt-QB~K>TPW+rQeG73gNUCHhij(3iGgP_(h<9G&pe{VLuf3_`W7-y2xw2c zZ{2rjZzVpt5rNaOpad9&e3#@UZHHQ%7LUyd|7f8E;GIIeru$Wc!+T*UE_# zMvdS5a0F)sS+S#%D<(EXq@SKRkc--g5j#nH5}tFwhxTnK>)ay?dehe9u-y`3X=t@_ z%x?GcR;a!iGZDAYwnxEObjk3%G@0RBCQ)eQ>I88rmk#*UKJaSu#9g*8%lB=8SBr`xz~&mAAi^%G1DP94e;#et`5a;|1@wq74%=C5HMkA0(=9(FmkKWmU7OSWc9 zLscEB&I-Nrg*2$nmHxWyrp%663V-v^fJw80bK}l>`mqTcL8vu=c#jd3xSv;z6zio) zvtk7~d5KV89)C|ceadaY7Vd(;9)?#9S6v2(@(yVc;cqJ`b8rO2NyLf;$8{LAJ z)vo$8Xtqe32X^J-G7uu>INeK*xtqh^u_izcEH99EUla{4t`O19vQ6i9mcRCbAeCOxPyRS?qr1dVkynK0|n^3Y54!3|KbwcNgG zjPV1iWIJx)T(ru57s!QNUpWq zU?vM_y2VL$Xu1VS>e2E{B_}^H5D^NWw3OIQP{9n+)9PjWaoLjfrud?EcG6*<>`v3+ z3xysY)2>%;ySj7+V34~IY8P}z?4%MnKO&z3+QIH^uO*MohX` zRl!bqcv9WnT;-{1bFE==O>+>S$l%#e_{a$YN}39}Nfby}?3xswdA*y=T^|xW)YeL@ zZxv4@c~JJNkVv2kC5AFsWUkMr64ExEMh;11BY=S*2EWSl94VGD?r~ zj2c~n&1`*0(Qk9Y%1@p859{Z#hJq%-pR==z1Jc-o^wv7-qifhR_}O{p#PEJE!4aUQ zCGw-}`KxGjaaEllB3C-MV26cCRY%|%XQnlX(Xr+7wXTSaAN}&Od^QB&yx!oeMd(T> zVGVKPN^UCA#1DOe>YJMqA#bKsSI`Ipjjx|!K;RVl%3Rzyhlo2HC-%!$S4r5wT+$#u zir#EGZBkTz>0qffq5S7*Dd`P;JyP zz7?;2g-pZD8&9k^tIV;Yo%%@W5+8VInEP1`2!vu`C66cJe@pI3O>}^UNMrH-KB~U( zM5M8o7seYb$uiN^W~P!bn8%a%8?aI@2oDQ!3q0S{Y7!b2Qg4Wz@uNsu={Mk(evdMCf?QMqDYrfCs5yWtcpD+3vWS@sm*0nnG^az1I$SsLKL?Ubx#f?zPd4GYkK{w&6 z?KDC6CGdR*7o-emTf6|hXQ=|cydNaK3RO+aa?K93rn|4UA;^8)A>m%0N}^+4{w87I zBlX+(rg|rKG-rMry?fV|-|m-py*jIHef4&jf&xdfC1*M0+o z!K-`LbNQ0dZ=BhCW;;^|K~fTkl9H*YfP3jJy<1c2(AlR5)ATH#U1B+fAM3CeoEVE7Jj#WWg7h$iAM#H%3u)tC z(8=i>zlDMk*h38-@;g$1w<}0vxY9+G9Xc06<|qLM@qFwSo`=hDM7qVE=7NpzuRf>> zG~6m}3EjfeV`Jw6()6&Y^Lx}0!h0lHXhv>;nvhHJUDm3I*@ZohF_A_hTV@5=h|Q9454f$T&1}*iv|G zitye0J?y;ttHdukpn2(fFxW-p{OIrxS~a42smn0+geEG5PFb5bpib%{OXRtg=MZ~b z&|4#d7h@UgI}>u1r7+OuguyR9IY$XsYTNsBM0N@}I;YJYt=5|{_vmA1o~5iIqRth` z*T@;-Nr&75^6;1wIqT9SoQ+Z>bkG6uErxi28wy+7#_oLxo{dJDYR zjdU+(J?>pCAbI!eLSMBwERU=iS#*h3u>wK=~#&HNlQ$(eCrI_c6!n>jpb2r7} z=2qN2nS*h6k&@$zMk@s3&Qsrotj_J7DmJtFm=`FnWv0vZ2}$4YT}SsN%Nmyz zGAJ1;QB#+~w)L>=JV#$k7UNj6lR7MrXXp@~A_=Hn+hMnd8RDz~z_ld=F+BPjykCobwa%GVjBep_T7hLHDy z(7^7)5|BWe>Fld{au%HU@Qpa@9dT)) zl$wqal;hegM1&%Yr~ty1!>=mvR54hft`u@~UxIccN4h;{e6^(9 zl-mFL1pYG%7}<_8L;TS|)Ugumkn1V5Iv}?skmC!AL@1WBKNO ztjhxRvr)7nmL|(zNdRGkcy)w10Oe!E@467lh-c20mZvW$1(ooY(!RIqw<{= zXP_CC0;=AF1qED!lk8oC@fBu9uamaoXM>qMhCa!|Vh%tCyytkrz)p2o2kXNO&k;G% z>K)uxL?d>#RwbD$h@#%P zk0sPU_iYdZoREc*WhcX0!Y=~B@zf@3L(xD+n<HWUrwIL)yESI$QWwDXQ z*x@sKRaxoCNq&;p<1H22P{T^pb{+l}2^$Z4=h(|6+wCsVxz?mr+n!PIR|Lbb9zuF{ z9uYs-cm_?dv-hB*zF#N$RkL^T!!KSm*`yG(T%10gf#%9(H&lF=2JGLr6>U~-APJV7 z@U2crBzM@C#$EZm%U5AUSu0?dM zArbwe;54+z1gxt&zaRwKiO;Zq>}m_rp-`|F+nDO6s}P3LK!aU(Brcd_q|VgWH~({v zNwF+Hf7LXSk}y3oN{u3WBjGJLJdA0zJVrtz0oX=Sb|TV@W5;dfvP`d~15-NemeQz_ z5ZURlDA6oTMzP4$U!5GnAS#zk^W4@EW}jg0Q2O(%Bol|Fvg2gHQLr%yGTD3sG3adT zuAf_LUf3K{>s!-8M~syav(x5vk}362G7i02RET6^MpK~4ZfKg>hV&w@sYRRiXc0fp z+(;n^^F4?{(nUx?iX-HMZe))|fgfcaGX;~UjMU_O2HMhbZzGGia`UJ%bhkoM+sUFQ zIU45#UCsM6n=m)BPB14*zE1er!_G%{D7e;e0bhwb+VL($YwV=O{2gHukKOALe8i5~ z0;vCuKln^~m)D)3is%mraMNc0man7tch+GJ8=&D1Tf$nuaZfH?!oWjWVhB}n^>#Hn z`=yVB(6{Z7;)D)zTOr!Sx8%7Bb4RZO=%@;LcE%a1RdQl%gUdPyfu(=(T@D6wUM_8pzY` zy@k@2wY}p}tEzZeQVs?CAe}zB&U2<3wq3t%jJ_fq0EO_(cE)>x|Myi#B=b7P1OU#1 zfa8C&>iEyz{d?81QUlUMadDCN&^V4Ywd0JK?hH66<|{}@$QNH~>RG-%Bt!&9F>6pH+S=q>!gC7} z3S`oqOt5p*EH0tZH&(w3d9;Tj!Ls-A^?6i`(+sUznWzfPl8S`W5_z--%L|)D(v;1n zZoe2*GO2QBFN@b}qp^&vgU(q_6rpv=9?-^Z4uXLj)`<Bl|p9Ho4SCbGk^vfj=YR z*?@AS$*kC>-w6PtPZhCy`^@t`Q6KzRZSd3UkA=<8eJ{&nE$pgtQp>phMu+X+-V$K&A}FHX1mMD?`5u%ueo%uoRsT&{-i+$#1A8M*u;A z_L_#HhJxkOQ=yc@2Mb7bWRy1G>4EL2+l%Q&KfNV=C z37$8%kB2EQ!}$yuZ%S{Z_YRJ!lQ!l?mC`kl=!34F0$XXQs9B*s=uw)t5!VpOZeT(< zDpt>q-x@Nk*K)1ae&qt!ckGqLuS+)*qFaTcZLetBKFC?jn#o!Lqo`ofE2{Ox?_8`E zqg(jmwlXU-exi=N9t7Kp$kv$2Pt~v*CgMBDWDilRtV%xvF;H<3qm&r|97n{=+Gu69 zV@*C6Hqe7&TkDJ77Eu8)qPmAKN?l!C|H}nUaM&xLN!GLj8P05>?agaz>z}y5* zO)u&QXW(H9+8LW%&=omsu&BRNon#p7;Qy2oA=V>h43hko0lz>DgcEBFAHVbl>j*s% zq72R{;H&EVl{o2rxz8dm&&RJ&*)p&Z+2o+?q2b0%P}aghx9r>N&R{ubh3ZDn44u6g z78wNGEWe>~B7A(``Q=##T+;lt4!jmAlT>58PmTsk(#_)ngr7 z1wEB!(0+6gYDScX1|^tkMI0r^ID*kGV+CBibVxyiiL&fRuCl$RZSl4*A;7SbM8GLO zG-n;I7@;(LB8k0X$&IOrn-79vFmsw&Q8@Y9f?9zZgaE^ChEb@9H7$KPE_^KCOlBUq z8k}mmbOs}MavL1Vz#CdVBs+0ZLwL&qbD&6l1Bq=0{j*LMK45hj%s?ZF-$PDQ`8lY~ zOkNGs>Vc3?LlAJdKFq0?f+oX4D%si|2x@z$Sk7jEU{KLso+;x_EucoRoe1G9fjHx8 zMXf&+9x@7Mxe5*b8+YbBV`OTQb~33asPla(09+ zCrB?wTg@4bujwwtH{e>JpNwS^wZOI}*)@udHA}Z=b(824Wq3i9^T8#!9!|Qdl~%mV zxNM=Q=nDSXOivW+YcO7E$LpVXdN}C_`CJszsc_>_n2Q-GIKiPS`(*p*_CJ6pSLpTV zH)?fF9Ic3ver*H-No8Mf&?&|N4;&xduDpGn#F^p=WBo+E`#q%$x-$@|v19 z|I=o5arCm-7B2nWSkj~z)_51J{G+yU7Udo%`N9-u? zL9*18$^7qZJ~S`PyXWFJ#(?ew41=3#&^z=y@c440Y@M_>s*lFr>Xf%{n7n2;Hpd_+ zBBY;DS**{GZ)Kz22r?hipZt(-xs!9hmw$iV%>7Jx<9Ofv&3eRBw9AB=IO>f8i&ns+ zvz_J@*Tif@>M-FQcOV_#CDokvW+Jz)Bjpvo#qwPJ#v1=Q^~oo$d&4XIBhWt#BK{M! z^0wQkkxiPPp!kVU$YA6VuG4ST!Ufmjraf=#QK+#S`5k-jQToFtIz0>}U1HXq)SV5P z#Q0>>aidp8k)~)22y|c0XEa5XaaK`nj4n~dDE*Gc4MuH9ktY#^&M1viWj|FDCS2~B zK}9zoO#nveE2Kf}Mx)hQyFa4Eu5kjIa{CMwS`K2_fMVg?w^EVRv1*ZY^9U@9GP}O+ zUhQ}*kLeas;2mVK_Dmv`>WBPFtQrwV|AOyaVpGl@ilKVunnOi^@QqNpL* zd%lrm(9)jl1imKcQYjFKvl#@~j??O>q$0J6v(7OW+T(#UJblD?g{>jnFc47S;3^2u zz#r@4TSGfssqT=YT@j#>J4Q+VA$cp4lz-_BnSy9mWqac`i=nkq8K3h$=bx*si5(gs zH-vSeMDPsR=sHhQ(r}M#&Wo%Ts*uViR^H^prkD9p6WFJYPWT8Yc zN;*lf6H@5iY&B1!%?l}(EgoyluB;e*7hI4kP#1&Soh&v&)R@LEQA2Vc8d<1j77ID& zgW-n#El?3Am#5cujFzf|HZeoPbv##13}>aS8fY-2gnDDV3Mm#@2MMw=1G!g#y;3P` zZFhx_FMjpkrbxZ}CmY7t2jp22+lWkw2uJabj{9-31@9MnP{&O|-pQ(G4b=uVRTEK6 zqOm2MI<+fk9SaQ5ZIa0x;0#9oNVVwGph+MB6<1kWS{ecqH@(Ru!8)E!c|U!5P_6LK zEN>w#Cz?6Nj{hoh$S?guBETKOCiBpK<&28YDY^I`>DG)dNcRSA0 z>^?8P*xQ(}V42)+M)1NnwCt-jK`r7+A8sjJ!fFiTfhf+12BLzOLiE6&&~!&ReF-2*g9)M}Pp71a zE>fVMERtgi9-2*6O_khlv5`8onW6UbIRFH#NR}v5f<{qf3%_;Cg7o;y$zmS27(6?$ zgI>W^CR0)Hkm4Dcm)}jV^mSVV2vc6PYQU9Zgs)VeT+l&D0>dor*8@T<@kXYk6FWLs zw_^G9wEFlv+#syfhf~i*G5A%UFc1kRoxntx*aiD;Np8v8)rwN-1{E#yFt{21&Z;8> zZoh{bs>}&&{#WS@ZVp+hmX!0MnKZI$W=oPb|_XrAyaG~e(F$*|Syu|+y`3+QAD zAB(S$#CHczZ*GXW_qUfhIt-ydQrIG;j1C!cw6X?dn#N^VxM7!L&a*MYGUZCoG~<&p zO@a-Fv&W_!`P#i8oU-hHJ@as9XJyWolHCtBoOSSh=Xk1w;{;8#!>UKeg6cb=vq|J+|r|L2p4SigMjJ5 zK-A!SE0!e7*_omvj*P`GUb{u+o|<|EOjm5St#5rb-DRi)cXj2-h9VxN60Wo~M7)lP zbJGw43EvZAlYMUE2{2mwXGf-w4&f^A;VK2>uH?QRNk9(UrOnuU6%L^ks_ui(22rTq z>-kI(>Y5?ZDT$A_fB-%E@bgL)+3r)E{G_Su>Hdj4Wyx2MrV4Cd)^qvgP!%bVI=Qd< z7?tc`%8~pxe?utvaYA2)zg=2Fp34KV+^BuYTM%&&<2#yncm5V9b|(zvAhY_pqMpX% zZ@?o_f~&FgCvW0;p?>Q9fSEbToX#`PoUAIPcSO|!{se!M{W(Hbm15a!fXgJ znUl{Frt#pY++S%3ozAh&5>&ZTYY0A^ZS-K-=z%^a)fQ^D<38U5Q<y);f(TRrkepi4}IAh!#O#3?B-74~sWnj35 z)0%dsF1faNUnFD zy&>a(Gb{r%pFo>m+qy_oTb!sR(fCR|ZTL`uySmukg^1=5w!!avj&fH>pGR$Z32F$o zcd@sru$42)ej)xl@>o5pl2GdE+h$e&mWcm{(bEplXVE8H7=*u{ZnE#n1TI#zx>avm ze}k=-@ctKd2Osm-5;#dmyRzV?_u*fO)Hx~$QJzshV>{9n4 zktyNj`?V<%y%(-In)9Ic?|6vSC~99p9!)LzJs@^@1xWFN2(Srwc_sFqYYPPI{o0Se zYTeggh;LLQfmY~1{o1P%$pTzFNSINTqgYA_@9touS<>!IW+-B>&hXX`}I zG>Vop$e3D@BpOJfx4SS{NT5FjqPcWjI1$%>rWiXcHbdcsR?f~ZedD4zKxZ09eHfx0 zkBln2MT8RP+;dq+i>g)p6)I~o9daR*;W5T0lCNtrOg_CGVfQ;$M+JNIfX$?mQsKwT zVu67K`wBXvf@+s95pnp<(lbOnbPmHcQ&V!@MCvJ`2Ob!|PKN&ex&?HR}pHVaOl zH+Yg|H}cEFoh$@izUb@M_14y4D0qc&j`JZZ_?a?oGB5~aCuc`^rT+P4F}FT;)RyC8 z{6=#G90!HkGuk@!ZjD8JcBF2Qb~kuL)YadQr4iBdQi=SxD70df@kwRW<|2j~`E|#@ z`}uH*l88#b&Fv7Qm{ro*zWzk1)hXVXVA!Hh3jlFT4)cg2ytzugq}-Jwqh(=}JLeK> zWRW>M?N}2mR%#JVaj!{CBW}1p+92DhIwi zQg^&ef>}KY?=fpNm8YAvQ2{N&8&d&|-uEvjXB(pR79Jo3;Z0x0F2fZ@(Byk4iDRuE zzS%)78@|>%A_i5D5WjFb*L<{rom8vF=#sAC&>WBqfjCmAXOsnoV;39|gi)-93sLH~ z(*B~MB{yNu>&s5XM=r*ZO~Ye_cg<-KRC6?o-4D~Q5ZzSqg3!MSPxL2CLCh{a z2EBRtIT+;*3=>#1qsyC}Wg1w|9&nCu0|kpqA3de;#OVEgukdG}4-0hG*yWrQrVNXH zG!g3)m>e)}%s_Gc<6S1g&+UVKlE!xey*xO`;$H;5-LTx4DZG>-jy_IHF1lUq1$W`| z7im)7MJ!ii0c0ymtu7{Tz|Vy;iHDCN(bc!^Zd70S^>z1u+1a&8>4(83&j*wRcy)t= z3S%PB=|p`C-^!BS95!i?`kJ_1AcAyb>c<>Dm_oA z)UUbCthv=<(mpR@aHQ}%H)7J!lDR*DQqQXj*w7J1FD;Mdsmir7hd)=uE9O3lcgTD} z*~sIOb}l(R#&smRFPoloUOa5*q^)l}Fka5LcH%Chkw4ZBZJM++)%I%w=ep0ka{tPq z6Yh44;ik6wLfR%Ps#&tERYK&06i%I6@pufALHt3*CIWp$F`2fFeQM}gp^$OLyyfa~ zm*?guz?&vdSn{1r2}@fAqM9f``dU%Cc7i@Z(?gDBcC6ol1ZLl0oDnTTkgn~-sjPHB zPA75%WbN9Z-a@l}^v2}jqz^oCHeKRsBJp zNF}FOGjc6O^e(-ePpM5-Nk)w$jO((0+J(czG3*JW^BNAd8yZGKxR_sf@uGh^bLyR! z-1Q2wOv*6U;#`wa?xu(A?1L=UIgH0B_;vH^dhvN<6PqWg%rfNN{UKwmFj zN;_IQm?@h6G}1Ht``3SLfXI)_tns06?*+7A2nys-Ts{KJ2h;0oB`3CXA(0Q79U|#I@I^A4X(*+kEJ9~cE2Xz&d59~)b>>KoBluxd z;pbK%Y%8?kV6E@jIF5XMz#70ZIwc>3pX1wNMDfBF2QkC zpxK2pPpTC$n2TdyJ?)7(l~rBrKo703&M_C1_Y_X|>M;?i4fmQDapC98_sK+D%ed_M zRKj+14EIU4`P?U3*j$O}$8REq@bH2>9*Q0wJvrgRc#;^#zdmg$FeDy$h^nUi_Z|u% zjz5#P6v$HLHzZ$I52fP9`elh5xEit0Os}DIZFgn_^L*q-M+#sakDf4!P9R*tQ4Wu^ zD!jbF%0B`Ww7f+wf~~0IaBBB8{91@UaY@1`(F#K3B0!cHiLm|N#2RU@SijAeoFMP; z5IjOZJ1b5Tav|i3h95b*>mcHI)HwkgG$qGoU?%Lmf&6OERg;edtv__ zj=!UjsS@stvWW9R+CFN@B8Y?pi?65<5@!kVZ50I}MgUE}X@gjdkV$n_#wplv)YycR zF+8WSNx5{1=Ul|nk8 zeB31g0(ruZ;K7DBU^M>LItCz*iJ%o>|HisjQmr!?FU}{#6Tzq_$cTCN!juWJl`t-b zgx}^Tcuj+W4;+1QRO7DL{if%zolba&h`ME-e=yvy>Q83)Btw)n;N1U&+w~pE3%`I@ z@j9Q5C$w1cjV%K9DRkty6oxl`FT4CHkd6zd4^!@a93e~YnhJHAQk6Y!n(a6gb9_c& zFUYa42F3K+a;ZiibE64XgWq5s*V$p5ULGoe2+9v!YJ7)5MqXhux zbjdbv4;7pfmFY~vWPZvT)b}Dw5CxG@A;>RDh{Gb{;IIhBLLht0wwOkb^nQY1Lt?zS z8`HsfZotk&|JT&OL~E-DOXfmmLu%xZ)ObjgJdXEc`qEjB^|!&sU_PgkZhEaIUj$R( zUo07O$~CVcJ@V(fK^#_WS*Zn4603R$rWI+1+biFw_ zXA-@Yfz1tr^aXBtkj&2syI~2FVv;)Utci%M%qX{Z6pW?P#isU`*H_dChb`Nl{CdhrfxO7c!K6j+p#TMq{}t8?4&%<+NXVT_Ds=@d>Td|PRU zYXI(Sab&RKn@s=ZH8`vZ=n5U2sSBw0g6;PvMiJ(Y z9EX9M)@D7~>b0H1gXLIgS7}$>RXf;Cjp399u`h~bnb5XU^DP#3!mKDCGU}J)VB8m<=?h$IgF}gIu ztS?TxvYfDnbgr8^fH!xTjrUhJhpaoel{gM`dD0U(gL%{zwJdbbN}D^KHq;7d8Po7L zq5uMVq~BBZItv}Z;lZ<>L-d(WsNK#>60=l@j09%$AJmto{oSHi8*GF1!&0LJpC_i( z6LWK*8*xPX!<{x{)ZAtxi8Qli30Su*OV^&ZgV^%dtgx56cvxNdk-DC#w3*y`Q&<7K ztci0gzwQj&=IARGCc;~9lEWT1py*9**+KCXUpCRV?+5g_)5kEJl10^scB%%*%^VDZ zv&PDA9~85P?xc(}^l~gd3b!9D>O^}hRf_i%TB3hA;QMg2LbR5}x6fp{R@+(!5bA{!JPv_(dto?gJE znJ@RCOc9nG;P)_22x>>%cVj3NId+gcqryy$W}p>U!cQm}}O z+4NnY{ao-Zn+RXWJ7Wu2Wn9{777T z<2rQ3H#-aOE*uR;w)zis2a`T0pC!LrV0D>AQS6BL}-;_Q>EZbFzzrgL=;+%}6}qb=>?Je)XFAy`$~>OlAsQ97`w z3x7mjU&B6osjFCG2-Wo2tJ$oPR_jqykr%cK^mF_Wvcw%r)z`~u+A2X0nW^Okq zyvcGB#O;ZY%ogE2WT|4Q`60^Q9qhe(DfC%V{YpQVWqgtS@gGQ{_MC%7K`0=gbTl9! zz?mB$F?&lv8!IbEYcm5q2QwS%?}9czjlRnmIsEx^w)tuC=ThH)eOEHH{qH+|nJSPj zno6i2Tb4EquHxwqy|U_1pd6_{zEFilg)_u7kwxNZ1%pk59fsO*1fvsI#zj^qQ6V9O zge9_02xSoRP^ke;XoeI}Ez3AUvUa_oiUXkGpRJdZ4h*SJ{N2w7RVL4uttPFPqyFuW zU)ZE?17;#D#%2Ph#c!YSyYSx|=QN8A+#%ZPJv|{+ z+jU@e;MPkGL@~Ppz6aZ)cM-Zfk8g4l9+fk+sSHmcL=7+t*k(sKf!cMKxbTraCK;fp zA#xQNa0P(E1%U@9ra2o#M|Cpf-q3ZCy1xdT5U9DUis+yph#J0>#Bh;XM30+xle-Em zcnOMiQ4s$)aiI(;7F6}K8QpE}{7}gb?)iu!f3-%~g5G@vJ_F~+p1Bsp;hjT}7>ZL? z$#b5Ouu%Qg#=*RhfPp(TV9;sIkrcAbN@7{w< zT`4SRv>=uK-o&1PtTykK+qzN_t#SNv0I4Af9l|+55t>Ou&{U~S)wFUF1*>t6iS&*3 zYo2AOd5M!t@Pv!Er^;&7;OnU3IRkTQCx~)6>g5l3QwZwtL4)Ictd5=4dn^y>(2_zu zbqi|iMx!8i>h`rW%sL_cyk%^4n^pSM_VBJdKI%ffYm_8&B8QJ=;(E1 zq}W-TLX9}8Jh?Rqxv2?TD~fdybKu2_D?>tGZ8T1yd<9$4KACcZYtlPK>kH`S5_{6c ziZF*v;i3u&Y3+28wjxNhtRzb9R7bI;uh7#H(zUeB6v~Wyv-SqZzKcnijh35YE(!+c zMIwF|jx5YBh8z}JT;fqOREbgp3TTPNG}jG-1!Ti0&NJL`4f6Nr;^QpyXs(Qc$B7zi zd-|R_V@NyvYl&jWPJ=Id#vBIr>$a-;$yVl?v{g%^{S|e{{Q~PoE9v{X#ewk92XXzn z_Ie>^EY@5wnYb2Iu-e-uRLu|S;(Gf<)(7jB54i|ddV6hn;=tUgT|DgeV*0e`vu)pe z?y|lxCbo+~S|5Z*VilRlhdBvzovbt42wj+VvL_HI2&<%7SWFaz@!^i}2-q@AODHL4GaRVWvW3ccX(Uq znXc*e36uugq{)wD;DEnmw&kIvyRzpp=n)Yat_Sn-9cRvXTbiieV+ZLTxaH8MyP}${ zQD%a{H{M=;iUeGIN3hSt3oIcbw(v;FwwAC(OAhUm?3W#Vw) zLZ*TPLgPY~IntwZ^^<~O*ba1t3T!h_8N}{wkuMti!{+BxcX;ZnVH;XCmP_~9hhS0l zPBz#F$;e0KCk93zolTh#n^}qqL*?Wpqieey`}8T{es`WJ4IGw>f32Sx@^??V`=W;{lR8A;vjN6 zSUt*5avQ8|JsMXe2~7CrgeG;@2)jYn^w-t>dAt0K8lw}cVfwcx(*x%exM&oFC@%S6 z#c9iOH)Hw5YP)5%G{vpl1ICms)vjMoc1@VtQ9cTU1~Y`4axR2Q(8bYx-%1}M`|wJk zZrUjkRzN)aG5qq$!y||igr7Yn^jX&o5Dhh8@u&na8Q&c`B34{L?Mo>lQcH%ZEBq70 z3c*k9Xx*j5GQ;%{nHtd}xP0oUBQjlAzBKYw`|ze5nq)dWtHiAKcS${+)|Ie*r7d9T zGb~pUFy;)XLcr_{9zwjYXer!L+|>GNA}7v9y;Qh8F{-alpJ8OkX%EFldMUQ>_j4cgsg7-B}<#)(| zv8`DGd`E|Jef-1tLq7_ihF0_il{rFR{cxCsuX8%9fN%KdvBO!wV!?GGKeT14DhAI2 z#}rg7qpUy~xLh%DHADDG{Nd52ghY@JwR_!m*^1D^TZKYXFA;tZK0QleIl!lEkN6kt zwue}-$X9I}DelQxYaZSj$th94h5?84cAVu0oU@xx8HG(s; zob^pm8%OFrOtmiOa`kO<>VtbY!t!WOu01f8*Mu9&)q{&Ncu&av7B!-8cEe4_+G2|` z&K`UNw~IiR>A)E`toIohj@)&r%c6@4g!QTlWLSUWXtk4=Z+00 z+X#?o?9)RdlXM0t!_K|m?BuV#lv@i|5px>b)D`5TfLQqY5V^AeruBQ_NR4_Isl7RR zuK|n|Z{agLKQoJ0z2?Z2vOaDreNaEGjG?dpYdxC*xF0i=s9@@^c~s?hxLAH8*eDo! zTmP-uZbc65BmIZ06Qkx_!a84~Ezl}3LKN}3^r~xx0gS12$Zn^kr9wvo$owOIntm_V zEcy3&O_ORz3p3_NO1#z#SDcolXLnAtZ8srX5bob1KewbFy92fD0N!z{7OdtyxQ~mW z%oaRO@_X8|y)(OY|6)5lI9+t@?I}rWqG~-D@Y0Rwja9<4*{L4wbLumqvfze$my}h! z*`{r|bAK19c9dv~WxZ}E=qy>UG$D4gDC5r6K58=yZOcK3_fH@@%lu)ml6~`z=)@nz zS@1UsdIh+#)wrAZJVd zlEhYSlhIb<$r`-bb#ThT&s1t7dm{eisqzT>q`ER=#dK^7trW=6?GE5BZ~V=AC_trz zo^`3KN?O_f1&ieI(v-El3{;UfAs68 zEo4f4rkxcURoOS3;O|MF=Du&X+8-vUi;JKCvHo?-Ht6$*mWd9yha>R67)}4*%;Lg- zWfuRFa8)P}fhbS_+5q6R2?HFwmcw-|nI!G?wx91 z*6eznZqFB(zYM%~8aB>ShB2)4zU}@g1Kc16q`jaZ05dw6ee@p#Z`G=?E=|yv#`Bi2D>#NgfHx4imx>IY3xQ`;;TG|l5O;UKcW zdW6QXbePh#Eku}pSb(Ioq?yDIwrd}eVeSg&!s@1H@sTHG4wFvRkwRGZ)&&EqjW&xQ z%tM&0;kPLj64beQt#ly+w$5K(bS;1voyqA5x0#!^-O1iUl+C>BiEJRotW|4N2}QOh zS_Z9HJo=sH!t6Zbq=^t7j^N8*=zwxn0gLbIzAM=Wl)Ni(;lKL*}&kfQ=^q__g+06p0O;>DPd*d6(2 zpb920AE9HAxXT6#+8G|cFg_o|RZ&PHrQf!YAtch`-k{u2o_)n)gX*nw?lpo1W8z3i zcy_db&BJ2(LUxP6{=HrrSdIk7Lj{y z9-BRr7@0jZn#7~T=MHB`TVMWt6*t)hvD^}nV$A>Z6#oNU{6D97pK1t#U=FGcV3Gy~ zaN3&wHc3;A)rWSA{&$Yi{+Z*8RQJpE6`L(y?=N)zsW5XbmBpN-3?u0ny&KvQyIH;j z@!NjBdA>;gt>f<<-vOvLdH|{|di5sn?Q6g0x!QlCi>VWEtNpHw0O;ZwZJP@&#P%#I zCN@b9`>eYKuKv9~wSbeq=*6Z`K_6*kgFlNqDf*bZj*%H;p*1gTu4d+6Y5z*{f76Sn z5rn-Y$QriIzcWBZO4RPqVOZlQ#)J{fme56@nXh>yukj?)xEtAPw3s*jNph(>&8QMt zfi7Ma!qVzyRLEIjR0JTShy*J7*Y{y4_K_0(sbrY-xDEm;)UF)Ix!r@@Rq(}aG!o13 zgg=_Hpc_${0I==#;S^BlLz6$bD)?M!mH)~wmCsdACxM_3jJ#&Dt6&>z|rRbpRb3UkEi zwHpYlfy38k+gR%OUw>@UK>wcQ-*4Z4{lRAbUufiiAdLU#EQ5~u0~#6C0RX)Emqu1d z_|)6onh~OV(e-!`#k{Oo#P@@|p<{HO+H}7-JZrwp?gmO3v;#E$xrL1KQJ9WD~L z^MHxl0zY>0q#5hrsT^fT~2Z8VAKWv{EU0YN*{YF6j0Fs)@otPGM&c9k~stR3+SE`j?u zFu}YtR!~9j$wd9u`Aw8wtgSl;%#vq-6Tt=GL_n81g2AXLOCTh7=Yj#XI-Eunb`k-U zvgvn*pONxiwFA0rU4MAos`&$SY2{Y8TGsBGO=pRdRy!ptZ{q(%X!i1OkW@5w;vlYu z<6z>n)e!+#3GGk*DP?&Bvn<1jwk=5P+M|<#;19IN7M_d~<=Cjh;3~^b1oLqlEOK?1 z5PE1dT6MZvi(L3UG)pOrlm@y$Gid)732ED`JbI}NX7-@rPjA9RL#3+&H>I*;ilDJS zrR?+HrChUDN)9Mxu3~q(4WzOLKq&(lgmdt#F!8Mli-d6yXD4{H#4Jvv;6a-sJW>?m zl`56;x3lgtbNyiY#|>S40I0mQz%J9v3_Mh71%p1~oDTVgKWfk;B9({0o4?Z_Nt$~I zM8_b|q<;V+DyHTaLP^OvZ+=$5sX$C5L@I?R2qzyQdKr;3Mq1*lkCdZ!qP*0tJWS1g z1XVZRF3rm@8D!CV`M_P)JM11d+IuPematSI;}< zVp0hvClwQ%+G_tWm1@sx-0k&xhxz}_GB(b3Xa6x01(=gzg9rd~a;sWU;mhqz`O`nm z9$|ljU^kz7PZ{6`f4myGKb9V~N6l;#UQ@TuDUHMYxG^Cx|0DN6?WVz)a|F!E+Rl<+ zrT@&y>W_cV$**5hW)SIAnE`Y1HDFF&rOoCSzQ~0$9h@y58EGC1RQ@LmRykFVQfF(& z6A)ylv-?T_3wE$C8-O$3`3q+}z{A0>Y;U6y;M7P4kP$img)?ra9h5I$FQY|{T)A@h zB`T|eb9=LCGr8MOXjb|Q$~^@QfO0qa#sMn1>90!eM-!nl=pCx?Wrv2Rv(bY|E`^)| z@ZMME!G^D%K5YsntRXh5+<1!9DsX8;1wm1G9OrrGxn=AAvU_kR902Sdx&XU}>yN+e z9%BHzhy6413LyZc*|-HjY2KB>(ZPs1`8S*rl9k??GoNs~O^LfL^HImo-h-GH>i?l~ z`!R_zsG$xJ5^GVP`=gRQAX0e=y>;@0K{LU}650C5r42(6sTkTphEPk3cY|&~gY=n* z32CqFg4ci$OV}~!2eT#jv>Oxzi;C5Ei`BRI+0{%ydA4%kXOiKaCsHPL=^g)P{n&0K$JAmAmKunk^W2{vIyE{$;q>Y5tM@WkR1Nkl6b4JSr5Wj&#Vj8E>z} zM0bFg%>>^jr$_hV=l4^{6=e;Wir$&xrvHbvcMh(!?bdzMv2EM7)p5tR%^9gjJD>{%mG2ko8WTarP8TTa;DC7CKG0Z5ncx#o7q%$M*DBvHEgi!OgCQ@eU$ z8)2C3;1vYF;1lYN#}9bugranTgjZJs#?0Fv&$RvmZ^Z!4PkoE z?Pt#Bi)TGH0xAiQO%K?7C@hREnF z(m)-X)+nw+(M4U7sXzUA;>uwLk1K??C<4XnYB zhEPDPG5LVtt}duUY&;<$$;2D!#5ODtYaDrhU>)lc;?kfF#2N>50c~=b?|_B4Q@Lbv zPotC#`clCiq`ky3w*3yNG^G_4S?UwwzgOgMZT03h|Npdn|B#LUO~+;bkyQghG6QrM zf0K>>A3D}b@+BhdQ7$p8j$vNJKn|$tn#vfyUg8Vk53}m-IIcW-qzonFL zEFm&!u`ygGZ!yfZ%pEYi1TbB}tSDu|SBy@VaBeUQjWREJ-~!pkYtjFcZJY{Z8z&QW zQ~=q=%TsGWyzw5dXkdLI+mVdM1RFnNmPDzRu7#A^dy^ryWs5Ss4- zcK(iBT3JSo$zb?^VKL3Hmvq8_KtJy{>C;}@z|8AJAAOomwgXNtFb%4uSeD8gtnbK8 zINzxO0|~zp2|sk!(Ov-MYxyqxLM~=U>57@YYr-pi0#Q0OfW^P~#z)LXy+eimG;ohB zc1F;tr7-d;>>;Cxe`{HxFrfl=v+7xC9V#;Ps-O&X?C0vq&xgz4I$9v$*il&Z$W-Lf zunCyCq!HfuWBfXp$OWeucDQ_y90)kx(v`A(6GMc5ul*jUoS|K84GRg9{5W^3B!w&&C{e~+LFHS{NymI&x!12Y; znP#ND()p>Uisi}sLgg0RdIonOCINK`0ZKXPzi%%7 zK^*_5l!1t2HClCKRdDh3roP*}A?UJyA&%iX{y`kqo4QBbR?kyQ5QR;Bz@hnt-dr|e z7a9hbvbMWl0=2x(=YI5BT^$NSxa)|jhb>PM9*-UZpbBrtz8DgSvN~3nX@13pN6-q9 zZ@d66NQ8GzF6v?MeDM0p%c&7VHIZ-x=d4u<=(>4Z5+@8J^X_bW)jj8Fg3hiVU^|kM z#K6wM!6F&6XC{}?S7W|c#ivQZdtlh9zF|n^@5Gooyo7wr25dM{_JL#H*Cq8awemxQ zGr(aXv%HZ1w%9~0z?1|ys}X|XXJ@YP8`Py8uFRc0CBjD$BCVwoOWjHy|$ zZQ2-&YskvjFW*UgDq=IOy10ty(X}0s8W^j(ZbgN2&?rn>qi>3&LAD#a#qDCi%&wsZ zD>>jm8B)^2D!lOeG6;0ZYrm{VPDb|pW6;}NkFl3nzNqvU#?Z*xq|KBS5T1-|<2H_p zpN=tmZu;Qle0&0%J+{Gk6*OcUZL`1}s6!bU)BE zFWHQ*tT4VJ3Gl&yy$NUJe3wJ7+NMR;BEc&V(OcTp7L^Pd+ZPNVAkK+BLJ}grfgm98 za1VGmVp;r6v)cl$%{>4LeW9w~{YoNGyu5D{U$MyQYv_u9{pC*@w zhjf3-9F6W|1;3|+ByqjmW0+w$-c#z&|93)OT#SLUS+-H>U!r5s+j492M20m>)qZ6Q zDf}xlkGx;kjOSj)w_qmeUoGN3utg-{-MD(&wu=wl<@VKD`_A~+1X}UzH_%w$!BpWzM@IRWaQZ9)t->aG?%M%0Nh!gX{w3l?XgaDkbn?T6^B-dhXF`ym!pbH)tVoK_n zMjIR+l%JbU89!26nt^+na+yPd3NvH%f(BW&B83j0+lUlYbVN@^j*RQ_*#V&!a{HnA z@mEv`ZPjcBIq5andjle}gsSdW%rH`h(c^r7Yq*pdjM}ygt& z>%*=Qvjdkgg5g{LuJD0i+b_6CK$n!D8`fk*M@xU8)^^FB-*mj~(Dr7tj zE0T(!Rz!ADOpu#t5L0dtRtberMin1N1+So%BJQD2;Wg%K+FP&9E_Bp6lFy*DcV3P# z@mJ02=h5S{L!`1>Z3xGEbW7ya$mDd~?cn0mWatSVgh2WJle@m2?eld@$YFC5KIh}2 zLxbX2&}T(Y_k3S>Uw7H{)in|A(~c*^he|LpfA#Dc(Sq`LZ0mD( z%bzXS^F_Y?s&0RRSe_Oxu3wPX-XaT2Ob}pHCB?bO0=&w+N_@jL(jq*zO(o z?gJqv+G{h6FG{_*80xtS;zE$e2$Ra&(#aWtu#4q2A)AT?<%Zd?BxfQj+jz8#d$tfq zrO36oc<4_V5ze(ry_Cti7}0m=S=D`@Tk4J^jLJ1y!HD-XEtHXtUdaeK2X0rL)-f|;Y1fsUunEeM59t_s_d(a~_6#ooI4^L6aHm}^GUN)toG^7M z;3JqixW^ChqP8J_efS;b8Icr4GXJy1@DxmfKanq;Ljr~Lz1{ib^8EPNgEBcRv&@!q zHk;!u%A*Y-%R{C zQ51-x@MwHfqJ8gFBP?B$YTGopoL`tHkddRNf*! z?H2nAPelXIs*WDbmQ^TnWO2P1hn?iV6t+r@msLg=Nw7LPuMy(=sB#}vkFHLnC=EKLWYPMHDoj^ zki%AA(B{v49B^uhVpW~+tln0SqcW8SUCG45y^6-Q7p&S-b$Wzy$cKH-`*V8O1D#1; zcWT%4vZse~h~3YVBjg`f6caKX7rEF?d=ll*AfY;0Zh~V9-+U^8^ud9>>rom zmiqt(;hX*?#x;2+_RH!jl*!TL@`DJgJCbdcbqU`^6sO4Rq<2PkZ+oCyx0n)HKicgV zJHp0ak!xwDZmJj#yKL^Dk7a02U7>JXk9JX@3e2AFy$UW_6^ltYQIEvT*gZXUXp2#e%#c07GpF0SOl`uiOQvBBk>t zs4^SQGA!jbiO`~`oZLA%PD!GAz;h;+#_!y82I7f=JjP~RYkEF=^7~D6Kf26~%O8t( z)CltZI0*86VUQ)n!8MyY>S{F_{dkVe0ZIt3+gg47naGRsc;bQWJ6R#`fbI})KsBVp z@ORkDrE7EkT;M_gdkfg6=r9ce)Xlb9Tx1M9v>c;_3 zzrceI&$|(l$ln>3&;)T9g_pM5T&FSqA&kyLv>%+3uPINEzF4ibM8!2r9B4zDXL@cQ>K#b%^IpF(lX~NVE zWb8>ll~WCc9*AONkE^guf>YxO-%Yb_jdncSb;{|M(z`&t>&PjrYQXTxmA#j+0`%_wLK22;;b{CC4{++I?baxzV{Db|163YLG@7e!ie9Zcp5TBH{Tq@8G~TzJ z)N=!9Q=Um&rCxGg&~KZfj@;tePMG#3$mUoE8;U-S_dMPauUYvp36IQo+Fsf36|Zsm z{K_ruX-G znkMd(NU;Rk+`+&e5gUDyPW}^n9nrax_&U3bp=yhw-UA~AB8qC=GX(_?Qa*zdIL6#K*Bbayd{P#;8ZX1a{ssHi zARt2_qO0KEo%8AVieFR{zERcuSi0WpE9OwC*e1GkA$0N^BeEB~50+h=R=#7h3805C z3rq#^vT&1Qop0U?#z%v?G@nD(WDzb1LY*nRr_s?V0%0yMV3S2%XvTcEo(Sr5x&V2k zzXC>42B#6G<3L>j&w(>56mIw3)&pZy9jrOru~`K#Tb^7eG&t8TuW7!oQKJz+wNA0$ zy+-zUCgA87T?2@1xTdr+GAmv93FSJ~Hk^B@hpfv5vnpP`B=n{JdnT39BsqJHRyP@{ zTL7ruG`Ilb9i81BU6Ch5N}tV+tLf!~(^zE+m*O~H83ptcC_9bVK>njS$%PKTbh|h1 z>?U1dC)j1;2-l3}rGY|>-;mJ04sTp&Yf;ZT;Sj*?B0ok#8pY*>cuAE^p`W3$^__@)_l ztP@S56XI3}Q)L$gX7`#0`NP&*FVY^tk%Z0h8qJA>?s0_f>V?C@W5+j+A~&>N6)0W} zEys?rR04t`c1Wo+CY4wMmlV~PWCE8|0-Nft0)$Nu*a=?rG{-1$5kWzum5dSm+qv}v z#q|T~rlaWMgfs;syjbFWT_fZb?n?We`%6H+_hTX{QH4}|q#62iVXg;o%|J9Bfic2o zIgvD0d97rOx^6~1UQV#CbwxZrbhKI$_+;To0S3*jCXP5GOoWD7p&WJHpm=--mH6#E zr;&> zxmq-z^ZI29?22ZZW;IO@>ifoy3X_eTBE)TJHCI^BVHJAhvDl{I*hqf0+ZB&;&XG?5 zF7D6^1g);&jJ;pPTLm`gHmso=LvE+V*U~OC`Z$NIE{+gOaBXc6ni?S^KA6TUuQb-1 zx*8iE1kyrtl(!A!P0sj8{kyeO?in>^yK^8>$#RiZNx|OoLVmumDA>DW-}WEP0E&U{a- z+2WgC!05Bj3^rNQGh5T6xNw?~VSlKJbGp#mkIx=TrLB=-e&rjb zr)1M3cy5>F_Hi!j|3!dPHOZ-KfmcS50J0VO&b@p72=sK# zm3gd?rx%NXym>LRY6ae2KBK|e#5Ir02&?5t5sXLt1COAt@d0{*K zXJM`Yx=YU&XKh41^-i{^6*~QYhK&H0popA=WBo=soBZ$xJJ15`h&l|-fcH|hZVsej z+*lO>q#NZ(J_5|OqCwmz$(zT}T$L55#u~5+zwEm6xC2hDrcqYX@i_XW5vO3axBqe! zK=_&_GzJa=f&jc?^M8H4M)R-BHUEhaSJML`#Ib!bMKO1k1E4u&epQCSK!5pW6)E!# zG(`$pN>SDNtPVdh*^FyrBlow*%C8u|+)0;Wcl|XH>rTtgQ*pk%s}otFpY?e2@)2bE z=a=4_SC5{PJg;Y4v3{V;0XhuF1EIGMO7MEvkvr^@rQCS^)I&PgEQ0Z~K}oE%UM3^P z%GSlkmVG=l-&gyVT%vHC7`S88v2W8hLO~A;UG)bcFyLVS*d43KQt?l@*g~AVHCUKs zKRlG%;kGI0@t(Di>LL5K9iMfj)r))OE7OF0DZvnXuRD2wr@{7=rv9lD)1ERTP)i2n zW#RY@HOTqt_D1iYkuRHcmwkgJ)v{2dwj9rFqE=nf2x>2_)|@||;tR3Yo7GdPvKb4@ zQt(fyx7#si*dSAfl`tq+$}x&rJ64BrHet0aq`y~#Kp4k?DBoG`s`(Bvfw6Q$&|iyA z&BGX7e#Cdyr#5{$>zAQmK9?#7e=$3-YcB3_(i#DP=?S6qagWFiL%6wMuQR z`(NN3d*DujX zpu^42F|#OX11MeX0o$CEept}t=?Oa6!_#P#s=kK~UFl6F-*tXB2Zz{+?MgO}dVXTg zd(+>`ZoT~|PoWAMY$r0>TEPNsJ2Aj6eN1&?FvnZv!mef*A`KrArWO=E(^Mgy9f>NK z5fe)`aHW#8Xi$-3x7&+;#ZGEtXm}40lRI6Lc=K*>F!_u)~g>QXBxqe2zrc44CliBhc;D=(xPPE&s$^x+Y+Hp=ycQ z@|gLiixrj@%^p*bs&=_ekd-?>kOrP06(87Mu_P&d@W}Gwm|%&tM+jMJW4KYxB9%>k zYZaaC5?wv*7xt02gxnco#Wzynx0@EB;zv?>eFtS8^A>|WaRsp-ON{S@PE@$t5OC=rCu+n@E~9aC^YrxK0laT#daJYQkrp}*N?+}`W-ZTPw5N#PO-^q- zw^sBxO?eiNSYG!9x~^V3tKBzW9?u*=mSg+|rh{$aEw&j0pbRRVSh5CNv5T224T(6e zYq70wZg_n_e@5-7Jh{Lh-K6un?ABt30!!i(DZl>|?vpP3!&3+Et0=s|Kq|ZsPY9(c z0zb}II7Zr_lKJZfQ4fi1J$3+1$ik^DM~+&*Gh|Mz5kXz!Q$$90c?evihX_koMM!no z&ROGAh`$5wQ_2q>!?oFqam^em0sm6JvE;=x;r{J{MJ>Ac+Vk*%(vXK+7s*xmS3U^Q zi%cY#pw}!Gni>~oyYamBed&`JZ7Mcp5|8E zy0-=ssuz3>%8}aD5bO}B zYOo^fNhYtee@1sTl?_=OisY}F>sDppalp2UHKlptn~=tmWPc`0>!$&-v*em>f2rFP z-QD_*HzT&l%k-Xy3p%A%^#m@=;$lPFYG%3;Y)SLrd|~Oaqdj__EF@jw-z}8?)=lg& zYTB?b#|m{&xHsMvwI>}c+>Zt zLThzc#KnZE{AQTk;Fc85d#pIE^T_9o&_S)pm5@`zAas;4JpLKm(*h+@4wr5A&Pw*Z z>@6pYaMst#+JO4#u%IGxjDsF<7ZB`aFiY`5QGE5~g?409K;B%o?Mr8L^0C_OcNbj~ z7AYSpkOXt@!C$o~R7b@P%Te{Ws6O3ocE)f`xE?D5?$>%?TWmMqZ8>hh-lltEW#6zh z;NJ!Y6mHni*p_LhHS>HkS|X&us?(l$^f|6G!aG*GO^q?TnH>=dC|T3kZ`we+EsYVo zOBb-lecT`Uf&)3MU@VCHzy?_N((>ZP2=V9pv5+yERBZ{40yzn!?Xo zjCNyNl*m=gPfQsJJPI9ULr1kSKy8K@VoU@mKZ2Um3Ww$1aA?r{dJW{>5d5eDoi3K) z%DKXO7R%#6vxYnsz8vYso!dPsH>bfg(=tu#sjV3i%S-uP-H$f#4fQ!|yTbcF41!EP zpU4IXa3nkHaW;vCXmkX%jdK=1J*{8B!-q^OvHNNTZWB;qgN4n&Ol6{WME_I0F|ff&eyeJ_ zHX=0Km&cx^Bl2}qhR3me9F#7Sp=*9{eATDYYhBYSv#)}dN#T15y}MY>s5Bpi>r5nO ze*p_|NtU*R#i)^40&7nU?BHcgT;>#q+3XFUfUEuM=^Igw_V{5@gs-$D|CVxelkq#1 zOyKPM;?dMz^O;jr&TXjJ0#k0m!b7e2YQK0{3R9Ad)wH9<(QkKgRrw-;t+_2^TI2xO zk>KQs)8Cg}C0**&d8a2|>8}9V0=D_-eQ==-&&-u~PE?(u6IS*_*rn6APv7T9nRtFA z3qQbA8SBZ%d{nDLBE@WH)*iy{m`XYdu1O8&UlyQ!J#d{Wc6z@oP;sBE0L7(j%;~C;eD|N7Q1BM(q=?_WXSO zFzWY)hF9E_V5Ja^Ei}f9-5suK>#AQh;Y7LCf+8@SMq*P`h9^9Q94Eb~F&7;RgKAtE zRv~IhT?ki{Lzp?Xd-i;eM178Z@&MnYJ93uhGlv~$N7A7CIAgwvl}G|zrM(0W+YTtc z#$ekHtgC_xH^)xw_%Ji#mFF7&u0iw`qINj-PY@VdFfP~Mc^^`eNA$S*U&-XA(}r&| z^)>UK?-LUSoT6+zGr$H=uZlshnE!0QL)?c7LoPLM9{tl)yk zAlYVKn?HPf9EEqbi!x-`L4_MTc`wF?Ekvi5^nmTS$D1;UfMI`g%uxX=q7){HlV0yJ z9EG_jSV47DgK0~4$}Kp0LyCKYzPM|ZBN&L#5`@S8hJ9cS=BNrUo_tIJ5qcwnKbsZmh#hPB5b6jn*@zb67?ni!q)3B>vELt5 zDy0*VfevD1`z4p>XNKJz?~KBB6WcTYQ)?9u`y$sQm+Y8v7u| zSc@p*4s~Te`;KsSXIXHwdb>PbbjRu<9;p$_EjRxI!wYe?G8tCXREbKL9U6(DPf|B) zP=+PA5W24*Fkya%*#!O!H-na0G8*wApXa3!B}ly*Bd>YJ(C|&DK`YuH2CRg*^mNVg zNXpu(*f#gT@e;i#Wilk%)7Ie)odWzR!-wgU>B@T3trUa>xmeTWIn;1%DGA67 z+8^L2Z*2ih-M18x)S`$EG;X(~(=?sanV$c}}(i_&lpQj!`))-a- z`#Mr!U&s2tbuG$3CYOejm5UjWpCDys3ovu~XG1`JLq$ar{gXlZl5$5GMJzmGD4*jC zJ0^o2SP=yZxm{4ofTFZrC%H`v@}-;ur<69)>mp7G+e2CP_hY*36Uz!V*`Kdm4`=5H znjF0>c7%T}bE*Z7+yyziKOfE*f6%pH4G;@L8$*T@C$x;QjI#_oGC<4CaQuFahwY0* zTG%Nd_K|Ym=CsT30M~vTm*@6hzp?ws)!k?Bg`h%&{J@2U4L< zuy`c8DKX>AWTt4A+Eu|)*;J&2&!#rPN$^;37xP}BbUIB`u z!uYlt6UG3Iqk}5pxWZDD+uuR05yUnMSS}*BZSSxhYcyMP-~NFTj#t2G-K z3sH+OD>TtA8hw+Y_4?t}q>r+&OsZ!qRZCvpSVxZ3Ho)26!xm!R440qZ5QYQz<6y!) zV*5)2ew`YVK&g_pL0gx+v^mO24!N1GTQoHepsh*KI@F^aM3Ei7^wXi_REvY+>op_E zgDTZm-Z7<+Z`Fh^=YR4kMslYB_yv=I`{#y)K7H$I7fWZ_pJ|ls0ytLaoK<)jOYp-M z_|4q;_*m<-A6Z84p9ih=>`-iO6EtBwD#0!ljhIa3crHPJtUWk_W+OnwDfJJ<3kMZ^ zRitVk0llaE&+rT_Mp((v9)gfwKwpy49BqW1HXR2}*V(c<4dJ3vUk0KI14#v11TUu| z<&%qT->gwV{@yq4@+4GzH3C!)0-cs$CU~v{20JzcMp;JKXN4R%UZ1X>j;?y>)Dd^p zX;nu_nK!eR#}yISG0oKLapo&Y#n$+K#iDD!nr>-lwFzdLI@#V>u@agZDe&ut>)pl@ zQirW*8|q~d%5jn-YD$?I8_+CCE)KLYjHE}-*fFC}2i?hMX=PY_t**W<{_*9=NL@Go zY1cpLGL7+yMjTgeZXF!JSA{)M&_#}bMso;%n!M`^vBg`ewbr=i2M9p>P}aPC4qvJ0 z7so@<;j9Lf>+jXcUD`4_ez?m?py&%pxXW4qjmx!XPaB3*oih0D5sfFm_n^O!W{u^cG#)X zOA3Bn86I4o4k!)*)F>W6aw11eGtcIZN2=ohjRSt7#iv+Omx|vu`^?69M|0|`jZ3wp znXRcyMRT)%0UuN0V*;Lb3(Y-yZqM8gQ134+P7+pKpGf~+{2EW@?W%z5QcJ*fDUSbb z@l$azaxqh|H)9g9wKB6;F>`hXB4z$n|B@4Q6wpM_hd<}+n=e+KXt2aP{KGEt>4`V< zNtD9;!OOJ8dOfsGf55Hj&27AFbKUSg<%S1|p$YvU8uOTR@tdNAAKGgNS`}utL zc;o<5-(s?jPFc@vXvREv#-548$+i5u*l|u6GSO;XX0Pc7;nRX14(vVS)$&i<@x(ke zr95xY(cpz6(BQ*x8}BuBiVD6>P68ZxMVN~klq7eE0muVE&syP~x+C5kT~}-6+!C#2 zXo4l}ny=DkFW-lq`*>uSQWn7*JU;~}+?Z4*WD1&S&VKzVrt>T|Xx!jvzq}TNwcdfE zLQd1yhhO*XR=4qxUqB?-sy}>hYf#6|PBUFeTm)N+*B6KULNK>}-ULrKBlj9nl-6z@ zSP=DLED1VyIxj{u>o>jALg|H^jfBn@+bWWSOWz2@&&N4EZ+ocH+2hNqWH{*@6priY zR4^thy172qzOyI~l|Ds#sR=rH%&mDnN<)qsfdumG$6*n#1z+NOO=o`f?-aa;b0P4f z{ch_Lx(X%y!n0J2e!Vg3Bx)Q5L9O>I1G|ohQ z=-yIk!TW^liLx@SypnUpL$3xS6<1{6Ua!jcaO(C(5-vhQmi9YIt{5gfL+fiC_}o-_nKRp4^soHG1<>cIS<5Ags6Oa|+JEEi%zu{K?qA zic6N7tGZ&_nu`-Gn~Zu~Q;eO0&#a2b)Djo8;6vp%2Fj{T{DvWZGw1h!*Dw}VHdqtB z914iqvxXXB?$qHM0W0_P0EPC$CDe^l6LZiorNJyjuMXQpyiKys$p%plLuWzyJS9E2 z&f=%Lg}`}`Y&BDEJkQ7Q2xnh}IaY(y6tw2cbAo`Xrb#&a{4e()o1<}4|JoHiLj(a~ z`~Ua@00917{wZtDXs+nP-D{L`bsL-CTB$XKiRFT+H<6L8Ks$x~XH#s%SIC9NnnvxH zZGQkBBbsr(JNwLX5e?!n#BiTxvgvQmYY==Q4?A8Lga6N5i<^dIDpjHHLhgrmpQ+SfwYOrxjA6vs$4lvGrnfkE*v$j=Ta>iHkRh6gtT5}B+6FoPw6ehWw zj3%#?a^=yHGFoZInF%1k)DTp-M`2KNC~V}k??QMIfb&l@Jgl~h-?$KYx$V|UZc#qB zKQ5sc<&F@Hc<e9G{hsq+zWcEo)a?Kcvgq^u&Q%;~I!U!>wS=MN= zMrUZo^|Na0A_M+-pIR<3@Rm7uB(R*XlUG^lR>!_!)t zA1jVuAn0dJv>L}8Es#A@#EnTO?ry@f25qtz9N!qvlhD$~GL; zCLem%qTk0co}+u#}Po~;mGGg(B_k-Yh$$GPSTk1Q)Z2Rv$2b7q(k~u7- z@|NV$nF_C#?t&-4r}o4PrU1u**Dy<5^@->WN%MsaLi^5>?wFiiao19#t)|Unl`=qb zoSlAcv~aWMg5s05O*7L;_T%vK4y$r;6Ti&hmr$4JD8mBAr%m4qQU^vRp3L-l=P|F+ ze$eX}s{E0a$aajHouFv`8FOyuTk?xdy}ADsk(zRLoiFVxSH9ckeD2@AaSa+n-0 z=iRxZ?MzLw#hT^-OCd?GaayW^VS5OHl*Dyg2v^NFkvEd#xq!nadtQ974X9|nLc?!& zOG!DhD=8*sl|JAO)*f&UbeaS{8_H&6KhcuF%;fv^I?#ICab1R#CvS$lU81w_vQ%o` z{q&$+92OOLQ?!t^Xg8)|v1mF?O(pF*iCYF#@8DwEiwyhIu6ft@Dx#93*Td2?7bmjR zEU&wD+ryN2HK}W?<0_MqN?;2p_>2^a3qou zea2;=*VYQs4AN?-4XX*O3#(PsYN($^-O3I8DI|Q9{(8Kd4Ru^>g|z05 zf_FI(Z4APx1Wd~hem75l3afpKodFHYRt>(6iH-GrHbn2C9=PQToGY>m%td*46^Ya1 z^7c&POrxcKVYOd}dC|g98-b6z;xJM+$fhOWVtIQ83H}X`B5sKjIh4e&G*W^dVj1y@ z$mGEIluU6z<4w>7!xo1Fup?o!?6>NS+y+A?BE6 zk0a=z4T}mF;6o3Q9v?UmK>Rad!a`2iTp$i@)}>q|ZmNiw>cCYkkk}w@qLY%iq@yio z2nR;W8+pGAeV_iJ8oW>d`W9^EZ5e#utnK=F+u1`LG#^65HzA-y`&HunPZ!FEjX>BP z-S=AGyXP5e-^r!7b1FIC#nv}DfDomtLbeOyHDCS{7{SxrQDyz1Ts6is*wmV1*JR4{ zBMhg2u+UEBDS>96b(dXgO^A7?jWoT{MrU#?(aHA)UZm%T5vyNF$4sy{4yUz#KElHS zxlzA<0l>^RxSfDUso%iB(Lq3@3J#NwD0_Gs<2Umf%&UZM-%8s(xC zMU#62@ul87f1r=<1$Q3xb2~KmRHat*I=N1b18!VrsoIhFUrl>q5>B)2>Z z0b^73@+$?$!D2GI3%e`7@d%QjtJ!ir*b!Nv*%i`;`nD&T0WW`oze8hyqGq-TwZ{~1 z+-4cwpAv{EoI}03*(>+La)(u_ww2a_ zrh-)X6Ycjn5gQ1BUc=Q{EC)$_jUa+eR~qHw_7?AvuVruKrQ%>brpr%~!&e6d-gV6 z=vLmNYk=F289BvDYd6J=r_>XRk)lLl^em!rIFTWAyhS^Io7w8XIM$@le~{T^rG;^z z+BpFJ*zS@NqxUk|9$Ky5WwIJy@cvz5?aS0zGLRr3;y{~0_kWg{ii3%bnae-!I#t>h z&kX3U(XRfO*6tNjAWjR!e7$IDps`DwUDVr6h~`bA%!@QZI%$}UI-_VnAAl&-ZvlY7 zkS~4}In7I!($-dmK_sq)j-l582Zez_jtoNH?M%N}PM1x}r{3bc^1gcPJb2w#_~`V+ z>rv-Fkfb7f*iA!1iE?J^ogn9mb#%_kL|f0gS8 z#Ss#%xTAmcWHR^A+X+7v_kVRJL>HijxgHJfY}Hkwo#AHppk&LG-e((gA=P6X8@p%x zQk4kNsEIkvoNjDIL6uFkfC-+_{>}PNg;-*4msCx`S)8JZ zx*9r-4kwmRQ3pAO2W_qr;|U)UdZcyyyh7ZIpjP~NI|O(Bh9m@cqIC>;CX|^tZq;vD z>A~9Hs`|zNj?7V_33Rg@yvWI0t8~N#4sOLUs)h9Q2vQ3+Gc7e#=|*Y_iGzU6w2q6J z!6OALH&>(}<)T7gkk$%XNXmE=OOv*&(Hw#?boe!6Y1$I&7`ytJ-w}f+5XL)}&3fSc z9v9Tskt5DOocxoBL!t4Jd<)v^@dbFESkA z0GD_WI+%onLW-8&gbCbHf?89Eajm6gmJ@CJ8osmQoOh?P+!SuBS!K`C1g7zGsM}mR z-ZG$zpXv{l4VgdwLcvu&23vNe=_5}D?XoU>%ie0h%I-B@P6++wqd}X-yeN=WvZXbJ z*HN8nKC zN+FCpHZaKYwkWCm6+r?8$q;Id49|+QtuKT9mDWj+3J68#7?Vc9x+Y&(kVoOGjkLhB za?>5ac7xXRlT;%$ykK>DWyMdWXo%LMmMQ}Oju&?eacIM*ssREOc`7SI19;fIkY401n@o9=Rf?HbL-d&GsVz|g z3pF^S0c*%Hu6#I)eugZ#V)Yt>JzXOK@G5x|O)&O~lNnl^^9E^_8X?A{F+*8INmOap zJj~*+*BWY!EX!CJ8$MywFdA{XCaMO_vXP_g4I-6W-jdU*egEDs%IZt*b^-9LZV46r5qNZpC;jO-b{=4R?YX%Rg`jP9=- zy`Lu#v_0M`{_e`o^QR_9-km7 zK?o{NYm|3dad)C6uUv*Np{s;MRXR6;i}^P8j%+RlRShZ?4V*m6WD?GMGNf|gVN1CV znulV)X$weJCGPrG2Ha!XiQ<*T7DnVxGaaF;K|zx{`~Im*&7itf+-v8C5=|^Xv-BZl zo&5v=_0>)obn%Bl0|bw-QeA+e8AJu~)NIaC3b@DeqrUP(%fq4T=KJ%Qlx9%i(4a;C*D& z9&z4tpR#DLB6-JZq;ZC*)pGSs5TPsCeXu3rRi>tQG&`ELU+tQw+2tSY>wO9IB*)b< zAUucMMLMcq1p0o`GaJm1U2}96ZYiGl=s?Zc^tco#wO`7mK_ko+U%>(ouJ~p=qwP-X z*E21{qvz&5Bh~?0e#NKjd0XLI@tNHvV-e3FuAQ^XN^uq>*~<$4tLyQAuHrcX zIvzME5D@nNhD8-l;4nsllWzg4t=H+;MIq~H<%)QW)j-O*NeC+Ia!*EeH)=YH%y0giQz{v*gP>>)6I+1+patjt0| z)d^uHM$m)g5=JJlr$;)V^{tIN8j0{U8&?BnC0dyPkb9-CI0I_>IF zAgh|+e-Mv9w&h&}pSgJ(!0PJLGcZ&vWMrxr=`&X5#1JLtpxyK49k{uf5?{wmx*J-T zIQ-e5HT#y+EADQlKzuX(uzrowU*~W-QVBOe-!1;-B;#z9>eX9^)pAwGuFT~%W<$Rj zOk)MiB1-xSTK3-AwWyw`#b~Nxj1WU?zqhtSQ0}BBK70B>z<#KYpqUQPu726X;OF45 z%RqvQ(E#k(Yx8i2#?xwmrBVozcKJF%Iv#p2ylrhX`nDj!`Pg_3~(P|-H z*Kj^vjM~VFd0@!rNm^)=Yn?k3W{0D`@I}tt`AAQ(Zs!UrM%PJgA+b6oi+pBbO^gGiPPLvA>{huGry?@;tAn4}S*uGQTh#{+%eb3GpVBh^nHI#!ZaVgB7shMuZg`hSx9H3nYMmZ>i5^uBynJrc$t10|)n-r(zZ~lQ zcWow$CSE~R8o7GFkR2Stnsv^D6P`}a*ZkYe7;D`p{cy>CE6+^L8=>t_dJ8*vMzTB{ ztDcVWAc+^ryJHib4%tIC$v8B;Q7qN3wMha?XQO_EL${1sJWStNelfT=DVx zZpK^>!807z8sW~$9&> zh<=DAX51VD*jYv^qQce4A!2Fx?RidxDw`Wc+wG?$n`j(EB(e<(gGJLkpq3F9+0q*z zcxW9nd!!|nF8V7;x8Rz$NZ&*?M~Ul+s~;>3Ko#IB<-AuA&O`S#b|)VbshMxQ{8y5FvSgt0c;S`hKJvV6e9( z%5FvUyEtXd^epIZ}(m+hT=@#X{Z|!K^fQb z3v7Z)7*#ww5Lc(EG7rx&h(X=)X9~e8N(MS^uF_=wL^)x$e<4y#EEDn;T5_*)e_Mg0 zzjAq-JmAz9^6YwTAZ6X#ob*31b26LU%0zF1b2eF zySux)1$TFM2u|<-0nYk*e|>K6U8hgqyKmL3dTaezf99yi<`~a-$g5HR+^{bB3SYKf z$-4V5&GHT?ga-t$lfgjzzggM*=Y2COs|f!iZT#h8V`XBd=w$C^W%{2lr#b3p8t58d zdKe*~Lyb@&KslQknDgf=)%s%O#KDw{=r-)q`Ha}e&P?--ZJxjHddGhH8??0KKW48e zTyeh_S>I#6a2e2QSwdWs_ z=+FHsjAiLArZ8Cf6&VYcy=r(~KI9pat{787id330ECZbI4L_DFx)? zHRF-77rRtXA}#RfhZJQ-Lum{~$7*$#?pF$#Z8TWOX&^l#B8_ne^bLOl-OhV37nz?t zsm2|bvKeXE?g-CuDRCZeHl=XlSYgkWbc4e=%ZLcJJ8qw760Q4jcuU9qRrmtt)Jb6UlK|wS)nb!Q>X22R?!Ju! zLt`3~S}Q$VwncqaK50Z}3}ntQ1~-FCbt@&dhUR9t!D$B$7QQ)j-leqW^se7RSnFCI ze1tBSeZU>c#gXU1R`X`L*3Jb*AKGQ1c6ha@d9ySv&z(YYbX7T>T>K9EbXy#5VjUMW%Y~l{eoypt33ikqu;~GZ{G)Yby2h|6#6A5Lf zxl;LzXhUo@&*EO zwP%8GPp9UShmo!+tx98%hxZ#H4|`2ZSQo0dFAcAk12E{%pRyJE z-r$0Jk`u-W&r?HYR!SoHM4y2t@)hALkOSgimkKkPu)Nq?Xg9PJC7XFu?dA)G=TBj& zKSV%mpG0>;)`q^GN<8Ef~Zmj*IJMvYB6VrCO z>*S_dAK=(%X*c67es(kHr{KlOh;< zOy!PawQ#x91P53+2ZYkVI_DrfiqS1CSS7WRoFaP(iFVgHL-VOzGGgm=(I1ObPQ~q4 zY?|vLV;|5FqME9p_BffRs*?_uxXga0geszZb>;@0XAm1HOr%}masDNED%LN_JEB2& z5cZ2%=FLorEM84vAK535a7?G$FcZv?G|>e}huy|%Xj*c%1oQ0C9jT5hMc{~BAuTv$ z#t3rt;WGC~ZUh$%X#gV@yW<7bBZk^#X03#95u2Y{_y{N>IqQbcyM5YkkeO`v&2;k~rUZAsqsZagL^_ z%uvc8p1i(PwW~*%aLMN?)vXQ_2Hh?eddbKSTu>8Ja}x-2dYy*JD1w6_OA|hzEnU1n z2M}iOZO{}d+)+Ws6$@rDTqAl!Flvxk_C&?B@!4J9?oCVy%(jHmQQb&zr{r%bHVX^r z{Ko%UQKqj;qFu47XiRcesuOgOI;uXBL+?9L$v1^M^Cf5|K82vA)Y(0G9M(f-Qj5(e zia=}jl^wy+1!}N&8YXW-q=Kj6SUCG>EQYSH48x=M^rY`@x`8BX(t+c-)=9#Hu(o!a zFOHrwAJU#g^A7%Db28jz)-x62u$=|_K6Uo}UrGxRY%3~F;Cq}OJO~KG|6E!C)60Kl z;?$_?0P_jXwkQMo0gQ)mOiJV<7732s1!TQ?APF_GqDf8aPUtu>0>FG>93rM?edQ_a zp``9g)@8Xx_xrWrsll1(l|T}TsEDphO(Ry)6zAL9%m>igI_uBN?9D7_cT8SkI5B#^ z4~7<9xn?v;`1A2}4HXh`*?}7ds%ha`2(s!{LLQNXBldIQZy4FTyM{<~mOl{?zBG(^ z6~Fl+-yeB8tDC9^6caR1dW|;V8~R869ckwR}{wwNza%GmxXoT>-9a ztwqiUQ%~oZjuTdfLbME8SkeA74$X}Dqiy(~Bho=NCqK`HPQ>i_n8c(T8LLoe)KxK5 zt1Fq*s;Rl~?5mpFrJWjubub@iFsLX#7vYTcRMs>TCJ1W40hAe)Ud9uykLM!8v})bi zKjC_$G}oA9s|HHG2|Nfd7z{|uzZt<&rO_?Y+Jhxx&Ne6dmPBhk!En_tcUW63_N=+V zYNRS_WHj^sJR5oK*1v0@S?RcG-&EDqJ?&gu>9-tb=X6o{-P=-ie9_CrnbWmJ{Kp}z zahgZY>b{WJuIq|k6H`2Kj2m+mg|+muzOLhTW`Yhe>=w_Rr-;TD5lIG4{@T)SY>APr zoyvwQ^d2r$-zvLWuJNt40U!#APjhYK;ZO6p^b5tn`Zt_`&2Ok(YmeX?HlH{mjO>k! zU_8P@NyNqUf=gch2so%e=c(VY6X7Rq2EOhd>ijm((H+**Te|mLWMD&=E-gx?Lc0&T z>&tYgjoqk7f5Er6+QWI>$>a?+6#Web?@l`h!Cbpb7Xz1Tj3;jHyGm}X1I1*Mj=Hb5 z`%XPPa*%1Q{03PTl|AMcTexQv1p)K~`?JgWF+Y?=5M%$y)6A6ETX9aEvo$t)Cn(6<{MkNakMSxal2 zc|s0jGEh4eDgheDXjbEHX+PN%XsbrQYx=2dbQZxed~(_uAbph&74`9+{DFeOZR^25 z&_yPQi7Uq!aEJfn!7zNap6E;8MYpvpNUU*sUJux1LST;_lK3^~ zo^&1_ar9r1Np5j1c#PiIqyk39|H!$am)gR14^PFLj_Nc1?lH&jkzg9MPFoWvs%<#o z^5!3yf?Yv4kP-dxIwFv$WpRSwXVm1VKG4Gir>U*j(+R?d@=H<}n1yYjT9$PqNaY{& zwOYw%RQ<|3;)Xoe7<83N&-6V(Vr#>A{gGqRt3%_UeZC%$xjN0#3y+uj$U&!L*+h4w z(+VB;K{T6M(I8CX=|zEKK->VftZRl&>w#<|H%lS)UV5|c5M=>BH2pfwz{cOT{$N|V zzpfZ&A)1qmC_B5rdj}w9wHn&`@z3qw;5~?3II#We2eyCzJ!j${9;S>cR(1}yW>TKU zR!*h>;IqcxgQJ8^8E|Hl(9hjiEYkv$z=k^>HkWtjKHqKmW)K*6QD7^ zk*(7uae~B;aKn~H$0SjFi;VFc!}156{4<3`HhH2gIib1n&%b!sV$O7^egZGn1vnP` z?*%-nPDbCH&CQ$`MLb>1{_(@!$?m@j98(hI>=%VlLU-k|xnLROWUXXhXqM)JMG(~X z!9*gjBx?;4OqiULieDV8we1 z-Z|_Eb~E3kIT#mMZP+KuQrV7{oR#*NdJqeh(TH&&({6YXy!kOPoAdb_}Z0ez3)HuwSm4hYNgE7||8Ft$w85RJl8NQq*43RdPNbGphJUMau%x zw=5I)Xsi60`VR|GJ{6D~3()Q#JBK?a4y`2^JW?K+k;w%-^P5)$5#iRZ&&{hWOP>jM zHnfqWe7Lx05;eYaA2&l`OSPp$!3Z{GGL0$MqluJ8zN`p~|QTHF1WNd9*hP-WI)opfy*n@ii4jG|A`ya};#)^|Ke1kdAwLg>UVe3iu-Y?Zc9tQbEnrx!9M&njY^Pyc+QGWq6n z&X)s1O&8xIUnK&p5{tB7q5e5q)Oh%07yyR_tHdB6z?D`1jV;}O52}9zj22B;57lMN z5BrnpZfTYPVp}v82;v0dqGv;eGCPp5_1ao9Vgf zecoD)BLHC{_#7KV*h-Ajanxam9d*NMbH0z|+luJAEAJphc0bJJyBzA->W*u9)AIHo z4%*rp-Vm+6GQTpyigR#AwsBl}YFwG!D5~ZkG0uy9=bJwCq#6Ldeu0h3Yg|UJevfX+ zYkGpmQgFJbUdc7TMc~XcyW(E)9oNsD9ftj_MhNO5JX&|J7@>3Nkx=);XmIx~C+*TB z!&`shHZoSjwY&7t6*P?V3zFD{$j8o(P@Rx|m*9zgxLDUaGw5vKqL-*^!u55pL;W-n zyu^T-Yl3BdCG|P-b1ke`)w$fE7MN&HPp>8$&b201QhWreYK06sr|O68e*M*Y_%4!6~lIZ2PDvYxV7~mUQbNi zh_ASzVEeI}l+^P=_6AfVq^Ifuj3@RN+NU=O;VyK{KMUf~@0Tcg609R!pA|`pQ#ik5 z@sJvw$Y#E*^(a73$1@_P5g2En<)+d1@MtURt^i~SM(9m6O`J4Ik!_YxrEob+yo}T1 z8o#g%+DjqX>=_~QbfTp`CiJcpn|)ts%%#6@eMlEDyHac{=?`rAaQ&!sU{YRQIV&@c zR9nVf)k=!dA@*x8n!phqZ-pMPOK{`vrFv5&7z$n9rn73Ty$^eh9*aiGx;!ayGkk@v-??;dh;^Vfl<5-7hfuFUZRlsQ&!So(@d9;M zi&$E7sriNixVf}OZ@&EIH|J(b8n(?o>ch{c`4a^0H_T@MFNA;l{^iDr6 zQnleN!;I4&084Pl6{&kPGjCY9nR{;Hz^nIGz=nWMKxi&N9*c54#k(lcj zYO9mKpHUPd9fQMO9amgSlxA0a+4jWr^w!o`()dZqR(E;}eYM`mfeEyLa1?mn0c*hg zS<>8*9U79t(DsIMVDzd@>w6YHwlcM2T(mQhxlOkIxeifui|c}D8ykTdwM98wLczik!Wo7P(@XR zz2XNh?xg@1CZOJvlOi6?|MKCDX_;@CYB9*F&@$JQ)YjW%_KN0M(7wjCqSq$~+i6~> zar^T;$h^V8(p(HeL#`$9Esm7SEFGi`=(fb&yqMrgEH|QVW={3jp}|Nk`B$71D-FM^6u=N3bTaljy+(; z_ZZKloCFim7*rh2SXtar)4`2kv?-&!1(Uk+PFJ&XCr;4`lg8Gr${hEpleWEi8PgeL z7N~veIFhT%6DBNK!{!{68T|m3pbS%yT;LIk&suEkh-~Cem6$Ve|B80EC|yp#25WI} z2|&AROx)AVjtPcJyg$ms1^z+io~5*~=e9$0iy-$ESm8Gug4h-5dL z@2_JzASgxQ5)@IOm7yuKAPHbYMHetOe))`n<*_w08}RhQL!S;ZFT}jc032DE8LuVU z0`qHIma}Ut=QJBO_wz02pZKgNqrOtdhH522R{@YMD&7EG1in?o5LwGcAyP?oDo$#n6z$6t6LAkcEyhWb zAzom?7-^DfP8%6R#)*oVRYAp}q@?S#BtD-cG2Eu6BsO1V+#5s3WsWR<8fh{Guz4Y! zYb|gfid2tncrv-fv15#M$CVT19Aqf&@54Gefa8hOlQuFi3k5Jt3-O!h6S67-N9HX! zuVX5;Q@Lp(KjW`Z3<|}{UiVZ+yfCk+UD70ZCtBV&WG2^2xpc?DLlZh}RAPgWSfQZR z)}-&ar0f$XHeJ~SNvZDn5UbXXx$Ad(=U7I8UxGpY+DyAST3zi$bNG^r!$`7A5?FiM z@rw$i)_JREsEJt)<3AMKuH4-8`5;&{{uR(|&S#bsmZ}NGWRfBTVAD^Sw!vx$?|~pr z;k!!2GZY30L$z0JtUE6CZKeJ#S@&zOm+qKr_fYu^X}a`rCc2$%yp784y?1T_cW$Jf zCg(J0OIo~1M+AqC1iNu)vLQeRFLKi~1mF1ny=}4^;!?K-+z);2SKf$@H#w-Vg+e(d zO`{QIVFV5p1V~j|X()KZhH)?hNl1M%@E!+{HBSg{$1jJAMuN$hPd<=uB*#}+kX<~W zItl@Ly4Q|!XQK^{fO^%_T6uoZ_icnz$HaGxry_`VX6@!UV>m*E0DWVTI*!8%ic@;D z*CE@v(Q!l0%sIOSNYPmXD{3vY(IJ;p1=EmTY2n@KZaa-R8??EcCydKO7;iN}nM0~3 zRj#XA`7-{1k1K=+g+!msi4WY&-&)$AvvctM_Y_`~J?Rv4tLencD6b$PEMh(H#f7u% zb8%_6`g}qMcC_^93UP<+E)R_6;(ie#erJa02HSDcK~jGv$qY*B4T^?-$Vd3apnZ;f zMcZXhA2Q$&I(SS;m6knpC=>OgrG1#he4r1K|Fh%^AXGirC4M0+`Sn%qj{y0{SMrY{ zVX|HeridRR!``474&B2vJCR%y*tiNU-7;SJSN`f52vZ)^@4;Yi$#Z_@P@;#^D3K8< zwB$C!cUmc;sq(nd!w4s`2xW%y%!Hb|MbHJPfD|(H__*bVwgkU2AFPJVJn`N*qVj&{ zB@0xYmo@&m#600U(;E%8lZ#}!(%yCQTvv^(Jk7*jr1xTy@36vvW7FG|-_cHp{93HS zS_^Qpn$RF6x1&ZT^)Tg58&x-Lj2m*$$akoc!^t^&=op4Rh9LY(#FREgyW}ZY3JrFy zaw;VfH@QA7UXkp*3-EOzwY(^%=v6EY)aX$x^TpEOS(Xz+g#g=$AsRV~#t88Y;Ll1x zu~nl}W&|w^B^xsWrZHD(6lyxXM4^8402nh~lsKw-c!MSC@F@y|*btZ4a08bHpihDs zRY#1v7S*g>zTL4YJ(?Gi|05XMTTD#`^O~KtA+6CmyYT5i@(!b9e?OVVrSFxTrW}M4 zkgiBVy<2(59!1Ah<<${Z&LB0r7C{}cI(_ECo-?w0gDA=E9J3VxTnuJ@S6pWLF|t?} znIPid1W%N@I=U63n8Lhw^(-zwcYvu@YxaIS<) z_!iC6e(vDfCx1B+k?UX#7}Yn0;AOh0Zz-(WcRQBvY{>ZbAbN2I^+ob>c~OQBbJ>_s z9;2*4-D92#uR(Q6vPsily#Ynf7}eOAc_pf(UGcX=hvmSsF>Y(bal2e~AO8WuB^GUi z0^6ZK7rsISR`*x+L$&?UtU^p^aeM*PtKVrb;a?ggG{qG$!dr}sPth1q(aZ{UR3q!T z^u>n83ne|o>9pc7!e~$yRQVIlmx|QbikA*yYDcXrM?dq4Zw)9Xt@b+U0Cki1KN=Vy zbK30{V}H|f=o}}Py{#o5kd8hin0&M5T*%gHQlj7xXT`1^@8|Jl|n!c(kea6JvK~W9qu38_XXX1gjtd{;@ zwb08<+HHp%qYgIXZ=PwyDjIKr#Jf%<9t4k_1H1craU@Cf#}4*sZ?(CU{Q!?6pi75} z%>F7rAw*y)UFU8BwbFRHJjwCt_}Tc%OxQbmf+=%3_G!n80qIcfz5X_P@F77P|s zDOYO*=MqrWE^oSQhZY~^q4-TVWO8KEJXKD{MRzw6urAbbP4O(%TSePmJK2Vn3PhzQ z`Rp)D#BCAZ{334d{rew-urwt7Fes zlwNQb$n9=l63*jY4;u8zxRayT>2Bt=dJLiOC~|hCnvu(COL~l+O6=HA;XpJC@}F}g zth`2z0`{$al!{M5r(_<{HILzyi7ZnG*k8?I!Iu)s>M-NvFqkUVn^n+4d6=z3eU3>r z+20Y**m_CsKfcJ3mS&ubqT}&*N;9jkeH}Op{^dzRtx@qYlrlS(TZX5aEL+Z!9--9c z!27Y=zs==^{LG9>TlQ_3eDvdAR9hmKV}oKqfd1uP_iqC9ZwJO4)lKHg%xUf_5kJXy+$6jO}o?kJrchuh`|o+fWz(5hsIs8Zm$sB-4p9~2R# zl!-epbGMVJ_3fsQ$G10RkPFR8;laRI*saM!0m4&{aB)Q7l$^*)bKzII(fQI7R+k0p zF1#%&;j3_7zx7qH{`SqY$v%(U(d$6v8)zF8HD7&Z%YGn@sM{dsx90JB^H?pN4U4g* zckmfS%Z|Vwk#Bm0m+L@?F4FHd^nB-aD9M9holn4L!I2~OP<*~*Iyw^g)Yx^lb8mMa z2pVRW{yv$oj?iRYrfyBJS=M^IURVZasqgHA>WIo*%)=f^?o3s(&3_`VO0S2&eB`#B zTVKTWbs}bREGOsJob`~1k|jDh@4=@1W}v-`b&)Cutm^LLVc$NY#!N0vdEGfmci2zHIt^IX45Q6IV+ zr+fF4a^Gf#HDI%Y{b1zh`EXA=msgU~MxMY3IB(}6z|JGKlW}B>TMlz6vc)B{OC-x8 zSKdDIq>raL+ZgHoKE`CCuS!o)F0o2zI9$l**tqa;V&uPH`N|Ch=Y!KRy54}=^et>V5BuR7$(E? zVBNVO0uwrpo z)IQT$kML^u>I(J4pu^loNoQ3D-ED8ikhVPXxL6x6LJ=hNUL=mp}lv~LhR}-V{WYciP^7(5(G0607$dL$3@dhRkonK4WxesIMutW6_ z)>FM{Y;hrnJU@AW4^4c{)(MJVGKa=feQxAbeqFhlg-;?CoYM=!ebIM5RG<1hR-|>r zVs}>H$|dSNcpy*H`_v4w%J(k}pmPC7r?T=eGQ_3DqXVzfWOcw_M9BJFlnh-~LYC6T z?Liyd5=e6;UTxLCXSy?`{{<|TsrRm07F50@ZoIP%=krynN)B5{Wi|AsNmh!os<-lx zpCy@UF*aKkY8(ko6nEj@p1=+^uj8dMAgUEjBG>x}LvGg8f4 zR^=P3v;lhUQ7Wjtv3YACKnYctwX2gL3S`2WMQVS8RwsW%y5Jead%8oGRvDVV6~F>) zr{m*}-C-RVK)0l*%%Vz&+HYY^Gzy?_&CtscPSlnNw$ygL+v~cKf1xBrazDzXeECHD z=j@I_N6I4u1St8x5757z5`h5y2AuQrX9agUB1pp*A8Rud9En^cN^}=jE{P$wV1$cR z^&X8owpGwt=)IsN%GXOF+pXs7dQbw7W!2fXQLyhX#6cB!+a zms@jePQ~8P6E2%5%r!f~;xjkB!Jn#Y1GDFL=aC)}`odll@p%N<;crDt0_*Xf0I z_#}JZua&}$J4~beiRbN@s<9{wd3sd7K|U^sV~cw2Uc;%&rgvzyPkHtr5`8*>Z9I4hJ>zUGzpm#+cZlhA#sEi1D5;~c!{nxu zuuM=l4yGWMfLXtjte3gNPn7l%KY!;=PY5256E#U6>y#Eq-6ZZS!EstLf_hYdH{T6_rGbn>!w8RoESs|t-ygFspp>u`iOsBAR0 zbwDUud2;0(YP*Q~$87Dw!Eg1v{V2oItM&L=s~5e-#6pIU2Q+9NCGd@X6%I^(GR1G1 zU&Sq|YjkT?Fs{6AQ;BU*wLp)aBd!{K(uIDWJuCNg!F~EE7#KszHq=5p285)loQLeR zsP$c#i`}zp>rGG5k6+D>BZ|l(Gpa~ERat(~Ua-UIDC=o|h%|!f zY@I^G{R;ihQFLSW)c!Aw68-xa{oC2_zhd+oI+dc=j}o@DKx*-SO7k4%uo5$P>o%$a zMfNGL=rv1kqRT&hRhJtM!`P@Rm9_L|W6fu>Gx#rnLelTh^|38%Y+K9BG2Xaaqu>O{ z39I$_NpA_EX{H@UP8H;!jS9r}6ww%0H6(^t>nRyw-twQM%ElvBdtzosNy zxe5lDTC8Ms?3k-DDW>QNnToBi3k=6N?5Oo2-fMq7d9D)A+Ag-VJNNPPZjH_)^R#}4 zDk3iVWsUUwU3fFbZ~49GGS@*qByAT4=w4vNHt18JLeHV_8<&%S!P|V>v7-=V+UYM7 zAu=Ad(2@Z~K$SNMof>s)7tVrR7i9+=-$A!GYS+EWe%7Oq#24+M2-=4GO7dazGM*8$ zD8)f&3!7Y&xIwKbn(Hhgw(^=)=Pfu^ELh@MJ7eDaUs0U0E7v=TpZ1jNT|g= znq0j0NbbB^m|9|5v?Ozd#%Q&a?^CG|Ms zdZRI?-so*4H+Eb7fT3)2%#`epf64UFM)^E{Vf6n;AOE*&VUFs5yy$<=3U2=^(<2_g z(PB^*xKd+&(N?og3>AYDD^z3T=Dy}|J+7wp)|=1kpA|X)LED8M${-5C;S~sO#*{Jh z$Bo0;wH1_ z5Nhx^DbCqKcb~EEMX2H7VqsDliT1r`Fuf}^xnxc9_2;Sh9$5Bk`%EYDRyNFlBFArk z=X$4(n`@dm_GHDC_<%~{sK~%kJgoZizPb8fN<4-`xWNfeit&0jtFYqKaayHG#`Z6< zhwRVbk{o>QC{T$oJGm9T;bOWz=~zmdIjS{D2drd|iU;uM%SK}oPxW#ORMJgqm8?gj zn8N49L|l70{GnPszLCCXhM1jTAgQxqlnUyJJ9KPJy3q`g5d8kywLVa^e&PqDS7_~G zHkro$?qlLv3CKzSwoE2G#`1%aGVAv3D5bY$tin(g>n_CfM#W0NK?ly7+Sw`+HIGV=%{vK<#@$k< zknTd0&vYfA1JJA^MsKegi;5= zFlZ`GoLS}H1wg~xPncgk7l0$vrj>ksnwtUHoSqy50dU)&XepL?p>7 zb-4gdQyhKZ@G=eeBntc_wG~&nC7%>W0xuVX(R;g9QK$P##k3l=eQWn*g4Op6;7pIv zwEjXFPVL?k2hJ(){jX}2Gx!Ii>V8K;?*Sg$phtrmJ^RydP!>-ci*czTiiiX4>fX&{;|eu? zTJsFcrs@1L-G-A4b3k@ewN{eEm2OHcQE>8;$mw>zNr7ciaAOQYBZpJDriZNwR1?-0 zd}j~iL%3QNx<3k(xF=A0#B!5+DVF0GBF~$*GQs=?brtzG{%jC8jM=?XV!GXVSkjtb zT(qH&Eu^rf!xhAJsC)Vx-8=Q%@Ia?o{(1EHI>PfROqkHmq)Anq;~NcdH!)(4cLC7W0XSQcICaDa#bmtD#ku z6ncGYzkQ6>=l9}Vm+YB1FjvKXJN5}p1W;2g#Lu(@i`Q9;B$8er(Qq5TtF_# zxnA#i&c5gU0VKBcJkR>oejw%J=Si=H54!#`j26^Sc7R}%et2T>>n0JwN zjCLLu`;rph&y3uNCidlL5M{fs{7^8AxCpu`EPg!pZDp`}ISCuAF9STu8xr>9R%m5Dqr8ofg*9c~aRYSHeRehlUhLrmFxi^F=bRa31wedL@x}spZ+FJjC zSfrIScS=!0s4zSIPYF}{$saZSc<-92J}$^e7*5Qt#)ajki;cNzDT;t)O{$7iV6} zr5i>XD*^NM3@qU?6tK#*V*iu=!#ip2-paR;^BigjqMzugRhEYGa0{EC{K z&>A;3C_TJJsA|o!mWviv1O*G$w&=$b4^kjPlJueyEsnhFFd^RUoK_Iqb+L$?p z7Na%BssXC3r@NLwn98VD=2Q;D57Y;KiOXg}68JR+y2J086pIY9KwC*{aa_mjD#!o> z%?(%0#$XO*kt9sq?*pzvMuQi1EIKfcwjgoJF$PUpdt7G`kr&n)jWmP0vuW$JLxYUZL3=*ML3a9nb zP=E|0O63h3Vpdz6l(t3Ih}V2N7Bgx>APAkXd~n(Idt@u8!3`3{ca$)?o42&m9e1@5^oow#KP}T8@!5)lwU-vE1t({l?Km_dYPP1LKmzr< zLsxq|!0jVFCZpPJW3kI_Yq4+kzw>CUW$!@Rx?+)CEp`<}V>NX+N{l|ozQ8Zu|Mcs9 z*;L@1`R;nSImub)<9_kl@lutSb=X#G@NfX`Bh?nsP#(^zpFJ!&WPkN%YW-#L2hJkV zAv)vCtt7}#>Z67Ua9D!N9D}wMcgMIqFVq1Jccg*qsn#ym3pb0_!5pnP-lm-EDYtp? z*^UhV6!$bRy{dx{G3Fd|$c@DTBT!>N$tP9h%*_QyNYnHgf5dg`+ro*!I!^fmPBXYw zv{m$FO*@j7#-V_Y^Qhz$)S~APz_wxc(OY=Xw-cyl^_ia;EDVOS`HkX`w4v3$LZSU| z<>k6#rElz>fjP=8=mo)Es+^$^OZYamNcGZ-@Hvd&Ci5~k-K6H}0%9F0tj$7lpgII` zwW)vDHpTfx#M>=5uxw6APy3*3AwF+K_UO}ca~?2BsN;3#x#9O&dQ^?j`E6qQd2Cw| zq(F7*mvM^Z#k9A6+b`v3ns(pARrU(MQzS04mS+q`p3QJC$s_9pSv=sKOIQ%I^D%)l zYWxQ8<>r$jLVSE!;|oe5GygS5hgUkzJm=35ZYfqpY!mITO$Cyl(W_%w8sn?cALmBe z*Mbq87kDnRRv%}=+lg4~cqxP&@?-IrV&hhZ6yA*}9 z6K${c>_MDU z(-4|n+=U<6q+$o1(|y-s5+sSdpBk&>#%f@~W>N3?6|F#WI$#%haz$?7AuauE#z1%5oxLm~^*r`^`T!!Anf<9}_n!?hiX9o+_>0r}yR9iOPJG zXxb%Lh?#lFkKf*U8}^EjZozCBDzF3{u%B^HsX+DtbCHF z`Xd}a=oQV_No|%YWL7F$6!oz|_K}ks4_mE0WRpeVrao;t-$Ty|fmD-3FB7x6@9>F8jx!$bfXxpdWT`0$&{O{NTy zi5u(uX!|zcDWO%NU*4CfpAO9_+7U2Ui(5S>6TvqEm8%|~l>YfIWp}F;x#Ss;>OBj@ z=l_Mn|DRNE>3`yS|IOh~{*UQzsD%}hos5+0oGpg_ISAnm(4lp-WbF~A!P&Rog2>_oG z2?Uy%hS_a_pk=@EMcu$^*S8Xw08^H)_i}of119c$tnz$^dC-1A{ zpR2n$DeZ~yJTWK-=WYAuCPa&1mL7&^z^Y)(3AHNqaGL8KT^JaG(}pJSvm;zcSnG7^ z53y8;@ za?`&gb;ocR+t+*Dl%})eZf8_5nQ1Wb#7$ngM*1i1g_ z$fj&&;c9E-^nbulPU0j`1A-Cy=`yksYf`0t@!onNUY%b{!=Q~CaxPMm-!5%ao!|z= z0@TBtNeK5t|0)Bn&O6t(H^9={`_lzm5Di8x~rklNIJL43A(0X z_>GjpxgHd4S{>_}+NTUtvCRVd=(fCQIqQz4ido?ar)Sqp3Y({D^J5GGPOA;HaM!sz zkDdZYM{2J|<*Q8c490VyO@Rz$;j*2xTE}Xk#=TnERDCY~Qu`?TE+zA-8EcO7@+@wo zpJnMwm5c*D&9f?|LHMK~B9oN&?|UEV_msKQGG7h$;a;|9jfJluYhxT~lLg>I zQ@a{=l%`WdG-hZF==&}nEgzF#2l<1MLuJZ?Hsygll}d4%qp)m0qpaICiNPpMPbtKd zML-64yeriv+3XlHW^O+rb+}P*wP*mZ?}zWD@-w$5i@v(pD$V)p-HEU#?lX6EE<_Selj|8JSd-)w$$ z9R++1l-yyPx+}Up5a~#8>C7rd!z7`v5#ZAPoy^Qf#$O>5Ic%EJ$$L?}*iDAK)Bu4=tDnq2nGXhG;a}}sF ztV;5kx7i|J3)L~o1${fxamOv1O0rXxUFh@R>g%VZ?4 zI#CMH-I|&hj)4^fr?ga5PXoNt1XiA&qF9%z!}(OzKG`1QoA_9F-7L_;MW&3U!BMkUHt=|G=A_LfHWrRO zptZ0%Di(5@c8W@xDpP$`NmOQ;Zpx9_W}#T6Si(jm$^B z4{eKQDOik8n-C?o0o-;x9*XX|09sAgC(PQ1!k1A;isB=Kh)>G44`7X}U;V{GTE9)~ zZ#<5?h{~#tv_qm^_nzTgxQT_qd;K8q7A1^tU}x6&-DKE)KNrvnricIG?UCz`+COnv zQsfd{^t|B66R=29|J$&s|2*uI!#N7yxlPn7!CTPD{qn2(+{Al81}_5K95C+$mvL#5So~KQHKx z8YEF440?`8rGB&{(N69n&Z}=9UOrP!0G}-O*_U2s5_VHGtc+lB3Zuk^Mc@a(&!}wr z?2aGl1Io-$IF_b(WVDAX{4`I1@j{04xhuZ&_#R3!8gGpt-Wy0Vs&wSomnjrcTR65V zbiwnsvMHS4J$=-~v$3{*S{`di_F^hwMav*9tRK}?_gj><;M!TdPd@?tiHin5@Hk_rh?9Xt@L zXH_jVPZH19Gfi3`uQ9oMa|WFBn}TvL8aBe1;$6y0WsJC3*rZ>!q(jhAphihU07$Z> zPk#XIc#`fZlGu~R4MQSEwM2)pFA>tlRb+>)F7CKi9bc}v8J_z}!kHHWS|Lnn+o5j2 zYmjX1wRDjT#}F6@b)_*Gg0Rwr9dIG0C?1?ivD5m=`#KQpnrQjWHuNkscA%2n?4Ky?uY|Ch|+cy6fW$zr^>DFxvckGTkPCB-2+ji2iZQHhO+qRu_ zY?~e9`|We~Ti-qV-gDl2tJ0Oqe_hX9bIrNNm~)Jz1S9jZ7D_z-3DMFc!rTw^Q67F( z9-yqYEFb$I%vw4;+R969y>{*@Y*;as|(8Tfc?2Eti zLJIa2{(fpw+tRz7-EKK%P!-Uds%zlMKh{V)`kguB0p)}fuCLYOHOQvxCBcdRctK^>T+Bp=fcIjCHO^>%;g}drz(bZ?=Ool>A9)(AbOX%p1@3y?16q&*#Sit}kV6zG+C8DQ%s!JQ9NYPZB-`A{XcIr zmhM8E+S_&LCEE=&k|slqu+q#lYm`!8IT?*C(VdrCO;#hSC+k%qP_-nwr)`y79_T5~ zr*nUyX;)sN7H;>azH@(XlO8EOVgW-1+cl(5nQ=jNfJRB^;qrlbx5Lv?(!sopjUz4UJjoctmXH zt*d2g*-&5klh`bZcb@e@O1*~4WFw%jdVpZ~my*Qq{Kg0zC)~JM0?Shyop>1QlS8Kh ziu{a}J%5z9@WNCn++cS92&ss`ynV#=S)8L}a@NQ5`<<%tH;&ED(A;h}g6YrTHX5~a z=P`6fVa4H?vt~(xZ*V2H9D(`45Ns8@j6{Kff)LX|H*LYRv2!;FU6}Q3CHy1)Z0CCM zCeYjiL2;fsf>06o=$Og2$^#540(8t={RVYy#d%bVZ=WMxv$f&j{!h9FuL_vRP*QM#NUZXYv~r>l9@7bqhZez$r;RNJ6asaLuS z5de?9RI6w1bFKs5E`Jkt#2aDUfa@DU%`I}yE%f%a!TP*zd%~Z-MSsV}Lfk0_k~T$6 zujbj}$1?FtDjm49`(8ZH35lI6RP=zNP z^0~o0BHcAO;g&BV-P%GP?@^jpImzbhWq@0LVrG_ddJ*+&pxe^c=X4s#{JKWNzk1i^ zw)e;GNBpmF6u*1N)iJ*9qRNE8_(YeyoPD@L`k@amt#}|Q{K>C{##X)zZ<5>u75=M+ z?8rfjUDR7#n(;!^Fgt#5U7|ZMcU5}H_XsK5^m${@PXV?->qFU0cObkH@3bUb+5tRy z`BYH_Gaq*wh%*)HG5*tCdu@M0W^lw9AYR8&SGg9*!;~P|mNKEcYl7!ZN>f#0jgSge z!3FbMQynf(s@b>g);v`^h;8&IhF7i)n^3HS4e^aZmVOX(bF8?Uxy0}VX{O(`Fjkb+ z?G9D-^cp~Tj35JS(b(Kk65E0_DpM{dfS)RnES;#qGiVsZSPax91*4{ZIi1|7rF`w= zHhVX3GAsS~*VW~olJ>Ny0MNz>O(y=Y7Ppw|8@Sd9=PZ467qv!= zv14d%V%IYkedOyMH`*J^D1&5dh_R|Tam2E_F%+hLyhxQ>*rppm!rA&__A$J%)?b({lUkJamdKoLI36Y%okw4v zO`R0t?OfZLR*lRAcS6t3g@oyP7O~#^J-7})ba;ENN)RmmjblcV0 zKo5M_a#R_`LVf%ioK|^HGYO^pDdmDo8tE0Iti@aJ))t>XMDKpp@%g~#J*#(t;vf|b zQDT$3Y@5Xv8GvChqt^`e3$M(ezpt4K2J=R+9oIh3VT1C!_La;v~Ch3JCB#~0eqi$lk}lHA-u zT8W>>^rDg_!S(!xH_o<>1os;z<6`oHm9b}Y%-g%m=UZ#99fli|GxSYkoV0`bc$-FJ(}zo;gj3j$i#H4XHS;Byv5@rwNTu{_}z^z?djJ(Ph85=dol3w zQ;0m<&XgcE4sKn_fFMXWqUsz7iAD^}b2bVsd|FmRC$5@J;@r4m^s{EpL)ncqJ7zoZ z{j!^a=IqG_5L77CQ+Wn3CLTL<2|;#wu5dy3FujCA&dX?*B&*X;QF8bIwuhmp#R8^= z8mm)W7%&tJjSRSPxepI~nb?A!MM{X`GDA3yKckFyLk+C8s?c|IW0+y4`Vo~$KXL;Z zUM`u32xe*nwEN9ByzGJMOU?bw3&&6;L{Z0UL0>Z(yzM;p63pWg;+I3w4dXP_D{?A8Ai&2&6Z#>w z0`CMYC?P3fanPWZ)_Mc-PPU(w?926I&F~0dq2qovIpyi);|bi$oLR)@x6hV2xSQy! zf!us^2AVi8oWj?5%H;r@mR$Riz#c}@+DYw5+@33-1@u=Q`j7fUz2(U` zLN*pQ>flZ!g~8zUhA?E4L-y6@Ngwe#OmAOLrainJ-^27W%P2tZ(?u7sMPum08IiY) zA<$?)U=Ucn@iQ25j>kW3x&FkV0Vf$Nho76DNAw!#=r;yurDrFWx!AfrnW>@*)NpkLr8j(FKO7rE-Ik1_s-G_ z$&ZcEZD)W{_1;}0Ue4wn`6QsoJvr~A{jayFmQ9D@Dc~k;0l?m*|2=s5pE+u8ulKjk zagc(vEV4WbcMW5fSxCNTW9VXdxGBaPzJ5D`00EJCLOu*&e8)}$0^5qykb~Lz8qcYeSHo(u^&<7mq3soP_^?YL`(m*)bcHM%~CjYhpSvJ(u4 zk;D>N6*Lm8W`nosu;uN9coLT99F-GX%^_liklGIH^~ctOJfSoW%*5SQnn z9iW-Zx%s<(+xm$^X90@4M^Wbyq($r6repJN>Zk4NJ+ylV?XN@DeKg%maWNHtCsc=B$$4uL@s&4Z5UYoIK{s=y)?6jnK_7t^(BE3X8 zA&E)t-aaFjEID+<8)^T<0Oxj*HYPJ(Fmr-u6)9+GI|T<0sK{IJ?A)`gpqGZN6A=nZ ziHi)83Qv9rWI0r0#5yM-f$S&;Z#xuEpmJ(_71qC~H zWIu6gnRLyJ+ctGmvuNIf)o%6uXmmmPus*8>=Q^$ClW<70*R4B*?SS?>KB~R6t?H5L zXywQEJ-7h$crCc3#b0*PIM}`42x~b)k>&5bjEPH)Okmm~KXL1LA%FDLQ;JhbcF8y) zkR*f#j<_-9`{@pdd8Sf)|jK_T7SVCy+d~i^UhDr9(MX_RN$_2C`&@{p-#T0d; zH4H@I=%l2=QKt+^9xTs_In@wtGQFz z^eTz5t(na;!y7)b83QXf3{xBCjv{S;*RYku65snXhEu6hO{eC|wG9FEC{GiN+>RF3hFJEsYbfo<9fdo~EJ zPX)6a#IMUH+aj4H-P`@)E41tnUCl)CbPtQD6C9#?%D3h@&ZL&X%gZc~m*$#^$lNd7 zt!@1s?mM)F5f{Er$RyOOj~7V?vKh_SyMRd4C$856s=4h~zk=g-8aP#yYR&ikPT@n4 zXD-+M&OL%pW3UT8E+ZIOB=)<{_efzyK6k|AI}c?=yh_gQz!>g!wwgYcWaN^jQ4YVJ z!o%l1)9GuwWJL;GE+0VF@(^wxo5@8H)B87(4%Y+pZyIl4vC*=Fko(15W!S(}bOKWXQ+82zv2`l?EpFOxz&pu1!E9izds_l+23!KK`=0`@2i$hGTYvuLTJsLM zh0L-u(*JhjcZ08m;tkA;>J83|<_*+?!s8zkq}xZ@U$e{FPuxmn*^-SA%mM zlcSA-k%N(=u(Of%-^_WG;`U#YRG-%Mr$-~n#nj2>;^O2I=_-5hpiS=-X0gB4a?6}f z)}1}9&{zSpRGK?W7+*l!4}GdSu4RNna~N51te-?9h&>(Z3n&QnAhrnEdi1_^j;%2QKNm(e{|5EW5C?M?otG`uBM>7VC1d$C7!0k!A}T?e^VWO= z@t?#lMOct1SS?f94M^b4igjGe&|W#85|YhR)6vHh!okf0d|RmK*FhY`9ol6bejCX= zHX$@C)i_#6vl3Vi=UU}k$tdV%E7e+X>lyR9jI22B!~T zPUSisIPJ|w;LXP>;|l1mIpfu^=HZME#_f;I797zVNC;TK1693^-CFdV zh!m12VhowhOfA#)PFhA7-I1QJI1As?X%b8t}#L{_sXMy73*$L zpf*|ljFHD-23fv|^P`W%YK?C9!y?0cR=dPBZ}C^gkp^LpR=s9c=H`K#Y4{uCp(w(kZd@z#9~{R^p2h=0 zB0K>~Qg4wn{NP9Q#KAg9v4W}jBRVJ$VOR&SU4oyT;mf|JtU>!yiaXx8VI_ufv-HwQ zrVC=XZ%Xu$o*LUDtHV(KkI!Dxvqa0Qce3d1OV0rj&F~){h8`Uc@B43JHIuwL&t5Tk z91azpV8AG^k)*NtQ}@n^IrR11;R%U+bu6i&H}n>Nj6uhG=*kR?)kns7)k!!Pj~#Fc z++$CRW<0ym!aS)IgqC>2nCiaAGSb)Y6ry3|@l6l?JjE4zRFB*@)IjeQ8$qwRFFEN% z%*%?NJ9{7xvxl}i%Lwv1z<-DoLa5bDQ`v6cgMaYoG0 z7d~z*gqNR(x(uA$G(2Rwz}_e-q8$&iL-%M%nAmU`p5BGQv-)t6U)=ZuhKc@g02k%l zM9b$t79}zEaTF*3)#dU3qPhr}IRa`6004IUmvnekg0>BkJV0Yk@a2l)qqax@m3ki7 ze7RYzsjABtdnanm$p+`dBg}tZ zmpmFu&;ZL$7k;M_3*0D>Jq$*-66u3r^+_A*aeKWd4`o@Uw$&`-VVG}sD=Divkso1v zrB_OpZ37D?GvP_tNw3dTYYD-Wl#gvMdJ2s#oaE(F3U5K;XK>PrE|@yBGYp7T>|QNK z$<#Xbw@+Zrv{8O}yWrNrH&O!*m9>?1L~6g8JNYCAfaWp3$IaOeUJ)|@uYPqA`+N*N);7DqCChR``DXOp1W~0I9uWv-8mMK14vGRj#3wD`Q-$H+) zm%WDf$w%nKGKLtzMcwXiIH=e;B@J4l3INL}z#_ zM2)oHv68EfpN)sDKoD#2O@*zLUjlBYH{9Eaq)CP#sFJI?-*x0phnU-q9|Xkx7`{Iq zDhE%#>If>zbyPK%*fL(pJtRwP_HWX{NAc;C`)_GxUi~?VJY^VOEG09@^2g#cCk@PA z*`*vazj@zgzf6>J-u?kb9i`a#4+2hIC4hPO@6F!+v%dU&A28Pi>@SxY54+c^i@aHn9>%9|*y~FgiY}CzBh(a8&n`Fvg!QCQu#4Se#_oz)yvU zEAA!{zq2}{y`hgTcI=7~RPr~X33~MziO({?tD&P97qbz$MkC$)qN16`(}(e-b2$UH zVaa}hOg&0uVv%`ij+#-o-ZHx;E9Z`c|2}ek8gn2jU0Er^)5vY6&Z%KKb`l$bk6*P~hlgs9uYR&v{3YDZ1)`JEjYQ|mramOu zD;+tHDGV&0(h?&!|O;GKh4>|Ku5r!geQ{slR;lcYQ9 zCI$CyMR%{`fIO#DVihPZOR@?7Pd%xY^ZdlkD)1(M`ks9HF?Y{2X^#v(DnMDz6)P@6 ziE6KpjDIzNp)VBzf>vuA=O%QWScnBKt(>IP8gn6aU=kG!Od-}86(GQjGTCbG&%m8X ze_q}brt9#Qhz zk^^)o+;y9(o0-$syAgDT_j<}VdUUr%Y$)Zl86HWMaGHgZg_odTNv{OYJAj)vtVJ74 zJ`n6`s*CiPh;(e^c%9Q1d67D`G^sW^3YZ0EMSnC$f_R@1ykHfRAvGEx2e*_Yp*2%X zi1_`P>}TPTc?^Ug?s(x0A7l1tXr5@d7Rf25Oo=EIFFw2y>0PWy_A#8f4ANULxU$?654uwdnu>FWO2-TvGq6T;&!C>OaxZCs?i`Or$Lweex=X)B(6^9!_A zPa(f28^O!TEl@4U)6q4GYeS6+kHU5TD^TIxt%Fbihzkecnxgo>jLpC9DT}|{xVaZx zQmB7Q2xsSqdO=e9hx=oi3S}&cD)b`oq+U9cMNH7FT8F(;#)2Y=znkv?21nDPXA?zF zLO5NHvOT7=JWSq>uV-|>8Q+KqlHS>I&Byiz1|yIJ(FeL^4x(fa(o^fd5T&KDWt*Rv zT4xX4X7bav(>%dMtJmCf2s-9zk^R6Jmb^Zf>095jZvBtG6ccRbc=&GXdkvP2_C&>+ zwN*5JeSIg>1VToOHmBE8aOl3i1uU zyIAy*2&UK5PD;lP?&k3an{7d4)5Chr^OQoQ_dEiZ4x%!Vj)nWSX8D3(XP7vf~UT zq5!+g#;S3O+##$%af~j&$8p3~@mAQR|5m@NS0EBq4udT4;l7o8{|B&28aNqagC(3lx@ur z;yY$Gt?_Z8Mj^AW6ML1BE)DRdoET2n#c5rO#7tGq9SAf1kHT~0cVq}OPbXP&+uqQ}bk7D4bbOd& z9b+Z9lyyI7w)kzZ59AIurKUi#`J57bk;W^Ncx953Y(oi$%`+2rVcj?NmA&gCagyWe z%+0ipo5G^!#Qq%oW2^b1zzw$+5Q{y)3!L@;Ef&JAA~sI;|9J;xDNINZ0`8!slHo`W z9#NCUG;M|mv-qnd9AG3^8h`&E)y9fuFeOA~$uccu&v4!olM=SO5YO^^RT5%!EFf!g zPBK}VPg>TS-tOM6pgX%BQ0kVbb=rg91@rP6!!ux4CH^GhFGJ4|4G4&uxurgIFzn^8 z6B?BvgXgD9Zwo6tQc{+^BtlqG{ZA zeWz)&CCQCj+HpaMR+vj>F5T=SNyZe?&ytd{XKE4ggTc(`Al9U`%cB=IV!`MZ1miVf zDg}sfxDoB7QFIjYp7*-%6LBnG%%d;dXmVv!rfwy*m@YAy@+>>QM1g5t7y=6d7pqq#a zLRO$vbJ+NX9esqNWE}!`A+9V(c_YJ$3gy;24X2?&0!x(iSlnS?{ZSr0sm=kbRLT7& zagc>ea01qDHV)mj?sX4IzjN+mh2O85XxpOXG$H1Hqc%1%PTg{?W35=_pJfdKws2Z! zE`rn*Nk~?gYiZ~C&Z#s^(_WP$Y6(r>dC&JzTLsar!T_y*>(PY%;OLL zEn|Qd!jJvhNxHc5r*W)$ksP@`RjwmW+OO!;{CQ1Ry0X4X1JrlsNsXJLH=H zBsf@&KSES|*(wfge&qy1^Xd8uLMs7Y{S+I%<&oz8*I1Pb{pHk~sFFrTrLnpi_me)? zzMbarcmN0b=pDAOCf@(rHdJDs;3oq@7YE4S|3Sh1KlqLREp-123z?;$325)oxmS;h z9k#AjZ>;Y7>ZeIL!5L8E@^bs0DuXdr6;3teeUf;fc%DJt<@Zu7Cp8h9VlxvG7Ve34 z-|k)?V1HqqyA{^O514yg1=?+!O&2mSO2-(&dt8T!v*ft$e1^gE_I(E_W5^)FK zkHr|C44yvYR1Z5Z?5^fZUEc>QUGfM0I#6nA4Bd;R;Z}Zk4M5WN%Tqo)%(`Z7%^*@i8cYDK zN_ISXH$w>N-cT+6q8y{%Vz@?)?L!E7d!ikrdugI$iOtWM<07X^ka9>?=?ILpHN8i? z@DsyiPj67c9-^BH$_64F)x0cF_-Tkfz&4cL%84Z-yz-G!NuSZQx_)Vb!Qv<0k<*V- zmuR#wINv|DTdn z7?T0!NATkQNw(Kb3(@5VAxeT9DM%M=%7q|ZyWfSOX$it@oND(%$(`o<7vF5)6w%5D zPuVrGn02RHUq>Cx#ks0()xiN`paSE-|rRxEYIx z7WIREp@|NmiV=}q(Phlhvy1~)=dyI6JowT%U-_p#s(A~h$o%2ca{WFo2?yQASW~1B z75vq+)d}O|7ZZ`$vg7r(wb8UB&vEw5xpz<{H?QJF z33_mV+=#*m@%;nuH20dnnN1%dI=iwo^&U}vNhB%{DdoH=>>mc&%f}8on{VoPy~^Oy z@tkl8WU(RRR5oU_-Yip9T=VGqE3en~7$iQdLmb$zA(O|x7`ovY<&RJpyR*Z{D}==4 zhUCUn?BROhFYrJju?-t8B(h?X18l399WdomSRvf+cbE-27I-Dvv11j%d9nrtzTmZ(3!mf@+)((J?nZKKV z*$$ZjK7>qZY^=!pJ^1+`6fHrB{5n4J%0jWk&x_0*g17IhCPF-v%0$pSzA*xoIMCx4 z5(QbSt8tJ2!7by6;J2SZpo5|#y+c?vdJs95uwwb6tydAiB3muy(KhcXRSyb zVX2=5e}!dxETQTpPgZa>3(I3=iI-F%)=?*^U2iK9yFNYaCYGu7kOop}rlh(5mhOH2 zx^pJoHUfp`?tj=2>MvzSZeya=PrFh&qT>(IwG3}%kC`(e(fIygEIR8K@*P;D2bEik zPJ|SM2C?~AwTklfA5e}W6ZTyQ0>Dt6_FD{ zDqM8Ev>QMlvm9yy@%(=^(+nOv&AiNf`F!15FW#|ml4ukI+r5!<-wyNsQY8;`t3yd zHC#e>>BIuFt9TC2^dV$#V|gfq_ihevAt&@mmid)&?yJr8Q$X%ZGU`*}!KZ5OT>sWa z=~Xl8Q>LKjX-?u5BI&O*fvp)qXD5NGRqHhM61khW{8RI-WGnZDoER#`@yIX4K*grEWHreM>sNJ+6EK zrE#JWoj@`q(#NmHDH(f;_>TSne)$nOx^G-eKW{hBa6fn@;vK_gss_1AKfvIgDZaU` zy^*v{m7j&Iau-R*OcU#nWTE_>Ui#}RV78g>HHcZ0BUNUwO1l{GoH?Q3hnAgzw4v>d zwHEjHDk5wGuF&UfX3>!;qQ!i6!a(!ac3-BDX1F*yR_m5eaW z;#r!7&$RXvDfCrK3q#l8`QEq!<3)3v&Wy~%IwJno$4<`FWRzC0x@|<35Sw2jr4}=W zkqKS5mBb74*x^=!f(pXpbl_4+LDNle6VepR^xUf~iwrq_)c3Qsry_%6K?dJeYz9Jp zwRl#TISpRgqKU6rL)Vx7iXIH2#tu6c$V1yW7zWA=FI=}Ob!RBM6=UG`yR3j2ZUa69 zCZw-yuyeUnV_;6(NFLWp8FnHB%r?fBlhDPT=2B*i{@m}2JCRDVvV^l97pUij@see>xruO( zbS6;lrR9+rP{SkeNO9@>8kCmY3lCn`H(ZuBV|8)A9t!|uilI(@0rp>t#vJ#5f;95iTF5+I%_Y*3HoM||D$FiQjBea}s zj9ZnuI&Mw65;0LtrtSJiLny%q>>~{l9rB*#QXh%xD{A0Spsj{F^#hkCb!L04w#bqHj|)Ll+lK z;mxUU>__qa)2S3Qo6Hq*@*vNB@LO|TvU!%v4N37{zyNTnpc4fAZr@^sL(Vt7)uZ&s z=;`VOoJ;Mjk`4~eHCY$uCYQzLqhHy&q0nS+L6F>|#~koCGFjXB2wOv!p*{ZT(UB~H zbw9&pVo_`85kx+hPcxF%$|W_jLa_7cZTc&Zp88K^7jhG$%Tq)OQ+#osmA#z-A` zf`Y5(0e-6+a}_8?Ya5v=d~wqjdcTd=6H@zO$`ew}uUmsB)2=VHMjIRD;t`wR6EC6+ zAxQJ(+rCxg4&CdcPU`YFf{O@&hcEsJHEwNXGzgD0NLV{O2vWahEBTh%W6$ao6DN}~ zhThv*;CT^9dmG-Oz|KuoMV{KaWNOYuEqG*Qiss2xzRzA&lcRhPiIK*C{~VYWnGQC+ z?WsmVFgvEJ@_mB<;)1^tZ>o@F-ae&Ns{vWGKAP*000t#~GzGPdxPz5uqD#Q>&?^W& zB8R))SSWESXdFJxdNDFh23_7^+QL40#|C5+J6cq_Vur>nRb{dv`Vk7ojoEvg{GdG2 zk_v;hehhJ6jRhkDF9(~EM6`Zn7$KW9E)crj3yYhk|B^9_Ld!uChWa_0vRR=+FFQ?! z5azLoo{-b{OX|pPR)m046pEeJ7wNqj%_$R-vpI9xEeI8w7Dt2y_YzUu znjwk(H(M%Z-2qakR<{*)4W7gpfP8;+3>R(dTFuSVxqJkXE55__%%D0j87KFhy{;Om}-s&{C-0q6a2z0)@4emrp3287ZD`UTOq(tVlwtSQ?E;i$ z@LgnY1Z92*jz8Colpt^x_bmWmQy34Q#VNanY)&EEN>`jtzHwQeRiXZMLt-Bdnv7>E zRrGZml%379wGSA}u zNTt9xfx}!ul(X;fxIZQuNovF)19)jXvS?KFfyk3yl)xnaj;hft1B$ol%@#FuwORRmshamTx;XZJWD7W;qmQ(Ache^O2 zY{SdPYo@pBf=TSfv+0qln2v9e8Q=5CouN;3*Tbx^%J3y#dI$kC?I$C)oc_#JV3Kb7 zGw**%AN+^aYDN1AI4D(viyz%qJL1gzxBnT_l8*odS~i)d$Iu(c?D9f5YfXVoK~l-k z`_HOQlA|vECHM+!Ho+<3sWo=<{!aO6RZ4xGD7S>nl#ZcJ*!w2?t6L@upv(Q-y4CLQ zWJr~-P{IuDXGv*2@Ry17yLw9u;ptGK8SEAyU-<7fWaXr-&d zNT68Z-LEtL-7;0K%r%89T=H}K@@s_0&BEAz(U5ryAg7KeT_}ilaQgZn-HrSSA-R&s zb?4IIj0^HAWPLiACRqxdsq>wQ4A_NKs&gpI^WxsIGPlMLmk(^#>{IKx7JAYhVg(9Y zL|!Ap7Ofg<%81N6jkT0utX=`xgQ~2bIwg2{E(s7N+U)QLm+bI^C!(h#*zgWQ89kJ<0(*qvz9lMRiHO1gRFXHR0ETy0us36CsTCjsTNEVP2k2k#u);uozO}R+U z3?Wf((1ZB>%(z;G3vY-C+5T|vL{|N-Fx**By$XX3PZOq~KYV*r8`G@^TS^LBoc1Rb z8EUws@CMoQu0u{r=oE-}BE;KdiYPvqK97CB;1KGI-Z8{p8Xg>E6x6>1WBz^$I!l2_ ztea>o8=}TOz!y6wH&+2Mp9L{v1y#bYBF$C#4$1ix`o|ZVJ-~WST5)1x(VaP$=w}Ob zn=VxUjB$~a=8Z{dDv$r*6BX<&JNhSkV77@FsTY+E)x^(W1g(oLQInHO6wjPM-$T=Q z9wLxU9w`1e?2k@Z(IH4Zyh2^yN=d|CP;}fh>xwLG6NJaHyxWLez3VUHiy6UYsUqFv zSmn*Y3k<%;I8V?olF%?q8`P$tam?Z}D~F|!u~O);QDl$c$KdkB0m#`8y{{v)HT&fB z{?CxZU(zdIq1cs>Z|jFY5guJe{cs;$^nJN7lgpam+>`>}o8{zD{gi6iDG_&blIE~7IdKpDX}y*D&xW>+4YLS*$x!(& zj1e2V#<6;DjAwa7d-fJJ2v#BWn|3PBsW#E>Tx1nzFcx)=+t4gDJ@5lYEfEVJFONSs zr}uXhpa~)@Gm-{+zA5{}jh{#!l+YTCRIJ=HU%W!^?W@Y4b%Cq*&>SL|YkgPe5y2Zd zl&s?w$%z$_hY32epJ7mVXYDP&+?|1e|56siSD37stKr;u^7my!N7%^0x0#a+UGAO* zJIgBW&LEo@kGsy1X9xf3dPS0?72&Rwh^a%irx@+l8C^hNebFiKF{%UN^=DjoP2I=mT#k5@W*GzyMQGGLxsg%*_ycXT0%M zFTfx8BUfJdW=}JMILb4}#MFpCf)nQ_abn9Yf-yM?>DSHWMwc#tXjM-ezSCN_nksVnX_M`LjNOG4 zl8ycm>_}6*ok;3){!cME?4BS(A^_$d4gmE29Ul+CGnCA%jAWhuHTJ0RpHkfGg-#c( z;t4D$0=Zg>BSlVr_Hle%vE>8`LU>51Kzn_5$@NtRqTN4}Xm=d=2+D+r|3ZN#*YbcU zh;*hSO-yFe*tf2EyS+hbgF-MRN-NZQ%RvPN1pUeNr2DAhpwFOxGnbYg*Wwot>oJC` zGi=G*s`mW|SPQ%Oc@_?2qGpP>a&1K!9cW>-j_5O(+tM#{!Nvuf$dg~+WpiXO!cP(!{(mae1b`sBiW zaGh=Ppiv&T+OFH==0v#jP?!|C78?E4m=k2ZfCsBD%jQhvIb;3`)Y2|0h^yg9vgB+) zo)z&fg92%jqc>(+*wEJ8VpF7iHp}6S&E_d8=C}877ksf~hsca$M0KVnAUwiObBk$o>M3*5$(qhxv0Roi<73f+E=6Xnebb2H0Lz ztgdpUJ{X78iT4roQ*_p=ZV@ z^n|&FKkCzF^9i#dVxpDEQkyMYjXP7`nt#Xb6$}%`p41~@Ob|c1?c4;4oO_!4Ge`I! zGha=NN1#nESqiZmJgZ$tekh_!5*H{^n-QofK>5386sCVOaQ5X@J-x%SHMRb5rIsRQ zK9ZrE4nH%+tuP{A!K|NUNkV8%3{iKc9>oWwe}@~9y&^&FiZN}4#7}Mj%W1|d0D{db z_eCC$dKqCY+Tx`1AG7TmSl)QnfMojsOdpc`8>Umr%;E1e3;LI{ZPP+4oY?}48B+R> zwL5uIzjmceu`m>20VQZ#F(o2*dt^$>G0{UdvBSwYke)oW=`PSPL7#6vK_D)HzG+eP zAGM{#*OOP1-S?3rx;|d)U^fVw^g?#5!BCYACU^0y00Co^Q0s~8hjHNcv~AQ-r8jEP zpYjRZ$1k-V*R60KJ%Xh7P2LMv7i-lAT|VfyIum}q8keWJikB`O1KE~q*%wch=G#t{ z!*h9zwdVFaNucw`U}OgomAY;o9dl$!;sP~|8bpRyOW!YAnwRQ4tj>o%{T3c1CTWPe zIDwJp9ohqvV8;lLxD}97t390Wrx@R6OH#`xoM#?`Xw7B31B$ zjJC9O#s(+Z2V|F>WpB6vGCZhCb@~sl=U9zFv-<}DPETQ+?+2WsA3;p~U6-zz?Fl`Z zk;<=e1v{j`eW8sqbJYSWu~}rE!EE@VqLIH#IU@Hkt8VRpSIz1fk7bYy!Hnr4q{qB+ z-#AtyKV8dQ-6Pus?941cFAqJWJzqaQgqDth?+y7?Nz7O!S)}!~EQ6{o#N@felLO!D zFN$jUhR}cF3?lJUN!LZrFM10g^NRhH)P!3`-OZPMo+F*4--Udoj~`?cAj*Arj4yJg4IC;Ds z9AT-=4#`|rl?~`0_GXDXyFTV6AP;~<{wn7`%Y(J6r|VzyvYmkP@b8!bX(KBedpAW# zdm}xoznKB~Z3}>++^2N{i&eVir55X^%CVz)#u@Nl20MDPW9R7?6Q5wSGM zM-56NND%ky4jyr~2bTUVzbE_C`+K)T_uKt)i^Vrtz4O_+n%(Yb>__OHh!IO3%s4Ir+p@qjPWrU47c%H} z9&{NuWnP0Hbm>NcMGd17ZE7J$SlayQJ&warL6wr-RE(xk_s*&+Faw56dx+YOTg7D9 zQN>)vBCJxtw+aQOjBj=O-fZ?Hr`Bsf6Q7`yi&Gch^pM)#i%83t4y(Qgih)a2(k*_G zr}{C#g2c!pA0_)`^ke^u$-C{rq*EdqS%KPG9T|YR3a8|unWh=h6N%)0Rm%FzmO<-0 zI2LtZtE=vC+)8%5QlOVX{zi#0bJdrm{V}W`YULw z9JKLA6~-?N&6VVg8A{-GgG4D)*T0NBL{ z$NKkW;_tO>z)FUb<=+=(mzt)_U+Wk$NE}w_^YbilF3{nLpk!U8E5p!*)F{wknB}=z z#iz62YiVraWTCFAC~`M6u0C?OoK1$PI7CF*oVB=M2HBPsfM8RQSOxOtD|E3TXJEjQMFSoT-EJ99c|)it@cfHeXB*MW}wa){3nzA)_ zC*S`GgW@$l;8aaYk_2OgAKVBn?W}ZIZrw+VyNo5K;??y2*LdW4K^9Zj2ooHme&j6Z z?-98l(dV~HXaOB&mk0qPm}OTn=WACFgSEyYOS^Wvlc8n%g5?;;*Yyhtm=Va9r9K|^ zT>4T{g@0V7q=(?T*!5F293C76Bw65zm=vYW-Wm{d3Y5G4ACgmiJrjs_4$I!~<#L_d$GB?oi9<<^1Jyb>nvq>OL# zcwlTUgkv#@`_UqtZKT+jsi#F1VMiQAKZ=>Pg?^R#PO?MC$Y36{ zYC+qy88jYfb@$qi`JI@qSH|t|WFfqvXJN$pFyEvs#`t%eKXS?bE6~f+#eY`Ga@5)#9sS-pUm}OTUk*#7MpwpCP9)kz6b7bJT_LoPo zo>LETh-K#dVuz9k*#TDAMvqOlCSxq|DHd*QI%k@##uADA8shKUQ4+BQR@t7n4R%@l zErlAnSrkO|G5W{jX)b*FjK4a$Ygi5xv?ck2L{6m0Ie@~x+aczA=I@x#STS=QaEiwbbu-N{Dbwro z1(~yvBHD{fr%P2taB1A_hjYL;kg4;yHo;Vhj87Acnplfcg)I#R(*eXx_+m-))His_ zJ?-qtZ6Dn4zrAWD-MHi0H*g&9AN_A+x@VtSdbDnDteH`M9`m@g7=hJq1YjnKh!#>) z>nEFh5ypQ?3YCLI0c`1Y^T!OkNh8QoNIX@OM4qD7TOM2SXdC@W2DJ1AUS!$>`G$Bv zW@V9C-Z*qt1?L#1G*Fm^9VU@K5Fwoog;2nPX_41hODD_ z%*8A=CE}|>yoydX!1Q6#AZw6P%La=zqu3;lg-6?u+K_|U7HHR(rw6vRCT8x^k!J8+|1IECK!ZjI1ZQ|lQrsHUposwX zEWaW#+mMgztv-FX@$lsqKpjd_)m&22X5FKRV8LIa>5RctY|}TJGYacW4SR?6fU={T zXn<2eFa8_7E;!M^pKniqLp(>4jaS4rQxa>q*9mB6j_II0q|n%Gh!8>rpG%yTIk5451#KX3Fd_QXjb) z)%eOdG(nGXe_6J1Gcc>9-_Gel%67Th7c+(0D*T9c+_6oc17G7yJic2Tm^$?#;)rmT z8C8QD?c|}G+Pzgv$~yN~mRbKXMm%>%OBi*WzBL8(YBUh*fxof!^p4a6@r&kuubd-Z zv50~K5LB_2iaDgz7ymSid*EAl9jZhd0e4oKt&sb*Y$wfX^{)SKUh%Ej1CR)uv{e|6 zRjDZB4>*lm7*_8gX!mU=awuM^4LGG2g!i>6(7tN%UOhK}y5m7JN3Zlwqe52HFg;!3 z4nHS=x}!m}#8kVda`ueKp*r%!COm*WGq@@cc%chg>H#^B#Q0g9C_~IKed?-dxSSCwd3yb zA~O+ExQqLYE5+IAE(_@xzV^crRk(|LnMf-JhGPLL$DB%>rO192hq2|1F+=!8RHOylK=l1K9q z?a4CaXZFepNA{N!(b*7jGh>y>DRC1S+KgQET;+$#_ga0cxH=TpqBWQo2MZ@i$4ZAu z=VT8qzmyh78Z8NV)+SHP!j!X#3;XAwM#d^9`a{uKMN~4nG?Eu1jf&o$!kGwc4SEyd zsusPf_{Aa*-o4qMsY%nAG+A#d+)aoMls+<#FY^y+2EHQmM#EPV#N!BAi3`wXRM}M5 zXWSSD?#-z{!)*fG_&`lX7Mf0u!&K>;@v~Z0n26IHXprCuqA9(W5HztYt~gsTi# z;#eCoyQ-^2RmWl8y4xlQi0Vd)J5Y4a5g~eK)Ma=FL|zc~?_1(O)24r066)%Q=VBHT zmnvtZz8fD!1#%Jg@m0IhckC1@j7e=33fs~z>zPIz($qwpQ#cGRH@!#}LF4vRKGJ-| zRdG8R?3zS-REQmF8(4cDIpw-FqD~Ar%1^ARr fxti!6P+vK48wum2fgybk7Z!{~ zb9MmHxfU%&k#-*syKXZ-n3CDK7A3JEgw_wMdpJO~ouN<``Q6^`!#=w^pyhGhg`nx} zQ-#J%>MC}>V(!p4r(8}(@peznS=dbWi}_gDAoJ+ImU}^aRc}kbw%?eWF(xD6`Jt~u zL{5o+9nGVunASpF0;Upt=)AiC(Og{LGtt+ zEisl|?nP4skX5;i3hrI2&Gzxxa4U6uZovVj5km6@z}EM6Q0z*HwO$pScU`!HP0W-T zr6Imz#<>YhGuAv{qnme@pWSkWY}0VGI$#Yd08vicZ~LWkI4tCAHGX4ye^G|_ zqE)Ab=-Yujf_txoZ_bP$3_KvyXj|4xvAWm`U`7E>v)Eb?I%S6+%qeJIyy_T?(@6nT z0HJfbtj%UY&x$0S*4+xi*N9TL$H6(wGJ_L zbBfQ{H>Ab{SGU7phTke501!5INiSj^d<&aYr9c@PH#UqA`KbWYBIXv%RzaRGVP|nP zP|_yRXfe-4yf&`tPl{0(-A0GmF^%3aguZ4Ny=fACnV;af_LLZUJ!9AzCj4wQ>>MUE zP^ONSxj=iAq)|7lR7fGCkF#IOypp))d#+=@&m%aw^7KJ`HRQXui%{SQm9UHCj$25{ zjz%~x>c{mL=dsQ+^2x98nSzyjw~PZkWnhHECIST>dB0bDw31>PfoK{**nwYIzhB&` zCpvWF{KHg${81TIuAjc=9@s9WhlC>we+6R+$E)=T2&mvGB!mW(t zJB_37C@>Cd{?JdKr}ULzcpm!a;!PzCxH&8TdsvoCB~_MJkPKGI=IoFyJR8pT_z-UH z5zv;YN({?B?^=5&%W=b+{=Se0Kh=IuJIsMr&J=8eHa#}}oO}d$L1$pGlF5cv)IW!$#h5yJzF(Vj^|(aeF9n3P0iBw*f98)~ znsN5Z`}p_2^%^&&YymfZoJ=5?|2aG7-!SlhhFDFf{|{sT4+P3|%5=g@NI(ta=~EO- z*gztSXjYNPQ?w#WR0lTKuhH7zuhnD)=j}J~a-2sKb#wJDW0?P-q4%<%1kUVMPuEs6 z#T6(Kukp>+$ALHBOSaR^_3=xe-xtb{H!2E0lFA^Me$vY6(@|xx1-wOj4=v>7Xe0mL zkrxnVg@jrd-zdRtR)Rd(LN<42Gv1yl5Iqu665%qGb|5?-NeWtVWR5CR*C1SGTi%x9 ztgw)-xa@(AxrK2Geg+lQxkQnLB{Wq#R#Q_9(zAe3vMr()BUFDRy{z}tSYTyFP0C|> zisG$sWE!JVF!9{MqqB}EFFWex#n1OY?C zIQBF%#wzgiWIE>2a=iMR0+m7)7Lm6cCt|Hd6zpUvqzuD+4|X`RH2qx5 zI0~}t@Qq=B%eNrolNR1axEub`uyabE@D2@u>RgMJD~y6UMP<&|w{(1+2(FBS4yAq5 z>D`7=zWB4dPLmFCC}}I_60D$qp(DtA!Tl}eXNi}&wq7af*ckDvZ;%Kf#$(*MVpoI7vv{t9&G&!a((LG_neSRGrac&f6BO?UrJSr;oW3|PAl2HidhhF5*s zisu{20R8Sw2ju}$I^#rsn@WYXU&46#etobOqwN9gP%RAIG2`{m?8u$g664~zo46QU zVDDw0P=P)&z`Pd

?z5w`Q=JHt$mp^OTsJ8jUH zjBl%LOq&-~^EVh9fU1I$dY9{yy;)vKukAbV`#RmPX2=iB`1We*_ zBIBXdZZhI7o$+0y=90wbWo7D5V1zhNG7c2?FzVQZcZ%Qf1Ymj3^3F&rx>1Cp+_1x% zJG^anF=pYGqj#OVZ<6diY;Wi`aqyC~W#y>q0v~qqYV`*McKg-Hi8%v2M&WU3%Tdlzc83H&A4SGrF`-&2^ZYqK>a?bst z(QpfDzR4~%WordS%7Kr;?=kn~#TB3YpWE|!0GVYcF-yul1-!K7dCzTrVUo`A{UK4X zw_ayBXBXLPu#iDGWH0jxFArOqL~8&&JN4g-u-H6`RH~L+{LOqlf6E(I3Q{d(pIuPu zuwvDgW8B2yTH_Gx>z{mh?P#D`BfeE9K?_#w1ti`EHTbcOf{zGz7aiOLXd0L~yVpZw zV8|*x>X|-^6_`;Sl7UEnQsI%w=t`Bo#VYO1Gt~w&(5(mMq|k3%!4U@68hqAl(78P1 zy#qfbO*0h+cue%Z)*{tzor3rMZ+^fIbpBi0pBJWH?Ema*_&2cl-yAGIaPePnOu(!W zzYf(tF%&Fq#K9Bzt*DYKDHM>4Q^YTBXdOrbKJ&ALgDtP@d@iEsI2SUWD;Clu&6KlU zN6wtS{l8dpWPcz-12rff2J|Do%WZbst2fVSre_WBCtm)83BafQLJ+BzlR#i^nq^zs zK`W3=0%C!-(HzJWTl~%_Q;U(-n1O0f2@NyfQA$v7M#9PTRYF&AAVgI=js7GMjE#7z zs~!gmI#!%DNsaLhH}p8c;;j=~ay+AAZuPJkarT9YeKbi4gF{aq1=Ndrd7+P+q*`N; zRI1MOj6`aSpD}3)j&bpolWYugT$cnahG;z6u`@nbc`=JpP;QLk1&ru3Az?g)gp-3@2L)qt8C!-fO5Hy_kXuDC^W5q5?`H zF5T~gpJjkVFa04|r4U=vlvvEMKSD_EIy9+MX_-S=--{RigiWgw6QaiSTx*E^n9*dJ z(^^bE?fG8l$XKFHV|o)==RKNILai_0U!cn(XZGrHU{P)9Pohy9L!A5yJv6x9`A3j+ z#%9orL8r<(K+;hcYlYyQ(m+3czPay^Lh^eJ61!SFf+F8&%~~>nNi+3)^uf{F^k*{I zH^-0Zzvd}KSCmtVGP}II5oO6CN_BK!SH_NA?C2(Vz_*izk$cl!r`o(X_ugh3czHIZ(q_s=5zN19h4KDC|El zg4LjZ4bHYpN61Xm0#Uqr3XK<{pVZVF3(M5>rWuQBPGMVHl|a*UkIY;7?F5yUb{@6E zjr~@qfSsmY6csL?B3xKz)%TC;stU)b^c+)}3_C_pyP1kvKS@o`28LN={T)a$59`3V zR5#eSvddF@c_Szpv zc@NJi-&gL9th|O6G+8sSZI5t4Z!PBnzgFATOc!Q>nQM7G-Aa84u(6slElCvc)#;}J9eD*tuR6~DgaY#Nm2=_P$~wYXu$ zxdX=bWbvTbl}DWyAM>YSsSo(rEY9FS2FC8P&*Dq3Y&l5NGD}|!K=v{JSJ+&jDK>tU zR$d(2ZjsRmWK>?PHVyuwsra<$D65}7M9an4RWU07+Bi$1HWi2ie^)67ykqxD2!4ki zsx1?Q8`R##VMplf^Ub-Y;1=h^hl1FImbeEMMcW^g+HSQMeR41OK>?XRMGULb(6|Hr zNhqaM*?R~$SDPPr@iR074xHwG&}MUTKR!)%2KZ!UeOCD;NNPZlI6J!}MtA~xh?(|{Je z(1HYad4D;=349Z=i0LF>?zX`1nQ$$t$!udUQ$fN=z{w(wbE2 z&Xw!J-|U5>I>C#@oS(%DDDe0!GGLX3n)E~lh!{6_!DlOM3aT{iC%}j zLM2X#?l%1N^l0&=!3M>YsZ0vXJ1liUM~SBgG%pSH0HFaPt?n(xN`&%#be+Uqble%! zDDb3p_iWC?HTk~z3wrz;*=ADSMHA#E!=Dp6KNc|`7ARcrgC9Vm-h&8{7g^qHj5}6+ zO&%A=a^pdsPX*Y;m1Hs4|2=#P59`9lhg>4e(gXM0Kt%pTRWJul9&OAUA#Eaby;kVT z9rs*AL_SSTPzOQ&Gqm)@SlV**)$d~G~GiK9Rv}%$ieq$J>v0yu(I_CKq8;q{YYxpB<0b2MDra%$brHP9$VnHEie& zXrcI9S&~QnJm5^LgKb#<4y0rpb8Keb?na%HM3>U&pb;T)7d?e?4?)31LSf-c8{KM1 zsiV)%;Mx!$aon_~NShNMdFD;~(~NQ?ZtccLBSeB~Bt$uybSy}wfTbI@J(6fGn#X}b zrk%}vWEn#nNn;e&-S`{IE{&SvOv}-)W-^VMm?D6P2JxG(a~xYk0ezKRNJ}|E!nrY7 zd@LlebejHX2mK)?)&Fgd9m!L3Qb#gP2cZ)xsG+wBE5z`xO0>|Iqw|!ba&U_ZRDXE# z%ox+rlith9bz?4luynhbx$-h8leZ0}Xjgk|Bt5IJlA~d+frHg>f+FpJ&0rR493_h- zZ!ru6O#V(cZxE5xFdfMmY7RY*4qT7{2HO2wH1*Nq7_$s&$?wnhW_;Fwn`tp~tB9Pi zI>IC-7vuU^Z%)DEFhOQc_#n{w@h&hyc6d<^91#!SY>}g{QII`Rb z&fnxBp{y8F|Lm(PZX8phW?X2X&rw6##;8qy1802d-OD9T4dzZfzB$jqVq4I?-U-6R zzRQOK<7S`A!hQ8XGCXBzWAmyH*LwV=ILF)1qb@iXWa53=Zv)3WI0{XJrTfnF3hags z$Rg!o4_P+d@JA_o_C0woc+Dng_9L3Wuo2+3x$Ci&UK9RXl)l~qa@zfEqnagCPaRh^ zxtp=@unB26S=vjsu0n3J!X{Pe%GaPiPb~)8%<@yOcmhu~w>`CsfBJT^VZZc7g3P&ptY^ch7RXbj6I!+YP znv@ESyHI8kL<@cds!~3R(uP624cr1Z6% zPJCVBU%VYrNIPO1oVr9sS~%^(!}Zo<25B?PAyJeYcac`Se>F44AeSlBMaLgQH3hPd zTJ_JC)z_&s)_ntsUV&$;f2}Q5`xyA2EgN*Q^*dkCf3BzdJM_<^xX7zm@~4e)7nC_! z;dg;9cH*8^b^8CPIy|)ibVwhF4OxD*Sn=ar1o)Oio#sg9Q~YucnY!7xl;O|8ocns> z=UV|`)`57;1?Vijky>#O;@SR0`&R@4Ux(rb{&5f|{T%>HavbJ+F5pg#% zvHwQ^|35WDDe{w&L;T1*Y%*DxMN7yCZZ0dG^oq_Z4oJvo10ghPatj5q#7rb`e`Xy? z{zn%19Vv>--UtT!OD>q1{x+ZP4nTI{&TuOf77rK~tSdy0Q;CX)fH{m9!vO5GAfji& z{C(-fF=JkY$3!GvhH!Din96jYa96hyhyk_^nuU2|^*kj)2_q-C3~kWbf+Xrd&6G67 z&?55vJwrm(dLH~{Ma8|aZbj$mZr$8nk2`$u-xfCWso~v?=ebZh_P3jjU|${VVnMnf zz4LAQ_djJOwU3UBkq+Ug-)cVLc33!~VQU!F+W;qHWoYWN-I}M2o!kL1u$|HVZLtg+ z){@<%9ZwMd`n%4W=nMbMPzUJ#Q4RhliLR=FwTp?gg^k7kl<1zxA{ij_=y6>oGn!Dy zYo7;F>%don)B0PJph#CRkPw?oV^0*rHZx5-m!2Zsg3~g59np~jiX!3lo84hVzsQQo zM?m<^==5^EY&#wMe!m@I`8!O7{E1M8;*2*%H*KGxAEcj%hd2PWoj`{w0;zzvZNM>0 z2j64e;9|U2a@tm0WSFjF>_(AGP za=BU+M~JSX)fO|O+QK4ZNsXl@*J1SJsnS*sq8XK?EC0%!3Wf|#$?ThT&fFJ;K(*uw zrRCTLp>ev<=1f#0pDSa+t^$TdNg>9uG$Y3lM|zaff+J^gLoPGcu_h3zy&ON17Gw*W z2bv*NH`Ixp&PZ_pxfI0n`>J>MG(~2bkmeZcs0{MjDAXWz(Wg`&UIVgB>a zNUG{PSBp6(?UuhTT{#G*_&!eoUiq?RW&;I%BDc)nX3XtgV#(~`?;WQ1Q%tTi>mYb) z7>~du2b(xEqui?}Y6_8MIa~@!^fGZLqkKLe-~`(r&UauIp8*&>(Bk{oVVv^u5Xs};9yj=!|3Az%-oTe zPf5^#K(*`v_JoKSh4HadM!65aWBo)X-w_7?EDMo0o7}=Dm}9+#neXtaa-1&nehE## zHe^DyQNBU_>l%3Sp9S{&*;j6U)&cMTiO?3Ybv8F~v^8<26SA|hw>EK?{W<+P{_9G} z+Ttgz_rHVWauju>0Dq!_4pz=PkHjo?@ZfmU1u%n!Md=KY)9E5_4meMLb7FN_J+=iF zo)+NE3CZ)3cQ!!^#5GRkc+sBZdbz&%es=c&u@C4%GE`@T8*K^y!UAQ5v1T9+Ylmao@qd-uu@I46+gDr7BE4S5h|rgIh7^@+IxEKFOclLTHic#lC$Kd8)iqQrp0U{)BFERKI>c)umW>)>(zMQHg1{+J%+EbR z3w{x)!Ql;B)s26T?l_N(^!pdDfdci6y1F1JI8)8Y={OsECb&!e+HA%RMlBnShU0p!athYbj$rr28041Ux-hADg1K1XXZW{eq>77luxmGg>U z>g|%RD3v>F`vpSrGubRQ6v=vIaZnY-JNo5ms4N_(Ov0Hn^7O?UiV-u;jPSN`aMqQF z>#@UEyly4O4~D{EX7qI_h_(yIxn$wFbm;l+f;$MVWs%p3utv@~6;=^a6=p}@lX13h zJZ0rHCTp=|OQ)i*MrP=vtr0lJGQZ*366Va&B;GrsN)5+O6;QIO6iV1!LGTzCQJsv$ zr}aEQg6HW9a+OASaETT?Gj^A&3Py1!49(4U^&W1}5mhc|bFfw;1LD z^61ZKreYh3v!nArqBwhj*qlnUxdDTj-^*>JW{n~x!`c-0CleBJ#=w3oFeyf?G~n^`E6nW>v;pC4}@z@-6C9P=@C zw9&R829yT1X@l^XFb|4qRi6mRiB)K~sOqGW zqS$D)Lt%5IEW~I_F=5tA@XvY^A51Q4?#6xGU~EUSiQ`#_y@9;Z1)f+XGFwNMt*2{A z6_`XaAYbE_ROfd|n@xZO&3wtE80mZh3!s`!8CUs|+wp~$3zXtns67djbgMI7eBjcc z-cT197X{V8;s{c07)i@&rWE{BZ0RoOhUM179|>!~mw{P8uWbKWyC0-E=wgDd>Xy0r zRrR~Z=?k*kf=_&f8R>%C=78H>nL4vepLv8TjGLXVNU1euw9>98;QR*ND}n=Ln`!Eo zO~0u&Mk9Ry1-__g%qvwP^E{_MtQfwYAIKjtML)$7p%GyVuAu<-C1pkGOqbPfy3y{+?@Es<`xTHEaTNff(d&sZG6n1U(^w(H;q z2M!r!fKh(7z=QBBH?Os18cAV$v~eJHshRhCzsB)9G=5TEt3?xc*+3{bcw$m#YKRSt zU}hw3#I(^*f@Q0v3hky?F=IOk2By#OL$79onlE~hO(9p*GzblvW^#7p;#WnW+}ivW5C zOtSa*JqUg54{pICs)rlWuuR}!4&vCNM*ke~TXc$?017U;BYuc9LPJ_ znN2bSR!t#p)WqJuCAls%lc!uE002z>BpP%7e}?3LR(o2*!#nvX=lko2TQI&SB__ZQ z07zhh76U*)CQk&87XTD*N2Y;IN~2Gl`ket0RXZk z)#ep&>T0FccA;8v{qoX#BTYK)AN_F0y2TSfmd+L5~ahoj4vIWqW+D z;(m%R?-^YQF2?Q<`{w`^5QkI-Y*06&`bnU*`nNV2vT?ZDM2};vT<8RS9kd!Jk)ug* z^nAe}QIX4N9+i=CavYaY52GvwRvoqK`A>9F1gG?T)d^)-($fVuPU$KA64A+rd=>PH zWW=@hZjuG#mI1I`ML3i5Hx}pA<3tE=b*e^X1tm_U1!TqDxOIjQ%%nCB?fn>c56bPh zcZd2cD*G!p--=3&9O?w&k(I+twd2Qcsxh66(e?W=Uz^x)`4gm7`BW+K`b{Z!cBFKEJBL2HB%$| zCLe3+aMoZV7n*|j;qi1ObK|pPQzl&vl=&QyY11juWV2rz+2Ewv9GBTLi`9;bXtv?N zNHh$NjAdcFO!LX8;lxv*Osqbn4#z8siTXhrOXeep$QI9f{woZjg*4TyE22hH(qexp z>lH+5SjaA=0ws6|ihc7j-3v$gnL350B8ZnW8o+x}Kc-`jNnP~6IH)!_O7lk6-q`5S zE9{ud%uu(@q%?at1cbI;zN3#+mL?2mqV0*Z(<$s#qIG9ZD}8578c<l}SH9VPY7>5~HDAm}JEa4Jb--O0ASD?9fUPkDt~ zH=z7QCe=5gHoK|?KMfHqS>~X-C4G?lW#_u?s-|5E;8E~6%?m@x|H7;|7a#1(C;`T4 zHZ*Wht$f<7y>DEQIbxn&<&6kcQwPJU#c2v7tz+L#UcQbFO_nN(BMZDnkQMVO+wD?) z)jYyqNWK8U3wW)L6YyZh?OTS5Cv_DaK<^Gb*T z{xZZ>x#B(34d#THk*theYq<<^UgelwA@`)|2IrYU%_JLw?FXp>j?2x}I#wgx?s|5@ zNg=Cf&D?IU!4OEm3rzMdrV?9*HVeV9-biG{G^A&R&(#TL&sWtlNG(25t-l42H|vkX zcy$OysqzEbZd(K3ZsP;kT-@currSsQ+iq=uR`xl6L3@L(V6_Xh*)3jWJzkh<&u(sX zP%zs=*|OMU)gnY+Bp|?812gr9D*@dZHyCLO^-@&9bSRSd*WI;&+K%FYw(iOTX}PrH zye>ow!A@x1h zgQL&9p8H`xUI#O{2ArJ-byD8_P~u_{`Akcz$*W4PR&6U!Z_N$@EMp?7Xo9R$!A6W5 zM87m^+cB1VnpAwDUYZrfYue=4o!+a}RGmERj)C}#L#|M5y3bC8E|?C8IxNQ~`D(4Z zT!OaoD^Oi|HCv&s03g2zh#8h!Ox>5UpFP)bQ&cU9ra0^b#inA~qvJ?vPncP;mmGPY ztJt@jz-`~bWxmU~eWQQYxJsyq<17X6rE(KY9ca z$89mDbnYFZQ^ydNhvTcdx?pK!#N67;iO!a^L*+t%zSCqYLjNB9OC2&zbR{cc25#46 z60oTSMh$yF+2&FY0o=Lg_e3!Xa~{q$B%}5TGhUm4T)?}cM z@dH*pS}?XR>5Dp|>hD1ar`C?rkRu!AP&J|BTp})8xAhPmKfhPZB{x50C04H_yn$oW zs`uE*N6)j?BVy(W&5^cAi`b@vn9{Xsy41G`FNL-h9<6wofe}=vKbo$dISwQ{-`wQ| z-Vh6{GAhNqPwnYh0UP|g)VPQp0q*A~h;lNGWRy#~lcH71EXira8>3R4Z8HJVl^5ed zg{!FxGpG`2ef!Ed>ZI6a1f9KbK*@wp{#SXpuoh(R+l{%MPJ~ZUMFvs=C>eH@HBYrq zu=d+2ow9M9KCD_C^S)-!wWse{sf1@*Hi$t*kCwbVSccxR^KwwtyAob7uX1?&ICSVD zUhByV6!O(CG!OiVR?|3DPiEmq=Pj6RTaD77baT}UbssWhc+=ee?VJ;S^sdLR8;~Moor~eZtI|Q=FTnX`2nLDyHDhd$EJWiiZE4_+Un3RXItNX zsFu%R`0Cvys*zQgF~yXR%sc9B9lH-&8v=tFHS8YCH+wjt>DiBgGFof!b)DYeSoo@E zKYl&psZCOv=Fv`e6w*X226155Xipja1^ENbD$}Mj^1fzlL5)rrav%ApijzPJciMtE z>k=>5)2v^(h~=V^Am#SX;1m9hOx*%_4PAqsz_7n9+A6|!-60lSC^aS(nCGsuprK`W$y=&_Bb6i0+&gFac z)&qo7KuAHI&*VV9o}~=QCpzwIf4H3-nrI~><2`Wh<;WPnWfv9E&uw=U=n8I%gK~Rk z(9wr3CdITwL^bZDNJJhw7#-R4YT1DaHw$?ww@nx9Ylh9p!kOIW%OZ@NoQphtLF73_-<_1evJ=b7nj zg>$xu++hzF>lxk%7ndss;e|A$RhKK(+K3nGl?R#QgHA+i;)$^qs<8Re9nm`lkJ8Da zd32H+BbRp`DX8l7gkN{b%tRN+R?( zzHFMN1dcry#LZ}bQM+o{K7$SVMr0L~4-@FMFiM+a@(|0TLtt^w1}Smc%Zs3)jCm$YZZVFcC$d4Oq` zxRJQd5Etg?JsWj)o~+NP@&j9m=3Y;dbW6?Buxti{F?u!{aW#%xyEs{4(;b$k5@_BVTyOYbu;S`Af-AJFvq2bYbY>AjH&T+| zNUwKEpngO`lN<)>b7xR+WC)>UQoE<2owRv}O$(_81;e1ev_KaQL#NeX-ybu~>-kMr zG7nXoME^<^4b!s-@TGM8^l6VO=-EKLNJ#8be5K2!q99_?kOT!ugDEjg3 zvul+>$Ih3IJz8@b0BWP&TyH-9$6QAs8P~Y6yBI1(9Y;NY2*ccNrBa%a9uqZ|)>Tv$ z@3fn0FqX2HYy~W7j67jX9XiIIJSiNVFy78TQ{=70pjEm@$bt7@?5X(<$F6wPcu_Bt z&0O7+#BBX*lT1N&=(%obQ*5>Ew6wKeD<|-06nvgn+c7U$k-e^ERI{>3;Z|&6f8NCL zqCt0CiUsndBJyN<8XE`l8vpar$?UCD*rq3E z?j*se<;v{M>z!nc8?@}Z!*}iBaz7D4BGUpPUCt)m?TYFQxe-Hq?i714m}an_M`$qJ zBtN_4;50Gzhvs0PA&ewZb_rhtSFjb1-0VZr`fkIOdP||yBmvFscqlWb2L-0bE0%NW$T4%lF-@Xv(im%P067>F8>vbvb(XQDs_XnrrzabGeFx~$o=VQ0v`Fs< z|AL^phsGY}z$sq!(^W{S9Lq_;H#$uKmPK#isLZ%xlT&l=>&z7l2hm%Nc8;`<^m@nh zWLwVLJlPms_SPH};>^KRI_+DpGx|A0Eb}xYxn#n(8fD^mq3Bqhs#F&gZPfR+|G7q} z4(E<0m5EJY6}G8`OtdzYo3s@f7(DsIT??buMzH+;L&PR)0P&^O9vRV`PkZ29oD$3^ zWlZQwr1*n_DniBKi@7omT;@yhjwHVkdrlrSFD*a^sg_Qe(d+icRWydNdci*312IqN z{>~t*O*mS~ffSiIhTUo}^+YrrQhe4p2K3b64?=b~_~BPRdhv&5_1hZqojQ z`byF6mV|9dZy#G|dSzReQcri?-JuyRGnw}cOc;YQ&t3Woi5WtL`wIH*@Q!N#!d9F< zle;xR7;0E7GRR)2>WVzj$%Vf6)x6ki97pza$hJ{iVeP}I^~njSSbAjr4*p4C7u~I9 z0{Tjq$%WyrIcV57-oKt351WWs6gpy4otYi<(|GZVf>E_P5JkH5YnjpBncn1#1cMZbB zQ<9vgVKYu69MA{gsB5o89Bib&`rBB;e)z+FCLh^Nuvx1Yen>v z0cxM7D2+L}P_=Jpvn*AMqvxgG+?WMPY{wl(Zq2ky8ad8ymlg==8I7<@vu%6DP3^oC zfNgkki3a7M`s!b9u{y&?dyuF++JOfH!zOUKk*K@$z~3Ecp(Sg@H(+IZ^h2P3M_GLU zQK6qeMM6DAz3Rr$n%(-5A=gMI0Pmx{Yo35Evr=i2YAy;RKsD&lb}3cI7780Y3*NY* z>q<=98s9i=k*B?iS(7_koIs79o2#l|wu)@kr&WewC_5|6^wo!ID8d;)82Xa=mnj8o z4`z^m7v}+L@C9jrt`+CjaNxUH3_u$9I1;IP5YExqv3CKo(%jOm2`+LSDg+H004pX|Dr(nU;ia}7bo-oq6q(S z`cHoFpUub`wZCr2OBlYSUE`OqLBs^Wf`x)060E@?;ERdj#8l$=5Cm93;uSg8rQ`9_ zGp??v;jQ7SQ1gZqDXj=7H8yueOZo;8bC4}GHdilhewQ39kl#RM&mBxnQiGruxeGjI zH=7r`fEMdd< zN`|kR@M8Az(0XYO%JRJgp=Ckrq+_GEG8j9G_2@gP43+YFitu>}4%*~?sv}O2se}}v zCn38K0}p|LAnpqMe`E7|ko(dSO{C)2iN}QA$5t%sz=)wg>YP~y^uhR%W!7JzB68EAMmnGzS3_E5vD zq!injwe9N)y@($SzC0 zvz8HsC7KfGFIx~TtsXGe?JH(k<>7-&9jfGPSLTn}0cRqvGBEMIR zEw>Rr+DkEFpg5WqR@B&tRn<$%b^t@{0kVjL6VoiP8kuGJW7;GU) zWlECQi%+koC>Xu`PPtP$T)rv!RT!-387M-eRSN~VxThLZc=XAiCM&}(=^=qe0k7SZ zbw-G`Mb0tYP{Z#&opfFj^TSTpSWL=}NU+ji&`GU&6s_*mJ0PQ)vQV5$M2%``2qNlI zI(L056;VJt(<8De>FR!1ia1aLb@p&R`U>MA} zU~cod8}H9Spzw{zDRKfYW_ z3is1qQzG>abWEEgcffNSy9MR%v_548w?=1xQ2Nj^CF|mvBl&h^pSuDzOC$LpxxRvN zQT$MS-=K6=?$rJt!rn5d&LG+n4ek)&;1=9H!GpVVaCZ;x9)cg--4E{W?(Qx@g1b8m zcl6HGdoxwLzUr>7`u=oxb@yI-t@SE5@b?Ohm{r*^FtTL2+#IKi_1pVH%A#Uf(rn$$ z%RqRbX;4E+FSJJIuSRjJH~U#)2f8DO{od~f?Zwqk9-xc5$Yw(V9<+Mkj6X(hQDk7c-1+I?Gtu=;-HcMLPGH>NQqrSu`P`zmJzujJXd!)Oz<9hA9^ z^;N{f=9OK|D3c5Ny(hh7MXbG}vtyh!wBwrG^HZVDA0#)<$wPnS{k8edDyu_m0!&fO ziLg=!m4ftXAhY(dGT1CSwD>A`2WDMuDq<&(4E{AhFiprFaiHbpGDM83`E*OV8w{}W z8l+k}Or@TQjZdW6UUdHGlk~`)8^PS_SsdLl0%9#SE`)jI2^_D-E$(SkBcAVieMNc- zt4kx%_XUJGMb(ix%yUmsU1XZ0Q$e26g*H_g$Pu-Ysu=3v=*tNKVRXDE%8hr<@3h%uvrc6rsBuvxu*e z+981l4w=<^-SY{{U;WflR^D&BhTIR9Hy)%+07(>&3ZVW7NL{+z?57Tu-gh(paZD&n zulqz;i0_;;*P{}^Nc`Dy*mpA1o{@tlAj$;(C{nt0H`pYrGqCc&6z&8dep-A(bq zct^!q;`8*Gv{Z@mePr%oOJ<;E4Y9sqE5=B8LLG1eAwr32i=#CU6L?fXB*m{vKGRjM z`#XA8fjV0wJIkm$O(UM@#9x^Py@(0|T@q2>lQLWwvs@s%gvZ)U)UsZi)PngJ@VeeGmYi=~8J^S$e)CTZW)SsM= zlUU2~0*7k6$7!LqGt?3s*Ch{r8L`=#)w)c}Wy-cOQO&7EDV>5dv-4xICuDaaPWw=) zPKz8O=!dRycFP-RNT(RqqtE2?vM$#-(BNol0?sY_Sxg(}bRXiZsrmaZPj`LM961H} zPq^3jmWD4J?>vt9;NHtLXvkf$RN0=Z@`QssLw|LwHx5hX67!4o1C&D9MO!2GYSkUo zf^pLy!OL_l%XGN*bo$+jnaJ1)ZB88qG3-!n?Iv=d*S$JYim*)FBbj1Xs7@n*sr;$T zr*2P557Am}s(nQQT_#{cS|~_dv`k!-4zwRrOhivp+|**&3xRS zx;}}ke~8+W_P$>7)?2N)2lGC$s$K8)NGh*0!=iVa?c@J|+bu#btvBGld|CK3BVqf$ z!>>S76H6!N|N8yUek2v@GWPLHSnrj3A9k9s0x>;}&`gvi6i~MQbg%-z(`5s?>Yl3K zP#Q_T{R$>hl3m>tK^$Q>7ShBvtATu4Yz)$EhsYba3aN%OriJX8N2QsToSG(uWwxzS zu)XHwu#$$}A1^!y-hW#TGQ93qmi$@~4B+@3ceQcnSk8k{jB8V4Ccsg&Pd;ix zhMZ9bTBup^9r?C|eGV(*!&G$Xnw&qko7gdN$7H3C6^(1mv(1%E_9VE>4i_Sq-Nc}CIt95_#g5~y z*!l<0Se!nw(pwi|02$IiNaZN967phGqP+1lDtUF)%S0LHIA5tgf?;ko44D}@R9EN? z#wHN!RmyJDgo^p<+1|*O)kDR=6 z!Xsbe7UoeJ<1+boEoE)*OJO=4icPO%RgO5Df^(Tvfjl`B5ivhLu&TlRWzD%Om>u8s zDgwr8a9otmYOhWQ&llO^rzuB>a#C!L%(KOu1e)k9-Y@-^qZ` zG^3~jS_ZG4liXNvCHBH^dIgw|%L+mF}v0R63>mOIJN zT&(<`mq(*#EN(cU8QZe&w@kKG>im&*rCQ$)OZQ8D{>!aT`pxny%|Hb9c`RP)Pt*SL zmqJ8TQ$h)LJgn)?Zox|ktWg|X-|6cl!9@J0-)|LII#k1J^|ApF71YRO9~qQw{&b$| z#e=PhOtD&+#r1OeKf-{%QUh~uXi%v}Ja6&oY^I|gWixzv=QNv8KU!XYRTg(~v*-*M zZUDvZo`OMSl4GeB9Om}Te@s{BCx^H2xN{j`%T$1a3xbOVp;3FrtmMh`qNUyJdx%I7 zvv0V`pmhEXg@&2H8c0dK&9d{V*4qR!wL^8RRf%PPpPs!vt#AEK1jN3>@pTfrSEjJi zveAGXoUw{|?FJBR**tS+;_4IiN6R;p5~H@Te0g7(uE}YaP=Q+GKFk5R-%->no`?jO zM9_~FLSJ+9E(Ht^{0#PCe}z=_5g!$!G4`@9ptrWbAE-#=TcfWgbS&Ytdcg4V9CKn} z`>f&LQO+k^#Ks?M<1#JxFYx*uX#{GYwTlzD23Zr#e2ElY3|#Qe{n3Xcutr^to&I@~ zoc^<6F~G9QGWsM{DUEuT@b`DobdN4a7_N4;Dyw%A(<9T9w*qU!#vm-pTE9Ac{E=%X zyA9}wWJ}RemlUCxBhTKGzyBDOS80)ZH(Uej$ezLI4&yj^x;k*sI+j4gDWz=l#GrR8B~ zfa+I#Pm{TDewP@9_+B*P@ZMF*axV=;-N2T3fNQKUnz|Q4XcVz~$CoD!RCn+EbA!FwPc*OU?irf3seE1UllG)15>0K_ zJv4qV0Ui>;B5q24?eIrE-)aby}XBHttWT>7x&s~G)uxIAqU%4N+|NrM_kB(%hS%osq{$n z%mLDgUWbJeGvYB!__J;}gSeg?0+Z1j;DtR-HY6s$Z265w5M1iT1^xpAcQ8{Eh?3|) zIXA}~#U8a7ZhU;Acy(*8MsulN97REHjd~Kh-(sf0Eq~Kr$9FFk~g0bo3@>zEXW++w6xViLTm#Y7hRq>yi}AX&<>O#{bOUC-$0H_R+oe zm@(DMe981aapiYO{640hgK~ky$rR@4O_6q4V=+jbN7RMAc1eIfXj&7$TjU`2H6*3i zZe*u4rRPG0Pv2-_bJ)80>lAzWgx8AGOmBQ?(YDgYTYi>LTbgF#f$$f9D%@2U!=q2b)g!r}`hS?{L2v9|rJ=%P<6_N;&icMGo3x)dZKH1XV8QR50OH0JA^I^R58*b@TD>r-4bV{fmF?5Mg; z8K(Br9!EmgU98T|Q3XAxU1)uU+J6ZIMNgiCK})*sBHg`aVyY3kkaQhqh2YdjuL}3v|uy9aphL-ne{`+D&ql0ZHIuWl(`eHkjVq4hbpJkdoBE{H0Tr zAty45N|llU4^;U4P&`;&URJw}Mw@??;%L$yuz#D~j?xd%{E-F?pugIP4P~OnK#m&# z3GSrX!hih(xyU`!C@Liq_T=RiP$73J9-B*)s0ty&MuMoZWg0~3WtuNSOfLL_pb3g& zN7-EcB>wHuDy&;bJc0;;>2d>iF7O*>Eq-ped_Bys3|_OnTXsRvJ@+!3 zg!Tj!W83g%UJPka^m+15As)^qcyj({-moe;17-?meaVEFGII2Z$xTItEz-xJ!~g;plt?17jpZw;$tl#eL86J@=p!^Ww) zoTZs3;#tn+kEr`KznF5J2+~}D&?<_YyO+XOf%RbGq&0xAjk?*LF-p5=zvnNkD~?U{ z&pjgA9?l49bumLQW9)U@>w$i;{RinH{P7D3=unKLV?)e4Fj~y}kAj#^KP3)7rURb3 zsLsGa`D0M1^<$j5ei+wp-%{mrAKm_?W{MqHH1(^2GFHp%zwfWY5APYH)ti3q`jTuu0V>$q9lw6!k^;7-HlHjOaqTZ5C*3fK5wG#?-X zZF(lh-Kn*?o{U1P^Tc$oRs>fqhNcxBr^!z9X8OW1Z_GYy9#;xHWuM_3`}Vgp@89@3 zBDV2|5fbGrM))7hAdM-*GBMjQ6~WLkh7Ja-k)OD+4UuwaYd4~Yhc>fNPL_XumCi31?Z5Nuee@TUh37>(H z`K_W_FpFx1-J(gTaz*LN{FgDeL_sfT6c{B<`Bp~NbiF-3EQ(-~LdG74jpqjf35X43 zuZ|`HLf+=c`r@J@hMiZzZL+gdlj5Eu$oztYsXGmh#4J)=gqpT5r@1FRat#9T5#U)%Iz z95>>eV<`4KR}xO9W&f&L>B zQ;m-LOUD7}^1s*yP~%{K47#G9HiqXsFeNFY>nN$Q`zLlH@Chf^sxErpK@&4-i`*da zCAFw7&4R$3suXZ?6$c;xhtX$6b(wq3r+irEXNmLwC!hX*VF{`x_W%8~{A~T_gR(>Y z#pyqUs2dr7VI(I(TjT(tA*AM#E`hO&kW$+4NsSyf4GEyNe`!o|Zo6iEB4S^?b9S`7 zx6mdZakh|^d3bgo>-^$(-6zkfz*01FcxkB}5BsMr2i^y52b*5^*&pwZNZq9CSKFG% zFV#?0j_f-kkokJ}kxwj9OB(mBIG9|!`DSqv=BCasEJ2(aj!_MpCX5T=mWyfPaT2t) z&>ueGe+xD3#Dn)mzV;Dk9QY>vHQ`Iy)iV#<7D{?)GEHG~#8`B-ZZ*4;v_M74P-iZV zjVLW5M;M#Gbyjb;(GeCImqb92gGyt9y>XiBB~&e9r$9i)mHNS6nTG%27KE}GA#V17 zk}+;-G`Oy#w-i@efaeKTXfg{dL850%8bt+4phX(t$sMXCLsupJ%#uzeOE#Xv(inDL zWMM=A>Im?zSG5@h1tHOxZxg4F>Y#0-b>6m2+Ycxq*zuR@kp53AJB=<8+*vbw{cMr_Zr@8 z4J@ECS18k5i$LC4NS~fT)oPsGd{i`2xiwkJSRpy0J@Bs@{qx?o*2F)j$BuXKFJ?c|LuXxYPw@pp z5{g``v%)_5l>PJAq+>6WAbUdJA~lu@>|?&9Z4*#nWNxEXQv$Q$zX|Z+(xdZz@}`5A zrgo3Kj-ow!GC*gLmu*w^lDLw_okZPKNBI(>lKyZAfhQhoy*mW)lYWlK-y?^YP4|eL zP2U{EtZ^j+I=v}tOo1u95Q(g)_X*XiOK^7F9?^5uE8f$$J z4bivXvehh_<}u8FV{q!$PP*qy_`{-W)toSs)VWw+#vTlFgk@gcd!lcWY{@Fsbe>Ex znuAOJzd$TMMfYE&K$w~|S*t$Rr_6%1g5E9MpaM<&kmKya z7_@#2_R>_wUjt@dOX@2T1R00xp-9_z!E_y!-#`YGN6^M2$2&DoPV(H*V}IY_`k*id z%L4CG{CUnn4>0uDh^d2}GD#&=jJ1npT68{A#Vh5yd#-A0B3NV(@MJgAo-^19b3ql2 ziH)lw2QxSmsL!=K*>LqFHQ}opw|0;&#hs2sMRm{#WsZ; z@XQ?f=-SmG6l%=DcU8d8FQG);!qN_x%5Q zCcQ4#{fnF+Hru}6zeN^d=P(#-=mPDkNx!dFy7nj(YK?HWq4Dm6&ev+tUThxDxC9l5 zESt8z`2ZJpJ>uwYCu7?M<8X+G-^I!z`rJoQ??X|V$6)wG?^nvY0QTe%o!Ta56=&xL z2n6qBgnsBz*;~$Y$U`Gz6em4OOCwcG^s#JeX(@?!sPw*Ol!8;ikn99wsoc`?QRwV5 z7-nQ*G_hm}lCh~a&@anmW*Uy|5vj#UJZ1ssKG5uPd*jH9{jwxKonzbND_bmAFl?#E zig*cmc(|l2+H<8nWn-4u6DrJQ+8Y5Kjmw=DYlitmp1Q2g5{?-Z1Jh7w!U9rgswhmQ z1WcuBs6Lqa*IdP~5u;KY`;G?e|Afg6QZWoF#Qr0Mc(rBxVa|T(BA3ThRK>t1;+``R z*EA7)ea7qwds!x2W>c7-*tI-{)XsD`;cJA+%Dv)iOlD5BG*%`gVB!eFj%f&fhx^}O zO>Lqc2=Sk}Rn?OJ9~%N$LtAqfLvvGRQByO+Py2!Y(f@BaazlojH(+Sx(eATI`E(0* zaPWj=(e)3~ZK|s;;12y&IIxf6 zs?99_ryl97ZSp<3B}w8vt0hVDz4a_V=~?_NKjj&!rJHn{%<9H0KjYa_fsgpAdBIz7 z{gl*8d%YLfM`*QU_B`ITtN!y(N~;00?-BI^^k|_c#S_N%dV6XUsA$ z^t11!^<7kFRWdIGv+srVU6f~bGB3Qd@0Imk)MpnmFL1N(x%GY&XCyK&)U)p;^?p=m z*)lIUv+o7p#?2{Sxl8!Eff4A7ZP1iT8iOZ*Gtpt6EyanOS_t2D^EpjjStQqU{}A}GLR9KfZujWa3-aLPD@19rj9s-QJ+ zvo44i+^h_012=1fasUsKSNyc+i97tXo6G}n;AVZ$6;L*22ZEM3!6*+94^Cki0MG)# zl8Iz;AZJ=O@Nfc|45$Ps8*kJKK$E(v21H9<6$3~Tc0_=DRAP+)cJOelQ6ZoXoWeM; z3*;jmAf)AI7>EasCmLk|ZVEKMiB$rS3N$FhvH(v&hNK-@+9b)Vdcc(ARXJcv>I$7U zD|sg$*#2!`2n;V(qXL4YMJ#}qsgVWk0n20ZBtbX@8nj|HfHLssE+!kWqUC22D*>1S z6J(S~2k>e2;&x1F7p1QdX!T-u;(_gS14ZD+dO#vjMXE*~bO-zulcxp3r?o05j?dEr zMFM}t8 zvx``hTDpoofg~+ws8v?XLO`It%Z~JegalOvZ8a4|02A#LBcm47&YofM*;ienHbXvm^Ae|jpSEeB|V5kbFQw`2aXqFfyMvE6+J>nW4>kS zDgg!W@WN@mJ;v$6R2cLjD!OQNzA|ZHs^JMrh|+D1H9ZIR|C1o|m?pVA$KN1+5-Y3d z_HqP~n-;5vYC)vpXsUHms2~bdWhvG0RT&+Xk_pX0qpV>9ZXHhPdVu5`x59$tRUAmAz)LmUm?p<_1;!YE$6&RWk z{~czSy~~cS^i5_&eYSyS_nEq}#U#L^-iB zepOeb8VC)0!9^M^_l3P zh}uv|ZiKHMq*<08-qKYNE%GyroJkONC<_eYpJJa375I|)5!@|J5)~@r4uVJ3|0M*A zTmhpC|1Dcxv2DbVXyP%AXreP|94#<0U6-G6-1gOCWS}y~T~QY%j2i{I`EW;IZe>YhLa#8Bh^iaq2}_ztyd zK-ny$z|xl2ysTf{f6@p)lr(sT7>X^-_}FW^tM(2Lx#A zW+}$GTjdY$61%N!I+gIN<|&9v7mr(S!HB^$O(0j%(tW}i2}xv{h4^Ml?mvpTnwifj zokwT$dV5(~gVq%_S7c&mdjnDND#R0J6{S|#4h1&6I9~{54BNR_u7wJ7;Mx0R=s&aU zA`0`S&k(_h?mU^9zG*1>f6Tg)vTBq6v>0TmpO~MP(VTXvADqflz*v5L~#(@;C#wCRY z=%xk66$^Ss%a9eN2IFN+5+=M#)MUknx?b%R;G~H@P zUkh&NV%+TYt#~Hd$OMKVX)7gpOCjNK9U0~Xj3O{4zj-14)cyCuo}(=3jHUW)C96dR)y+s28qdfZ!Y1XzVzD(>H(De1Uz z4oXd0sknIxsWjTuG*LM@`FMYhoEJhfWBRdn;{E=kcCK(7g}s55a;_giI3ja@v(*8x z>~!heA_RWkmuca3@jz!t%jJfL!vqU+fKN_#3VK!pm5%U@EOH$!iU+6T=mV7lcWzvq zqzB)N%HbvNx}&>t1TnXn*eEDzH&Bi`$5pB)iB)X6-i=uU zX7K37i#XcU>UQ7V8rk~Yh^ZBAs~oBImQOj5n0Hpl~z)kb?hs+N8R=T={jd5 zyq!w6<#cU+tW&P-bnSMmV`8-VbZvaB6Q;w*&$gIC1)G+ZZki5*GqU*)HF$1xf8yT= zzF8oxTKk$T98?Tw@<0`kj8h;?u(@B5f*uBF%bsJlyVjdT>H?^<$Y+d(&$&DBFi&m` zq_#g|zvVA~lv`MCw20(5hWNA!jHsMWCJS92FyLF7n`iE)4vsIm~Pa z=MG=jfp9U8vgE;yL{cf4I54#oTO38IR9rd5$UMc!Ekzh85qtljj9Y_(O?@CgUlD`3 z`h%76iuLCeEBO^Grh0kpf$rdkKV@_Z?~Mp$tS0SX-4p+W`y@*id!+f}eTq35J^3fCJcz{zoI;zJSXeXb ztd`az&8|tSA6!!Ij88pbFqYnv#2LV72dlj)%klR!R$}g>hWb3hubp;pq;cmv#J`cu=C42Nezrb^&N*{wH5orT zlYrgQ%a6TCueLk*44d~6bODs z<&`_QI*VGhI4QAER{m8@VE^V?&8W3dz&3xB-!YLO@Kbn~>xJ`)a@WNL}8B8LWa(35FCI&CR;c&BBzQYdyTTJp??W2;_K#c+wd+m{)W| z)r7BQ9Ft#yM!!@QH`GYAO-9dih`Tu};}1`q=nV5U`Wk?1nOz;iLp1!4mem*!svnx% zBnWsV8qs($Jf(fG3jg$D;PR@Ylu9L<-Z-!3 z;_wvvl4^N_21BOjZ4m2s-c{sjohC*gEi>7>AVQ791%n4sy4M{Oq`-YJFe` zP33gsmT=9hbUh_J7Jy$-+HKYk;@Ld^&MC?pWzq5szBp^P5IIxSZ=3T?LX7>gsKT3x z12608g|^ImxF#Sq*M%w&*%&=Q4l_5n(80Xeuz|R)PSgmeS4&H?{jLy0DfVVjkO`K77w;5zV%xSu^WK;5K`&trJem`> zr!D@BeLfZEWoseN9Pt#33kToNrfKii+HQ?sf|j3{4t8LRY^&y$PHx&C;M!C$^tqvjYfr{bX!mZq3T;Oa;q6dN|w<)Vv5sMutSu)Wy*V z9rQPLorxifc)e?p-t;%5idvL7-P)&{(A?&EamqgTwy^XE^~eM7gzlm6bCX1q&7eeq z#`$hy4n$u^!0`~(oiX5tnzK`f=Qx?&zf*qV3X;IeKesF@M&W{Z$F18UIsL`Sx(E41 zOR=t{tWWpuBW@4eP-`KcJQk8l1^6e(mC>03A_aGNS3bTi+TpM)2u0_FiHf`!*AN{O zQc<>X>IPj=p0Pok?J>v3yKQ^O{5XN=WRKp{HkkKV4YL&Is>Y|&Qn)T5&n$6?1c=3)5+oxGQ5QyLp0kFS zoZ_$2u;k#i$B_$6Ui11nRj8{1HSwiuXIU0|x>fgKWs-R=N@_-`uCphrCfdpfmn!xA z;Y2`SE_k=N&XoMs-nf~*N9p&*?(cQSnIruw$k1K#lbW#htwAKu9QQ}=y}9-r3Rm0R z%X?UsA93*?U-H9Hgt;`1>PZ4v;E?hE{wZ^QYncSQO1-``ub-l)I$P`@`-xOs*K3T6F!L5PFCwXJ6os;VMI*DCv3( z7-IGU0is8IWuZZuGDCEPaHHKTliUU3vz7iY;MolOn`4l4nW9J`PQt0;u(}CFOn>*RUKjo!x43Nz-OV_ju^_ zcF;LrCoC#)_-B#%fDbow=JKwtXq?jXI2iQOu0G$g%%M&2+E;+@L*m(nQN{}+edW5> zd6g5XY=E1#rAjEUqKI^ppwZ`PexYgSu1Ky-eTyx}C~^N?sJo!8(Jx*3rWF-vaCzA( z8!6bwSd@8BWRUq!l*Z{+jQ>Z7dLLAZ2a73C%}U(!>)*Kt=3kKb{KUMj%O%_*8<#O^ zJyf{AP=&9S`D(h=td9R}eH5_?6ho~?Wqwx;cWLa2zM5{t_44Of$bdj9NR!LyA%4{X z!sMnb>BVz!Oa9GScUJq(nYl#^ff~Oxr4^-YaB@qSZ;w`sd$C0J7@1{a4W%kIakjwF zR2xkd&$U=Q!;+h7T}qmdusi~_7DHH$!vF4UZ{{x7%vH;y13G)uan|0Q7Nl1_ev+Cx z;>e%9BZ5_b;e(}5yql4$^3O6o*c(p`=nIgBJuWnkYu(^U`|Ad6ZrPa>4B4TqDTY;W z1tn`#+(gRJjMImEhaj2HhT3aakhq~}Ae>?pEitEb49P^dxbhQ1pmfwuEf`YuM;7PM zD!v6B=!R;qE_=yTpp^+eI4Qo3>#*Lg8&xeVgflB#O-*Uz^)7cg$}z|64+b15{2v4D zB7*gBKIcGde=q_s-SR+TF)*t{1?9bn>Aj%^jS%Z zCyO`h$)htKRA;z~$B>7!!18u?Nr$8OfO)KhQNbbRv>c#m@%mfka#@Hu+$O!431n=F zj(YPEU%kw&Ao~h*3ICoytAqrvlts+-fwVr9jogH=u`?Y3X#ue41(R;e8bWq|QM6z^ zq_W@wzS0KyR~WHf04yoWyfvCtEJL%q8B?H{{G6c;qYJO#T*fAqxgB$(aUS`s<$90* z;13$g$mGL*)CDd$)ZhIlu*OG&2bD{^f(a_322w|VOvFu89rU;B5NAE;BFz)z`%o8Y zFl%oTHW2xWL(;chaEj~uym)`2nYeq zGBf?&U1Ds)n>T)(S1QWI!FT6dPE}SnZZ)_bFTO_kWU&*d`kE?Iq;Tcz&Mp6rk!_Qrba;nmb1 zwIDi07}6|{b&HpuqX>W7AmrQ#AbAe4#O?3kSCgUX z6&F_Ks95q=+OxP2N@OTpL_mO(<}6(`R9(5XkMsUl6{Vb=_>MO6;eq#GONN<2v2#a2 z^E&)hG@J6z$B8in;H?~c`Bnxk(w{zRH)Y)+IGiLC-i0^C4uj|NZ-HO8qS)r65j+!s z`&C-xnOX=%V0e+Ug@OvaUORG28SVZSuaOx`hnh zFNG_K%?54#YK;|TYB4M3fL^6i(1_aihM)&b@-v>fR%Co0QeI1I{WuZ`sTm6DZ zg1`ht(RmX|Y}I>6(qGZN2F_Z+G?yKRAi7)3uIvyGBK-hzvj$!wL;s?7ZAHN$dUpFQ zkMYGSU}D>Mg#=QF?N|Uy(VY|#E4u!>^~^8wPGjqD|`?BIS=i-|6(-;bwxBePGvTq4{d~ zpPXawbTUX%7y2;HOrZ;?p!4-c9G*sxDVi7HG4z}-h07o z+P~()0dqa*$Dcy;d9>2K^(va*2M)i2e~=86es`;=q{*)3(}@ZYo)g!iq0<5Fs(&!S z3zc{G4IXm@OLh)?8LxQXIkorb0nu8Cr2N9z__b!Jlf$kSnDBDFZ@FbZpMk1MD2}F; zHW!Y>A9>fnUfEshA>g6NY;273Wf$OvgqBQeu`R)1X+2%lGQLl%)Fh?Z4VhFRZ zoX?g1qLZ7J$ZBua}0i%2Qi* z8^rm%Ll}jWl{6wcbH2~Rha!B_I9|r`G8U;<&n{5Rtv(h`MjV87i;q2dSD6z!#;h74 zg+F&l!$0~5`@MNpRgolwM#YlY7DZG5={I+mz0gV*pJAvpbd5CMt zpQ)Vn;gfz=QK8OwHIs%l>Ogg+Rc zWfkixedOn25B*W*jT5j2EIqLVDXAU~l`40^j5@}u`}Zwt*l=uw-Omp99F`m)4m;%^nT>NR-XFVluUG(@ zxf%&Ub4gOLYV+GT;j+9*{v9NYX&sJOoOR6yUo789~YTz_dQ7KlTeP_ucri!bb z*avC;O!2XbK1k_LD_$+eQe1^#Y|#!6eZ?g2?GajeNNLZ%9NX~4T|k5Jgk_MR*f%|b z9{S&WPS=cQ;F84hr0po|!sX3JE^e-@`+Vx@-#8auSo5qz0i;!%WkWduvorW*RuPZx z@HTQDZHX{r=O^D}n|N(B=u!}Wl2Z>YD5hz-2YemeoG(GVyF1KBkcK{I_nrMirRbR( zr9?A;lh%=^z4WsH5<6^gzm;kfaDX_W9ihIdvp&`%^9#n&ayrzN5RZF?xGMjXu{u1* zTFc`FRlzwkhAa}?Nz}ZmbUQz7vg=v%5@ByW74-WayQ{?k|+TXk*4?daqyB)Z6 zxk8I^e>s1^yAfw$yw&;VJC;rv&@i|RdiCLm5NnI<%;j`Bn}4!(FzM7 zXK8zOVM*8&%RFRKR&{ew;g|XFAcrRjG0j$+W7imZg>|Ij8RPc!AN&RdVe@5ETj}@P z9$I(siGxpHO_zqNfo+2bE*(j!8o<4DV_KXu+Yh)o;&K{Dr7?ZM*>safO zf}=ZOD%JoKD`-u_X2;?3%0DiKPYuwG*eov%8hW94Tu+C~0 zJZMpKiP1`yN)LNlkoe3Uv@x8k`V;tfDJ~==B&ZZCm)DZ|7rjxILhS2h@^C-8n$pXC zA7OGpQmJr)UO**ipO`?P>XKHkx?K-UnoK}Kn$+wDPo@ygGmSSH1gzj_t}|x;CCVw@(5@29 zU<6aCjxIqYAGfeb1YO}dpgmM=+yT7_0A^lE%~{(XPrtac#EXR=oID)}POK{$8a96~ zww*~(Eze`1`c0*eDy;C`e1Gi@E&xB9-RVyggFJkFF2s?hqdFX58l@uFGP@Z$=)}qv zo%BABQ1UJZ{u~6sLz%d67znGF6e60JiVHQw4Vdv{J`8+f#PaFyD$3Q{Qx z@XV8Oq_^+#GYUbXg1bk(=zt$6yc$`^_G}NDcEmSA`uXO#3#YXXHkISKAT0ZXt8^A~ z@iSD};jh~j1GmlN?;;g~(etqWnjC$DYjPVLmSfAGLSs}Kv~H%Ue++v^Tst^=X5+-R z6d}Yq^l@Cg?uN6}Hii*wwBdf{0reDyR=rQ2<98k?yxE!UT4D$>f(6>rGh3aU84w?q zHz<)ab2?EW3Fz(Plh-nYBhEN%g8U(t&erpNI>|lVj_BdOKFutI?~7}p7qS@{TCSj% z<}s;j_#=!XH?|>^@=tIHaG)^Pnoor*ta(Lkqig?#U{3q-GDnf!P;iIkhu_iO*02p6 zvB>l-K5#jv(@{Jry+Sd{zhz6{-*&eyFS7#8h01U?6VJFp91x8{X!^6ttCJiC$!`Hx zZ9$E=kXdLV}CLOz7>|BNlAsXt^BNdzB-Oy)n~@us3r$wY?xcNreLE z{MOgWY@~h(a&D)@j(QHy#k`X*{4D9WSyDN&w=&Sy*-3BN%_rdez2fe)sBV^6PD>Y= zuq9x?=HdHD`P%fXcNZn6H7%H^|gv z5Py9oHX7@^%bZyPVndIV5%l#GUD~4!AK9OD)s}E zav9j=?G7!qB+L(TsD*-MMV|OF0T7JXr8m9s+eWUdCZOUDF=niR?u3%4+CV`*N;NMt zj#s$&B84bBPKvDMKpj%Fh*l5+7&0`O2&;uan-zBDq2+ zKuVJqd11R$Rfqbr%kjCcw>Ay=ds44N6J2v8Gz88wqZ=drs^=FyL&f_+Dhmw#?gp4% z+R%F+Eb))rd8Ch2NgB)Z_0(n^r6#BkA}Q}lFT|{d0gqMT8^k+2$A940Pk8f>ea$H4 zP<}mDbHP=zpk0-Rn=_5{Evi{_(b34y+|-wQrYjyXvK04x;cQFkF#V+SwG7biOpRPK zj^~QqEMMXq!&!^rrqv1>GoZxeJnX}n+}xEu++EW4nTfW37d}LEgcW*~fTKE6wQiWh6S&F^+=M1l zXKZkYcH#Y~PNTnzI$f(emyEcPr=aTiFKoRBP*YFT|1FlF5JUt*2NmhPcMu^Uz4u;1 zZ&D=?Py;GNK^1f(|+kkAoA)L`I^zvutH?>saAnLBgOz5CrgXV2bT zW-j~LZ8s8n^xcpea-b)x!&O{bO!Ofb!5bo!^iz}sDH_p*^V_@Dzp3O>0g7D%*ws^m zU&^|N5+6iZ4%vT|mRn%BLm%Ca%Kr|G0Fk$M2scUggBn*?VH|A^|B)&PdzI5&e zp%ng0dHq}9O=ZIy)<>%kzNygW(^{9Uz4RZ8>#-7C%a{@Vt(17%x&b}-wxzK4hu4$T z7yVuxiw|l}-t}szjUszBYdo=hEO;vVu4mvaNnDgZUJFz(h_uSZd4UQhkXAW3W{|^2 z2`d9A zBMICoFH{L3>Vjd@$KM3Oa@7N+u}U_0766AoDxwb808|{%JoLbBG2?mZY3gy>%%N2Y zD}AU5Dcl$@Q58huhp)Jze%0fsfr{grhi=#u2^^Z27z3h_!1?nMDL@Y7eS!0EBw^c+ z$cSv*6Of2IM#&)bGU5dbUX&j86r3f2TjnL+L5O-{kO_wFSVkZ;CBe`Ydk+9BN-*@m zGO^$t=?i*MLM(Vy`hsCpKadzhUoe2GWX50N%^gGW0HHkz)OYAQ3lA0xwY>ktv0{PY-(z7Ge&qPZ)Q>%3KUvsg0tqsyGXH5-Z z+c9KHF3uE$cEQl*dQl)|BylhG8{dF;neh_zA|6;MU`!TkA>95}-80+k1|q-}!%m-6 z>vaV_E{&ZQUigA+(8sR}x96yP=6MMqWF>IxytV_VF(5H6A+rGo0u;ER7=_z2)Ybe@ zzSf~^a8+-VSe+L&d|U>bWfQ6dAD6;53Ae-5xAJg&)}efGQE{x5btn`3M=p-fCR7eC zDvh`jo$Ad-i7VFG1KkB2lT8gQP>cnJNz3wA;hXG>24BD#l=MdH|r zdK~#@!$=QH1FKCSi=?p=bvPzwyahc;84>eVT@8YAa>lkWfZrBhKdt1BTU58Ts-WHZ1k2@@Rv%kHRE2=-9I3!V^@0`8eWCh-zsAQA;U zKo-kYi=$;}9MX*af>LwEc+ivR5a-$IE!nsf8$2JdeOfcN7o`Tlkbli)AQB6_IU6@& zjo$*cFKfn*qk5b%9K1wo5QztVAdPjZ$JH>0W+j{_f@8;!9R~PWVWKSjKmyxhgXaJ& z`=SnOakt>jxn8fqP_bK^H^{1gJnzRt>ldaj%yNj(w<$5o7@` z(Gf)AhKJ|i_(3Fkcz7PJNtoyfQ1M6oH5up;$L;bCb3y(J!3!l!&iU6@nekN#$J#7p zUxC^DvFSg#fY5Qx`Qq2%Pt_;#_@jQ0HZwO4YR>n0Hjg2h^wU+MJ*WZuGA4wh9N0BD zA?KeWh89lvPuiWTPWhk2sUOK?@K37;;E?`LD+AAcNhLzKnggSO#|&uB)4LO*Snv(J z!-aPmv?XwP{~0w9%mlf`=cC=p>S}?gy&IBePyp$9LOtJ?JvL@Mf;V>vB`1lq;=c!xPv8wSO3S^xQ3{fu;yz-|jGW~%r2pvb=;^1DQa9+nLbbivf*;kbnrlhu1% zP$~5|G>~XOPr8Fx89=T|V#&&VAkm*5_8NTXj5*BakNSY=PE+skMeV(NcqR%U6(-cb zq}uOb!Jm;G3O2%l#4Gd=TE>N6;y7BeXLGNf6!lp5|J05EQr&;*GiE&Bf9ll=b(qA_%8?mS;>vhy)PI>_K}-hY@A}2_CW2`87LK~ zYmw-wOajNHA4&$5Juwjmp$Z7q&&Uf8 zl#n&v1we|R7jeaEGvn3t@n8@vUHxK8)2bdv$%5}8H}TUu_Lcg@qUO9tJi!e}RQs<} z4J`QB|FSaSj8V(|m&|b&j2d}ZKVS-nkg>A=a-o7yzi|DRuqavh`SgGF*MUU2|FXKo zGt-lYgMteBkQd@u8e!I+3q_k^tJigxdF}SyYL4dk6lNsnSu+bp>V6bBRAxf99#=(r z&sMn2|6%uCS!l|&4yPE*oef8OWR7iGpR80j#Y32at0EuIE)3Tr@@v}aV`4n=|%h`p&`iT&~N$6rsCW(JAx8(`?ityQGax_oS zaN#qFWSPUCw*JCwWDoah!d^kL$jzk9Dvs7)WA}C3Y+A5se&aUQ(K$nxNkev-GrQwF z476*FvrR~$iJ>&d<#70nG|L^vA$j7^+IH0()YB^Phv1P z0*a2wbm*`9QR?XX6rxAgPWw8z&tE6E0!6E5I*ir*=yKeZ5l0M86-Z z^+n{oS683vWunQV`s!1mOf)$?&DE#AnGS<>Kf)Y#{WBfNg9LNf<;YzASob5|!S@xU zlHAogUj<>izPcY74no8AO=Ms5O)qSklikMjIxJs9b|o^peqK=gZ@#6#e2yB1|F(qC|I4$8fdf4KyhFVH57$ya`GkGC>34(&u=`ep#8_k94fT8VRR@Cl)d=}aJb^WZXw_DE| z?9yX2cgRFo?md56tH!?<6&F@r+e~%l=(5VUcNR~2TFb>i(C9sXQ_BS+yo@K&xv1US z(~c))*QyEb4aSosT-5IF@x_xKyQuN(8C^e1>pf4eEdmkB;z=wnv6gd1^n|T=((Bru zJ9}bOXL`No^|d|s_G+lke0$H^YkThQ1yY^a^`1A^_HgeVQk_Nho_E*A-r3`#I@9hw zud9u{w^u}U=GlARRvUYF&xz{H#^vx9A*46PaZc>|nN{z3Q*A8w-YV5uMDMwr%Z20I zh3MYJEkZ2SSx+2^(&fTrF7`H|D4xXRa$zwSOHWvhC(*iGn9W_>Cd5*g-C@_0Zw_K# z6TUqz+BJAoowt)eyYA_w}Er!E05w#^3fvwgn~M9v6xWX$;DZn-b1 zYrO7R8e|*apeyg+>&;~NGDtCgiYGr{4S(IUDQM=pCpu{6#+LOOJ72!ljjbnZ`FHZ^ zJ>fxGaSbN&d2v#L`DSray!nsU^sjq1 z1Q{}pgVyqS^QYoNUIdLZjN9}o*vZ$>jVts)4h?!LDh8QO}%Y~^0U-ifVEB?`9RRPUEGP~ z+7f?$%Z)AGwN3|lIqEIY+LB=YVq8c^(8}HX2&yfI-Zl++@_D&8G9_q5D8D1_M0Ksx zNj`#l>q_q*WY7WKcvo+mk^C>}Es8Z|{`{A5CwJGBh4X2tx43&FHRV&Nwj|b~&E-?5 zx7>OoAIck1ZLRl4>dF`08t02Y5m-|e$v2|jlIs0a6{OlS_vf$c7E5LA?qhZ4ugNV` zhGr+_mM$i-=EvyX6}IP?RqGmk;`EKcdZ2)wtR}c7y26U)$c9g}V(e<2g?w-yv2}^d zLhw|aAKG+>%F6$!ce`C~zlIf9HlnT^Qbm5;?tS=uCC0uA(2(u9B&OvuBq;3fvl3L@ zGG=E1@R)vrW{sQDC%nB=HTx~^>@EJ(q>E~ryZp+Evim-I)&u1e)Lk|8hAAEPdxfIU z#l9$)D)AZDj8^3**+=C0l`K)ev|VsazA;1Y%X~U4HB5*YU=Cr9J%FaTEvVKu>03v~ z(8Z2n-cie}WZ0#cpeU?W6D4!|6-geQb>pA+O7?O}^hYOLuS~Ja)U<}7b{Ip-=^eus zYLY1DSk8FMNvEwKi|7xNBcTp;vX*O@gf_3Ql~Bf>A6Dx$G4c+1EXm|g-j5$WA0O=5 zX=pHEWL5Y!t!(kq{@7SWxPq{kq96$YzA%A70npe{G2$m#C(xxUbkl1il%BU4rRc!x z;+#hT5zAckpU8PC?P2ei&%4z`<*J-p;s3MZXe$7Ay8V;r&U4AVh>kh^aZmeL4WaL& zi{39|9T)G*=e~>t*1~;}j0)p=&V2CiaY5l3#%IKoi9wm3%k;<}86$ZfqzXQ2+looK ziOg>b1}hQDf&r(#eR-*lFCH6vTL<%o<>)#bM)8p9Mo0R->SgQ6e0Z{c#yxbVYktBc zT-x$VfMiV4$!5>_rTyWT+xc^ao4S=NY!fg0M=P&Z<}ghkjcdxP&mfBpU2BnH7ffp%jLyZeR;|KJpHK*nLmV& z()nK&;mkkg9DmCnlpaEQUyT0B8fM36lOPOSZ5tvM)@k%uEj67LC)n*HAM>G-k-cI^ z|MxvRQQqjR4|{XI-UWo5SItD1i`Py|xs9R*x|WNQ={=6t~d$e~7E84DhCI2#G~CWL8I#9fnw5~pp}h0g8p}2J!VUvhG$6r*j;|eSUB3zH-uObxFt&8y>fALN+(m06kWmov&ZWNT{er3ySe!{PkMVNW;acm}7 zMkgdqkSjEG`%JUM<9#a8ouNW85YD8_W-a?IkUB9Yw#ybQnaLsbW1^RV@@IcnoO%vW zmxrsr_XE>lh)GjA+Z&!>?Q*D#^0oCc?Zc<9odrs#pB2zj#V3e=Gny%LNii|<`GUXV zC*-Z_kRQYPTui;?u)Gk;=hEh!)3NQzp31F-nsiqw@w$C49Q~ z93bK;m2dj1*VZ_1^*-gMmn>}}oq$XIbJ-yU-Yl5$c&GCHNCAms!V$aT52L=g7^W7Z&okAOs#xDA@bRuzAS;9US0lnuNkF;Q znzXDb->DU%jdR|t>rGlKn)_mD*|2c?O!RokpfKvo3F~nus3iJFTMydz>HE-@Psd|r zjYV)S-uZSmQz)ycrCdps_amFU*X26fDrGfytztEF-TEonOka5E8rf;+Mrr6$8rUp9 zKnILY#rr-;QONIY9vHeFGE@*9Ok32MYjglfTU`9@jw2QiUg63#QO1-p#kNQKf1J`` zjDJ9Rb3eF%el}-P)z}dK2fp~%xIoNg%rY`P)a>D(FM#S*>b?(|pw*jKVm_2>2Y>z| z^0o`V`%a|&Yag2~_??8UC}H5ScoL;-f%>T)8v$tWyjsQ8>>9{Z>)>?ALWPdzT5ZdE zKy%ONTZK#8RC{-))E`$&uQ&g7i#o64zPP^L=}GWsiwxkK;MmAHcGzHf;UmVZuC`YR zEv;8uodMIc2IDbtj=314+Y3tG4>gk2Q!x}y3itEGZ#r<^cbIFQYS~wUE!Iu76evY4 zPBl%nEGxmNPY54O#PHwwfr-$>5(NaHO#K{n~d5}y|=L;jp5#ESn^q%dV zoWN+N)!(AsKbNED|Gz^edj9_$)ahd>hO}ymDy?p1L;cmw4xKFgl{%=7qMe?g8SvyYdki*J zWHnV}Gi_%z{r{f{|3`1zCk5!~kAWaCTZw8r<@*xGanjn?Gv-J0j0 zbR91%l&Et@JbbF@(Xh&tI=GwhqRRH3?&A+(J6SH4Hc3tXZDoX|DPuypN>&5;;J)~p z6SXs}8ulYNJba@t*xu?O%0Z#pH;houmqpLyPHg1;6=2XIdH1&qb`=+ob!Llvf2i~& zgemfXcj9QDWSG*dHMNrelC^j;XJP*9P1&Y2gMC-Cj(PL$o0aolW$b;J>{dmayB+*s z9dpF+hE4KuQ+-9l=y-6DS8FPS$8RTr?xP@kmE-QVKb|72UAc;)pym$?;nu06stI~Y za8H(QOuP8>o?-Bb+|HGu)p`8*=&D0bPsdb`lGJtqJg4X7WKW0W=K7_*YIHaSYbF6> zSYjDU{^WLQb0-JXF%a80CsX~-!G05HyP^Bb$i(KYrAOao8;aJI^Ru*lbVtJ)E*fN{P+E-k_czi$TWAJFAXe4Zr)S#s z3zqj)Di;+kBf=Y7;f%PhumgSjfqZ{oBfrCKzxZP;ua7;XI<8t9t&&c=SH%tq$ zKXU2c{;ffPMDG(ue^0pINaz{@v(fOD7K&RLq^_zx_MIVbpeXa=y^a;@q~2sBoq~1t zlhz8&Tf-FAHpgYpZ?T%{ND3S37ax4K-{AFWt+b>~78O>L%T#UJ%~agBL66NHR;Q$0R)YNb9c`UYv3$2;F!+H3{!%GppR!ORqQ8Jbf||o* znv_4X;louV=>B>n7+3;mX#KcZzZCgndNQTV7tq_ER;~7i@!cL$_m-iXz`}zA=rHBe zjogIm6|JTeN+ZDd&29>n9MXph``617UhS0%S?}Ulj$kHH_odog3XdWU4xfFjwAih9 z*zN|q)?FbN*M0pvYdImGX$W^oqJOu$ac9Zae*LlZWuJBupKQBfDtcK$G9#?0z219yRuGkw++sH0jCO4b*l#f7UVy$H%3X`+Z-xh(eEA8 z%sS$tcnI$!n<^hyh#E$hpWzK(@Ux5rxTk8>>bY%Cr_rlsLO#B@Jh6Fcqxq{us6*+; zk93~}t|x3wlUg%v%+ca5X&k09Ouqz0rb<@BZUd%O7@^1#MLE9rmZdgG)lUp86aup* zR;C%+->>snZV<-xNS2%RpKZSf|2$QeUMQIHd+>RBvm&nagHX(S>a&ulX5aRomvRHz zYco1A9im^jvu%!UETJ{3@*lf!O8%(%THw*H+ED9Kmz~uV>ZcqE=-Br^s_Obw^YQKC z&P1`;*XSv;=CH49d@j6CtzSfT-K%`a{L!r1wJ8|cI6XfZL^UIMYwue^{q!A^oBFVk z-wxBuXtX#J)U>G5j_NzgTwwLZBt22+M!4)?c(HiEQ12lw+hF$dy? zvUZB(SEXv+)vEVejz#3gDZd9w5+k%hBMZA4>A_S+g7XkGb#<& z{o<{SD7YIGr|bSXpns9me23A`Z8__i(;Lc7#DcgzjJjz^CiToDO2O!8yJEh=}LLMpT0^zc@hTv+#9cEx=V7O*N6 zbn;w2O092aE6yzsvOacB+}7>AUj^>J{^H4XJ!*_xz>nSgR59g+U#^t1+8IA7`x$N8 z=XQzxer+YM%OSx<%-?SQCf}daVj_}XNa`|ur|ONZpO<92TxIv@JuXA%Au4(?G=dy? zVo{J9TZ*;E*toBso$c#H7ekc=@&hVYlmqZP=|GtegYBQPX`8~C8hP-`eShSQ%j|4` zAW^IA(JRwANe{nF-#azx~=EVF@X*{0kW4!7xx)XT7x33+0equ=hB-yA1og0|%TWzfDuxw2Z z-C&(Uex>wS^OIow#+jlK@WSJoB{ZYzh^j^4y49ynFWGw{9lO0pDh<~x`k}AybtWE{ zxc-=Ohxt&=SYC6t2y?t?AK=p{ju1kp%wS0SwaRtRwg=thQ`KSLktLa)rYFrAD*Fxv z=z}Nb)k0v6+!%{>3)nPYTFQp%ijU1H!SdHdy+VySoWCq(^2D+6nE_8MXk6*{AO5e< zXOm|oy2)3r(2hatM3-(v9jst0l3k(tQ(~SKQ|9nPIkqt9WR|UJqPn$&_^-~y)g9d% z=>=uFajXb)k>_Kd`-4+O#Q82^bmQYEt~IfUI3*q56Ix#IV=T-p=zgd(WIy+tO6EHR zqJ8;XpHZtAe`#Lg=e*Fws6@rQmzv_@GU&;HPT8kO-#n+}r+zy3!-r-m=_N0JV1fta zgeNQ{``XS^J*3rgTAPz@NOj>+7PPB-aLwYePug>j*V7tIWBi_5#O@aj_v{>6yxmHe z0{SZh{4<~5?6_qad4cn20!?52@bd2X?d+#AJ@Ey$wnRP~+_Lubyg|BKX6}Ibi z(>AZS>&Hq@-9sO^{&X42zg3~-`9-MHn6;|-oqh8Ax+PbMYZ^16Z`HT%VWDnb`GFdPy)ELS6_wZpZjVTiUWg%8xso8*6)qmMGJ%*BVw} zC5R8fO!jE(N^$j)?8)V;P}+fLh%|X07g3tai*;T+Ni1~vj27NyELf?^uMuJ0<<7LJ zq`hUk*W28>pnAGb7_su-cc$Z9@2G`8B+5)4RUMg3+Z%tq>f$)({FB8bfPG>;PKR@48L8A`F${`C{reHm{Q}dW0)Syn=G22+u!1eVVOs`+kT2ySQvlewB4; zZ-!!bbxZMKDGrCG$eewTfl4SizxhszN{cth(iGWJ;_-Ww&HYK!Xhpl)wq?ku>B*0a zSc4fs3B)r9)W;}?hgk?~U8G+))VP=D3^H{Ej8tUvublLnpu_pyqwmd1x*3kcsNC~8 zRU^%f0E}`;uW?UVk_T;cJRDP9@|^`T}Kd``OQB_M1imxtU@WN1q7#X;MOCs|QTGbCkA26+=Sizi&8?Khas1 z_B*$fy32=R1IHkCXA|e_q%Oo7R2@F-*sba121b;i^mChEgZw^cG#h-gk#VDuD+5P7 zndU7wbSAtv>vfDwf39s$EP(5(Xl^f+UIfgXh-Ks{*lapsb5d*DC{{s-dZ7i3z=QM*mIjzi8#5kuOg-#wwPSW`OLj- zS~Yf%r>FC`X=M;|=gQ;NG3(D)B9aJ)t!pMSkKd1lQC8bc=GKJU%>OPTh*~@3_a_a9dCP19L+LbMl8kdHl#Rh zU*1rSAg}X69})eqH()A+cByq8mZf^OVK%Y)L~i5lW^V_Fk$vZS;>)6*L!Vni23KIj z&qxB^J?l#jB?J%EF2)-+zW-eDsyog9PNW9Mc(*C%*>~xPfoEvm`@+Y!O1*ChS@{`m z=;>KkslFY(T^>(&wrN`#6j0=+JtG!>{8U~&{mIkf4X>_dsx2l(((bhJ{>xUcRL%rs zAtSv&+K{XagwfCw_EKd2hSews@WHvkHQRLHrxbM@ZG_HBGynNy0h%W>0)CbtH~8kL(`Qb+072dA73oOVs?n%?_fd)$QcrT1BN z6yI6O{d<{hPv@<*w2sP#(^sA_^>nx9&^PL8XVW@xwlG4&i}pC5NXBv%IIdqxAA5sbalp zChONQbDDITw;M zUw#`pm2_gp8d^$aU6rLGJXZ7ZZ|0&Q-LOx^VA$)Lw|5yh@5^inNypzTutX!Fj3KpH zy@?N2AvYxBl|nwyvWcTT)tP>twskUIL6wMBfL?djBqV!!6~3iEDqlBw`UNd}cCSI% zMfcI7P%d}UBGR%FkcND^MklFH^+i+ko5_qGDUnl!i$|~Nnv`3FC4Ad^37}$TTP|uO zb@a!3?la``RpmZP1Y4STWoW-My%hw{6mio*yESH5p-BVs(gR}g#adgF$Kmx>Z&K?8%&npI~nHe_pTZ=l=XV-huYjw0IkDHf=sbabJm+DPpfM@^WTU+?wV)zXdq~^ z`c7}vtIfHLQ;J_J&64IN1~W!oB@CL*Pb9;eb69+BvZZK-Y%n{n>@1@k+c(mJS-VZd zigh&Ez675NMV)xPHC@n<78nbm2{W6l;+?pHNj1|d{$N`ux9cES@W&03T|qM^wBU#N z9VYVobnn^J@6cONnLUjB>R?@alzY2oz^l4&g>RRwkzbofBl#7;PljUPx$Wmqa|NC@ z`Z)#(r*ZU9?f6#R)3r2^W)H@fxGgvNN<7gC{Gi|v_38Jk^3RikixoEOCYozcx8E&r z-+z?!K~nr$W{uUelCT47J6}75(#*4q6->f~YFA~`n4msy#q)qmnGR{s9vzg}%cq%` z$GjCAIx1_scwqphPh3(@X@+{V&nFNmIFEdPshUOs2!O)Uv zd_uoGry+cKYJMav2> zcRR6I5Gf32ABO^Rs|7RMzk-C1MzvoX@|@DUP3wOhHZRbL(wM2>oY2+giaxyGshig7 zKJ`q%P15((Pxp=J$Q5h%68Yz;KL)O(Pdnn=;)0<^Q}mjw4kk^XGBY*Yng`#i`qO; zi(d6)jynAou+g>UDHXGgA4&b)@TsoOz-`xFS+Vbqf7;q}@^1Dn3`(?2d5_y!-@;i^ z6&O1V6t<}LmU!~zE#`JY1nQg70S(e+j97c?w|pz3>G45%NiX(y%<)w7c~2`3bpm1>8|VW>%WoQ z&r%_!qf2@sTBd^|c1NQgFUlWl-NjyUHrHByd^~Jvtp}xY(CK==KVPfD@#JnLO24mW zl$|RnwbH)Bc%Z_7deH37rBs>h3@6K17Pu#Ls7#A`3&yI4)0(4$-B#B~vrpbvKzmE? zroYzaj^%w+V*H4tvrT6Q{@L6Um-~L->{)ej!i2DBF@ETave?gC&oUQgW>)fB!Kp!1 z{(QsG%&Okgee^+MlEM~-%Kv!=g^%+Yd&3IWKL|CzI zq@DiwSf>+zH%Bi<5+1oLTTY|FS+`)>)W`70_UyUS8{F%aWtV#z1&u9g*GpT}AiP^x zkGF3;ip-vgmFM-h9_sHdC10GS^v!#>+7rs&H7P!b6r1MeIX&}#Vzi{`^8Vzu=U`B5 zeabc)%F8{raY_m(Din9U{S1*_lJ@Zr6(xvC~(bM6xw#l79#!Ork*QGKmiJOJ^uOeQX zcM%miiU&M085{M|`8s6w=jx@_MBAp7}Nfut5k0!cCyTk+<2BNe}lEd_8vW{JI zvii8RcU20L)+w){ZX7?AuJSN2d!H3-sq>c(vGLHQ!o?>3imaA59^N)&Y|#S~47787 z)LGZZnR{4XVo8+Tlx*f68u=Sj<-~dEM69d3uzV$T>~2Nn)Vt_+AzUjdP4|8s)$)yI zWcM9Wz&R}Bejf-<-#R(Rtc~V~g_QE54Sp1-Rt>F6IRcK&nKA^+-(yPM1dr`%R?A0I zUVgk$uiRAs;w(70@^;#;OE~92SwJV>O(U6`XQZ9)l@UupQ`EHf^*)1P5eH8WHN>KS zi;e`J5_H#_QZYF8DwHm?X3stl z;nkiIOl+6X|6QccbjnLF;;AFv^zoaRx3JzA19h|0ADzuZN$IPDY22yD@xn`us}E=t^IyyQS6py7<}3yB@s4o-K7&PX~pVs{$1u~s%2qY zzghS_P*kIkFWv7_{zw&@{ilKER#N}eT-$0bm# zYf$3)1BW14iATI1EB3~iw8#B(4=$*J?JfHdjCxI%34oW4li@b;>%5Y@Ot(20HZ}4` zC)B=>IFQA;{`z9sCFGMoW4xwU7EGc z=9}GPFjPTY-{&(R4=BkujDStBmM*T>P$FMtyf=zy%ywz5K!{74RSeD2?iI4`+L z20rzn*=HL1mtGPizR8sRy7`i5YqFr-6`(fIo4(8||5 zd$nxsnFl+Vf#XOz#>cdZU3*()XhtJuRGPvcKcANMR`So6ppZ|Y@4jTpGfh<0Jdk_R zt#dt3$I$55Uxe3OUC@2llDkZ=!=iQLq9XTXVWR98(a+fa=GUm$_HFBU8f!{k_B2)_ z9T6s~uhC&ePWYYSby1odLw@6N3hxu&woRv&Dkv0frwH`!j9xqz?c^62NvD z9QREW2AlzRk>@WwLX?Iv}CQv__6g{X}B+AKzhAe*RK?w?4N1vFJ!B5dTp&gl3*&u1w7p% z!9u^4N%R-t(7uYFIF@l zwTAUG+<`Q9H8V%LG)j7VlsDQv0b#fC?tn1XgVij3UpkzMaT9fbx{Y#W1MkgC|@u zr3@<1!4n=BlE6+q&X*Z~DN)oD8^Vl#kXY@Eot4C?GpMA3RRAj4C^1j04!}VRTWsC< z1^Ln#&nRr`iqQ~&N+XCsC^Iczr?EAaM!8tP(gZ!#)IS10cUSxDbVd z$T5a}PplxEQv*u@N@BrhFmSkIS>esbp|8NZ!1h!WUmZ>s;9vT07Iu_?6Nd+OAK0FV zs`0=^0{n|{L&8v1c(Yk(K3L2db2HJf78eg((7}!gL+Rk*CU|oYi~}BSM#f^g3)Q3e zp{xkUQDmh6R1x9Wi}dA(0uYYFNM8XcFT!yExyug)Asoq|gDKt*)b(6Fr5NXHjn@Uh z7{L=RSUGXrPX?F>!m%I8XZ+O-TgiggOaurMwE+92xHe%Z4V+*?#%>%(kR%3?23#0W z@d1_!;W&YWGtk)J0RRq^*Jo6qD<+L!aRe3UfjMPRNdd3+BKsK7^*B2g{4_(74PFbN zl7o@~!PwvdNUs7gSx%Q2;D&9H!f7Rr|Dy=n6Htpbco2Z26sL?>8Ag^FkWAI6Ox{xD<8Z%gv=9wUPE*v)Qw7U8NyIXc)&Xxn>F4Lppt~Ls>6{v zg3v_AG1Q?8Mv9-P1%ipe3w5yMPKyFm5UAOD92p((OLQDW9eQGBjqy-WSDyOBI~u> z%;k>pPV7ztbGc$z61x##wa-WjGUm``W1w#cs zgkZH<+(#lxy(TOq7|8Zwb#`rX0 zA`77F4Vgy!M<9V2V7XwmL1axauFM910wh8cV_txZTrda$q78_28SeNH>uHTg0HFfl zo{uOeSIh|iKLAM*?r4Y=t0RL)c&fyhoPXevl__56A9w`2LcT&dd15O0i83G(0Pbjj zt!co?vEY*!NB~3(LcQkQKLTkH2o(YM^rKc?FuVLje-KF&?r4N1LqETm@qombtbgQD zAPV=(8czu%dL+gafn&cQ1K;6jt?}AGqGjUw8*uC>QqB~wEli{bz}U!F|Inj6ej@!p z^r*Xle1$C{qlXM67R32;b#m1S8+;ZJDg=)Ggd+FdpMk`KIB>=+3J{eMs)NWwBpJRV zD#N?eP(7|#GJNI0K$1b6C#sVR0-_Y_zuTq zgC_$%T?{08#Cf6mAqrPSzQKZrF_3Yib4qx35h@mfy>Q2L2oU8!BryQ#68K`A3@c%1 zP4Qg9L~TIVOXSSGe;Cn<9@fDcKLLbtfg>PTGDbvVa2O@m#!&JLTH^zO#5>>!H*Aj- zPJ>~&0DSQY$%Vp=SmTR;L~-yhXKbtl?xn!+pyRn5JSGn1w^!=mjM3&F9&lU$!Burl zWHIB-EO?2;`e)(IeMqiSel{;pF;~o>z%XE8zJm<3@&9K?;^-M5SN8YF0Oft~`~xLB za>@TlByeW`l`OO1|3^Y*GWq^1iW0|_{Z~6m5;ygqri+ZL{g1(dm-^3uG2s2%hYJSG9PEDXH^kI6y#Aq!x) z;4$(48RGDmjDNf$3p^$XWB=OJaNKlV`_)i?*fhjUgr$IKRxL}G*{uxd~NVPJ4wg=uV;y5vK zMvNE8JZcuh@<$XIhY|*BTZb~j50E&1M6(1ggh3@9yvTx&OiZrxB0nb&Ok~Hu9=Kzi zOwyC2nmU;AvkZ`R{rvy{i3U6`Z`ScrJy!3Z#BmJSQ_Roi=~Lr^i6tA?yvaz{s#$u{ z^Tt^TT+e?-3Iub3#N9`54k9mfu=fz%iRu>!6c0$HQ2pY8NfFqHj18HFCW4LJF>2(% zA&pTi_z4Dx2Ft!GfJ6)qJ(YF2G$8}{S} zC(l}DXoQtM)!{E!pYmodkJjM<)u$erDj9CujP|=C!X5E$+Z^`0XyGWMUT`%yvZA1OZ&ywSL?Ylf)&p9}`*gB(R9iHm89cI5T2f9kf4w%_HI> z!#h@oagAguWIB#EsrJ@0CYQ>EptY@K$?eO`LenAK$)yn?=t1l7OtXFb$_mBB3BRah2=n; z2J7(M=u^f_n9ATJb<0eIHNlk}XaM@KevgMdLQA%*Zu5HNYHdy36ZKi-YN5WQrx39% zYv}F_@$QHtdC(Tnr`(xc1H4GDk*yM#gv0^K41Ll|Y4 z`5H|bGsle2pqFPPn6v6=jOoIzxTC)Lum8}LU^#l1X!F#`Fho>*{o+Ra*3z26)Oy~5oum6JVx7@g--%|8LhJ8) zw&CtbXOQ1iITNtPTjA8TyX@XjqMg(}M}v35QVd1E1e^Wbxvt?!y71s}CX1G6Iq4qx zow-s7KG6bJ9%MUq=;SAQzSSZtpVF zmj&7n-u_^F-jlYQ{W&q&?#njwz^ml+rzRBM6f6`ruf_2W>`(8SH#od(XBpn?c(J&$ zyd{&O=(y)-H7{$2{tme~aGm+SqrCk5ZoBP{kFE68TV>IlrwaQa16x(!&R@?_fCXPU zU$*)fl=1a`-4hf??Zox`d%qJH`eb@*8{>y!Z_mOmu3g=j^)k&le~uAgSmSE_rUw2{ z6uAZn&{gt(W9*)-{l+oZ8S1fjb*(ryuJQ|FMnVMUfpp0{s(PCu{pyKoG~Cpn;uF2s z;HyV;7A3EA-n}e&rH5t8ymuGeBiR3xLB}BR)A>Zh9=vlWx-qaR)Zy0-w(Nxi~Ps` zhq8YR(k$q487* z;RU4D&6o^Qz&u|19YJ3a^ktWv$YHpHYQ-0p2rK5J6k>}6Jxmlf71Gm@w16@vbUA6nBt@ft+VrzBw z?=^X&Iz@8YW$R^ZG%vk!HAr_F9yRW5dcIwMBEei9%H$WB(BDTKe68`Za%DCxVAbZ0 z-4;<|H*{1uw41eRXMf=7{AYPxPeqT-s%}70S&m2^)|T)V?aswVTer>WH(iQE*KN{g z0?sz8{nkWXr&EW0epm_hJU3f-a6l4QA9ttm72Qv|Kv zpg&68vZvWS_>03DVGYphHM&}}J#6R|N!9!Xr*hdSX9EB~?^shofoob@azwy_Gm*5$ zv@j3MKxMHqCr?0SbX0@g&JP`QIJPABma=@h9kX_|ynmXkqTx30%<25M!)r1(wF{yI zr2Uh+QjC8A2Okj02d6_b;q8+S7O-yqGK&m10p}q6OWvR*{9FzkJR6=(@*a`?TgQ~_ zI*HN`y>;-FP4u-Q6Y->%&>cQuSfX}lHes2*&=JC;J&#>7RZUYUSznp4m(dOU>`>s0 zxzW~j>LDGBvQ6RHI6jUvn2(@GsG8#N6f0R}h)YRK{+)B)IQ!9snb3)OY&?EyoRI=5 zBq@RDjA!0bP@|O|{FLRq0q9Fy51P?(=?G|0Tn~!TI9r(Wt*HVFJEh`k^k3C-A?u{( z3RdXDiuhtlN+Tp0+^7Fd!GFZ_;U++VfC^!NfSCS&S8yp;GrRws<27n_DmZGWe(b@v zn(V+JCFnj8D`|+>#tjVUmUM{P3*?4S48(=><8qDhm;2YDf3z*KXHGr7P95el&LPb% zPi1>w`+E9wm9)CoJ$C0|O;Ay?|GG?!n4vI&-r`eROKSpRP=cFS=!n zpy3*13`(vl*J2N883jj&Vyex6SWHu7UHv^GW>z!+0O6}sO+^zq+KrueNKsP}+%Jxk z)Tx$U-;|l!|D+kr@Uk2RG}?XU$Dit8z96l+KA_FE4ORh%rnQ_UNVcvqcXbgALJQmpO>HS^1H)IyLA9snEKBYMnrTT4Mo?=?W8?{NxWk`x3EQr>0u z%^ud0-esZxenQ>~Yr95}T~AiNX+3^|I61#nKdFLWSzgui3hgky0i*OA2ff7gFii5H zhP=Y)5xm^vB0FMZ?7;_jyMK2@R$C9hqjHXjYn&vTbAt$oT$M)nwISx^w!Fhlf_=Q4 z(0-+pUr@f@uHoL|e_;mBq&W@mr4@&N*5=$d|7=Mj*2kP=^y6wl54t4^ zUIA}U%o5!028*-<$$JOUb|xh1Oq2LT${az(AV$iOKsG>2AQJ3BtiUVBW>1FfjH2~I z$}Dp8NcgX76ikIL5*!Dj;IpZcP@g5aoHSP5N^HcDfNkU+OO)t{D#a20d2;A86Y(kb zAhwC$;Xky%@;EmoM%?XvdXUo<#^M_JxGEr$(DVU_z?r!->-&KK*VqIUT^$^4@#|aN zr&w+dRw?M~4lxS!y0dcg6;7uT$@1L7!F`z=-svT!&*D*CuNl93efRSZsH*`1t@9?&i_K$`uFc6U7FCZZ5|J%VRCHudy?tdd&B{_uwLBt#} z(6?F;KW`Q!-nAjXB2FMO3^{v1P+3W|oYYz7)%~8q!(W7339QzuKqmD<@6(GePnHk! zldpp(I3W7JlyDGMoTTwA>2?cL?rVrp)ywC0AR!RVm;~-~FBNp_`qOPs+u%5H6uBl! zdyEQcW_qYzK~76%%2svr$Kh!s;qn#N%CjqS{dlvnM(2DW>--+UwAiw?Aj{far=+2A z8rGFL4o)Xrj_qv)<6H-zkxGoMie?HLt@_l1*Bbu!cQ&4f#bRJ?P^JUDghp^%t;?)itR%4**rb*EzA*m+~NXj zqF;9>rp};Aa%~|2${Y3)7`b4=Afq&2lr`B$Raakz!Kso+gz>-sCMP+2NrFh~hN*^I zttqBMF;(qvA(QYUfQ1Yr%1|39d&&)GMsgU@3^ndgM%D?k4cQIf^wqkG8!Gsr)c-*J zPt-Oso&ebVCo`^p@}v8|$?iX*6E<@BZ@d%l32x)SMdDg%<8C>Pds)&vH| zLpN|j*5Rwz;Ms&Q2W9;!KOp~emB^5<1`Ga6yCMD$ z*!CY;6Lxc9kTkP(G;?P7H!^l}5jAo(616gM{clxQ-Tkl2|J&Z(Xt41U8k43#vvPqn zRoo^@5{QkE3_G62d{aWC!iLcX0TF-uT$jS^S{|CWi!;g5G$=AQj zzu-{F+~TJDWYc^0ZN_6}+yDFPfdOc>zJMe|7z6w^AQZuk67HZfHqKFQ&84i zm8kC_WRvSnT?6BN!(8H6_d%9rpp!ipqM^UrNanaqR<8`@1;>w9K$ko{qEz3h-M6)& zJUHlX{gb$(p_Py2H|aDP=5ML!>EP^Cs(4~0-j@|scd`90&=YlS9&Z~ z8eVd7)T@m}`m5HJucOCdPCM!FX9QXKYlkNih-^9q4f~&8bn_k`D{;KoZ01vSArwjh zVyV-8I+*OY{O`Tc3p*So@xcT zb!J+uOxJr^Sr4NJsmQGKo}$!q@)R{YE6N;}s_UL7f;OT9P;&`w4)5 zV&cvd-c&?L;1yhbze(ssinYQAGeGlnElBETHBA`uEEFH462D`&2!J77fqadoK%Mb8 z<4t%&+dX1ori_7T+d2acWCJR9YaNL*m45b4C z8iptfUKsJq-e3?avdeHXN=VzMOim$Azi~EtSP=|)h2r||k0?&j0KfU^-$7q}&5R8$ zIVw1U@k_g~YG+LnRZAtW!;eW#^o)s>SI)?%ttRr~tgsaq7>q0dKVnNLX<1KshqN*& zwv6Wj^mX_pd^6=~+R~Y}sjkEuo<{=zbI0??l4_(w0|BLD{r|b+6&)OG|Fh#;G`#^j zX8)>^kzYwIEY?hR{MppLygsv|BmAX>MZ4WG>_$UtQjb0&pSVb`leu(gT1`m}EiaVu zyIjQZ0UTC|W2Zncum)QhU|}vYEmd~n~%!6l_KB|$pW*e0hDWbI9`yKr=-R z0**%60uRqXh0tQ6er-N;F79~d8-aohj>uiKRq;b~#y#NRqHR(AtklnmI^~otQRLX& z3rSgVIY)Y-rnp^8!4wV*P4CWhOShm850c&CxQGXh#M{e(*UEMbULyLDoG+1ZbT=#V zJYw35o8B_(jJ>&%H`rr8^FJo4c&+F`tl8rm7{QR8As?zc*8|1eXbyD{UTkALI%v$IyFV_<3<8@Jzs8)MRMAPTJxWxOynw!fPSp-IoIgokb(zie1?(Lc`sc!ydGKen^JneeY%Hn(KnSku~nJ+qU*2io$j- zy&xEO75TNMK)-ljCVX_btz{&iCRd^x{KJj3xAnBwen3smiASZ*M)RVQ}9xSDD1 zn%PQ&Nyw3qZ1iX?l@J>v#8mDi<6lUXgbJ1o|Vs| zVBF?$^$e#$@3Ok?@xxi{*}~oQzd>v7yw9o3@t0%}+u|(&+Ovy{GBjt%I1vgCYL7_K$AJl&Ndtm_G!MIx!GzCilvI5k;72ND!QX1vL z9M(@!%1~`bZ4cPv~Cs*e`J*w|-3n(=a5q(FR&T zBOD0wC@@s{Mzm2VvoX3Yt2@?NG!kw%ZAxr}3)I0G%@tQSv%uzR@^7Ddf9eBDf#L1~ zSx%f7Z4PmdjeNm4dE8N2CNK@~QbuU`lY#RY50$$Rvl98O7m?8QBsuY#R*2FVj@CF{ z3bb6d&@)#{N>Xn?DOxz5CV!$@Km@q_;9ekaEYMwu{mi7Hg%+X~ zWx=41(j(}||8k`?^Si|y$>1}8p_i_p&@#8AtduA^wipaZ!(sTb&pB*^vA43L8gx`t0#15g?&`GXCuz(91}F zyKkTJ%e4`hO;YG>^LkBb(7o49pYg?@|JxCmUF2hOLIM7#88>KQpFgq@y*Fwq^?-7B z-vckm3pLkxzy^t5N);VNdlE^t!=-#*C26)@)k8D0JN`mh)w!m$U*lEkfrFd*7o2Nd z1_AA)VvzlkG2S`ivBbntdQ23ho()%63M7a#Mc^?HP>IH!Z163D^`QksV-2hBaV_TH zBixmQqAvvRl}Wl&xc5&{dWMMHFfc1L1>Q{c{T1BNrb{`Vh+aar^|)2ZQEZXlWKep} zV75uRcX;SFa~Dg#vz=+Y1!Filt#J+gkWcj}2y6oKUbAK__nv73Hs3x>d?%acyiGBaM`aWtz`OBHMNrcm#u)(oXnWNVhoDj6meCO26WCIZK3<<^Pc z#EtJj$C0WnXeWeWp-il?3d!*c(o%AXrNh;Hnh(H)|Nn^^l$V zz*Z8)R5yVf*aQo|!6HI_05oriD63>!mkn>@1RaxuRKp#XO$)D!!(@RK?1Or92dy~# zgE!1D-!9)KUH8+BJB$aInN4l&&Q6=1SOC#q13K#s$t;-Q{z8^z?#1k;yBS+VQ*Zbv zQ@ZW7FpK12&G4kxR-atu^C6WA4RooE$|rGmHqOv4Tp>1GVL4ph3r;U%TA@s2j)uk$ z&BdVVbESbFP#TX!WQGR6y83^~(1a>P^OWOc%Gs)Eji$lqR~nbC9fS1Vf`+Edtv&8u zLJ!-iDv;FDl17nF?gn#W2(GK$bu4BvWpwI_iqeoEKSBTUg^=%;mH6HDDn1cp7sXp< zePCDqRc;UiV?b&IzclX>WxFx1RDThAIPK&=BuD3Ow1h+IC@Yk5$8?On(&d* zfsDGX1$vLD2VS{_Cbp%q@k0A^#{ix~8D)r2D4Ho0<78|Gk&tSb5>~+#g25D+cE|sj zlUPSw1Tds#iB~h~m3a2Ry&Tz0L#at9KC?Cw0tUw-Yq=g!xMk~WpDuv6|m^aEjLDz{RX zjiqDbtvj>HHGnx;tbw1LBOK$LKx`*&m!(7Wvj@>z-!8mn+dR5Xbh6TVxh?J6iZ<=q zYchK?<=VTQbQH}>+*DN`8ftgpzNy}AQbk0tMJK9yVMH-t#azf!aYDbt=z*bC<59iB zqkfUmPGsd)YNs~T32Iiy1Z>|qY!>I>FQ;n^Ulxrk)`8io$7+Xhv4J1q(=j1=kw4dJh9)zfy_LQ4iPq~7s577Bg;d4<@ZZxfxZ2qT?@|2!SEE`1}Ht=@13 z`OhlE3EZZf$BEsX^ZhwE@*(#$h`KE1G^5+KCpADVm1$c(w_X!xa6U!VpD!YAOoWG8 zut>oE8czygh}3rK+*hD|&U@Sc!swCfnVQY+MHlLrlrq66`y|g8p`Y;rwgSVd82=>r zpFns2x59qJKk{GskKU5~e=-34H?@`e52^icXqzOX0K$YgS{9g3xsT&xfPu0e#StAr zgDt0sOo&W`4;^hY-6*p`KVNs;kMK8)89w9{(s}OGh~;X^-;brq&Okpe7ub;C&p|y> z*fggtlVoRk+=g9*v>Iz#2l=BOo>?EEvDpQx#=*W)Rc^O&JRy)+Go(+_LA;Ewvlv|& zgG^#wADaN2X_yT-R~4YN>mYv-%6Fbw`-3yyQiJSenNIpcB!>g&g~o7p;`?_WA(j*(ia^}lgVN}zHFHTzd)x(RwdS9-kQ8aK6 z)I0H`J+e~A6eE-%JGhfcnc>D7=oBUojFialKNZhpjh&t1Ymfpd>lnd zEh*FvGrD^BdZwM58s3RDZ#?flptSoOmpW7)^-awSO}}2;9PgQ*?4Jvs-Jk43m)_4q zPoS(}Ga}p3Zfrk|K_21TzdMB2gY$^7doPD4Jih=MkiBsplW_+`OMelB0SG%ZqdOP_ ztnyCK!~91xAN@o^vj%;+j!jX zHrsDaX#VOw6r$=B_nd?v3$`uNWppzadHT;{RBussf8s0wxB{e;qszRITT1-J+X^6l zyn&S0Xx*Qag|ShyhhW=pVfMU~g}kI`g9*HEY4*IdX#<ozp#?Z7^au(CuArVH48#b^OoXVS7GFTbDp(&}m*ZHgX3MXJIFVBZ8dhHPr!t6QB zm#*}i^JzFzsQ334ZSgluEJ>v;a)w8>RGZB2SHis+c~fQ&<{I=iSz0=VGCq_{$(Xj8 zy($_r%skKdxvUR(-fdAvS-QGoYn`RfrgGO*3!hoVbe=3c#ELA*h>)7s-#YSz}wU|xxBRXfIfC*h>vKg)q=l*UbHrAU{POo%NefQipD(C_s?12(^xSA7Pg7< zj(?u;8R4<;ut<1Tm<)B!F4z79P!IfVN$#P+=vfdbxI}FG1d~IXi%viaWn=(mnzg@9 zVQMmY<}~5!`^$}ULs>JYytNrGrEN+D=;4yLVExh^-{Q_M2>(3R}NVs405~f2$66=LnW-1WU@?{ zj>pX3K2vhL2S|E?N>^)}sfv3lRhG_D<>TV5yrigY6oU<7#_T^y>qzZGgNrkeF8Ql` z&jIto>|_{;z+;2c43M7S!>oG)7-;eenePRIvTZ4{mNr@ciS-Tt9#H5Y6>v#WYi= zPOmpW4a&!~j?g~96UTo@q5X^@?_lH5uQe>BP^Qkf9OvE6Di8KTvOZ@~vG|TfyK%Yk zlwK<}*arn*C1ib8E&VtEv<=W!9*V*N+s+&&@PFJ2Ws(_(){6hH?sM#V-I z?gY5~Lh~+O!OX|B(KLfE2RkYcuy|_@(g5ld2atM8ka6@~1Eb(99k(!Y7{EwNVv@8A z!L?Dt#!^;;?Wz=td6Jt*UirB4J+yNsT1`G;q~;X^A<`psTal};bZ!E z%TXyE~{Rh7R-`jJZvx!;t`$VVy!It_u1K zySul=2aUFq;zB(rl011gosnQqiy7`Urg)r|WyCzjd+rvFRTFux&Rd{+;a#=){NFh= zP-4^>Lt*oko|Ohdyroyo(9J$_t~%{d@8V=~_i)Gw?+?&*zsy6WpK9A&griMSyPTwy8wEd%V{Zn(uB%ZgNdDlMi_DN z!Vru%fZ9{BU!9rh1D42ftHU*piAKnyS`l&j6auO;)k(?X@Vi--JSQGgz$T4q#Yy$B z8fJb<-bfRHHay=LHkUVlm;okL1E;BeT^a@5^*6wf^0_1Sg^>uva0WyrX)m%85mL5(bAt z$nSx>Z}x92z3UC8noF`C7mF;P<2x-ye~0D50?|_D#Ic^S^a}>+0TU zheR%y2>Vy+zz0u_t9U@xBJ@7t3UN3TBcp8WkIE4c9jrWY`%@nRk}Q3Li{koRF0=pw z@Vi*Avw~G{^;S@$k&ulp-~~;Zt{o+izO7}8ICt;z`;&G%aywQ-um92@Bny07E!|6G zjSznaYvlHA{CNmq-z_x*JYRp6IeP276@?FX5(qL3gDh&&m9zueKlRRQ;q&?;|2*vV zQB^y@K;XWC%a0vRI?htj9_^GN+N!v~-G~>~gp-Xn(CzcVcMt0fDc7z!HaP4-+vD9u zLgd;xJlk47*k+1PR+F_%QVvJ3l-KCZ*k_%0OlD4wTzXt_2Y9uwxg`pSRdYs#Cl?Q~ z4p^^rR{W8VUD!zxTgo#JI+;m$D_R{-)G2~)m_TJxV{NQ&} zPX^8cpM6J8e-{(a8a~$~oI#{1hS{Y;kka%YSk!u!aQBWn(ts}~@P-m?jjVyTf4kS- zDuzX9G@O*AZok4^S`5KTv%3tfd!&DG-&Zt#N^0#CcTLHV_^^aqV&?RN|Cu#R2xVdl za`*d$ZLxPBX;;bo;Fi7r6$U%ExP=TqD<4-^lbp4(-VPNOWl2vF7Qv|(`QwH534>%; zJe{vWG-Alr?U4T?_i0!5v$~Lk3|`TRTaxRX?By7bR2%TwOHCntrFkSSHBws3n?^kg z=ORC11Z8bruRFX)W}DKR0sZ|>^T7iVWfa(82K#Z6p8TyH43>&O!8rjLBdom;5T)e8)1zQ@b-i_mww(8H=W9irZL1Cb^Yv z?4cV(%rs3|D-U>b&NU6swuIDK^QBzl$sRw{QBN8V=k>?LHIGZh{Z>7U_mQ6-*0bvm zye9k`KwX(!6dBvrUW;YbJ556x7_v1_X!GNi9KFq5jJX8rO-}gEp0==P@ds$dZrMC7 ztV$E5kd_380W~Q!+}|H?_U*{&(yU_gmlua*gUhz?T9EbcIXvZd05Y8&{r-7)Z$Y@c zl=M;Y)XX@xRAfmqC|Q6Wp;&L3N|dF2Bq>#9iBHYHb*9p<{ut;wMr8`P(+UDEllA~F z`cBM9FhtUcY&#AYhvvgR>Tgq5D(_Pxoy2h}iHi6&1@B04z(1_)gfY2T6%nypykrv* z;!XJhF5R1J>J^;tPg1fo^-M=P(z;Iqz?u1b^@{4B*Vj#}aMPF6hM;gzUf$1y-s}-+ zb4Txla&02TU3=@6$dP+B<%Q2azc$IN)kpNa;lxo>AMv}&vOl@-kP5$lP&89K<^s(K zqRnC9N>3)SE6PB~Cl8QJT00+EL=T@=jF6c9g{(lv+H_Kw!56k>cC(!PL`bTCUAXRu z&|BozR-MA9F(|1uXj9&=mEnx=It@9KpS$LlT3dg)Q?u71e5*6a*9G~{hwTz;Cu@AVcAn~AT|cIb75~F>a@7M zhIKFQeH-eBw$aiyey|bcX{H~Tpq75jKPC9ALRHTmm^8$`3|=`G3`X7!X^V&PgX7c z7qu%{g{qdcexoU(MjuO1Ika)NHOIIjH^i}r6RoH+T3CE$seB3ssjhetJB&Gxk7GOany#MTxK|11xCalv03b@_f=rDb+Sv zaz@6f=m*05&C2BsV;zDP_f?8;`#YshOP%n-ay1(_gKO;u_0E<}yJh!H-zD`Lgy)|e zZwu$7=#}D*+ey9?pBJ7JpWPqt?3*pm=b*4y#ChSKIfbgzywAfD|CLiNf-jh_s=VAX zg12!g2FSN^aR%uR6M>kbw8J};82!}Mx>u<(4A%FGypc?q&n$6)hsCN#7lALHuK|f4 zq28rajr(IZfo^#R$fMPPFC47zGG0HLs84y#Z<&>E2Z1kyuewJ+hHj3pM~L?#$j4OJ z-BgU5*E5C3+Ps~j7qi!ZDZXP1{kx3HD2kH>BK;GCi2}yjEBPFspDQpGv``Rd+ZMid1 zWMx+77<=h5XHSw8fl*2Hefho_*^XOQ3g-q}-a1S8s6X^QTnUq-O~NkBYLIl96R7vk z81#&Fv*h=8EfsCHq^uk&`I1c!UgHPDqCe28a27*UITr8S-?hMgCyw1D zzR0Rv)=Bf!u3<%41V`%OAXkX`VI?(n9OIIw-7>}4NfqzgKyPvkH(iaCl2RUMFEEjK z#wN&(tr2(J>mYNLqG+q1B+8v#ZNgNDPQ|-jXfJNZgk-a3LAP60QgkO<2`{DsY_p`a zceZn4PMqyLMNqRe_*_FuUD@?58kXVGo10ZgpX^&hWm^U_;jWO6M=ns_=yL9CvGJFo z9sHNXwiS8&)*w9@~oh4V!O8dj+&c5Ok zE_>C!cr?o%;8$2{T3RGwpOkujdc+L>-)0V)FoDqhj`J>R$9CLVzckRg<_)F@H zxoEe@*6oFG6x%#KPBpbs`N+cSRgh?g<|H9c_wXZ9?AoVPNo!28((_3_p_Fy&m1@EW zSgFC-g5PH7e$wPEFu_*+WOU#hX*d`|*g{d`;F8x9ltvQ-Y(})(UaOFA8-MaI@1XTO zb_EO`l%~Z%WKIStJu5(CKPkm2bMnuChN)H>1FSJt8}AN_ob4=j1#ZXH*-^VDvC%=F zuTiIS4BWUa>~RBlXgwMQe6C3i_r!ioh21E<0@k=*yJ)THrka^853>ihi5|p8I5tIc0aQr3VvR#jLpn53>A12Pkg*5f%Y?Rc^I=jEk2>ltd5a7tJYu&XP-H z(vM*gm~u#Xt0?#TWPZ=I5PwAr_?N8!VrSfVH4Z$vXHUS|SWdg*F{Iq^mfLg7Y(BAa z6pn|v8TQ1u8IHiQatj}r`PEJq0qrv}xGQJa9bn6CGjdzBLEYSSe^apQ7ChNZN)~}p zDJ@PPY^qGoEk#1C4y^TsXCn&YllJaaBrN?mwT%RWw#_qsJg*FJ6eCCV&LwQ^P$ zMY!{15UjQeTqyVooziAb=1I8o7~)_6zl5FZuhhU}E!=h}oiV$lPA~^2oUop6&2w7E z4nZB3J+tN#@7L(#l6e>I#~^nCzDri^H?ZT5!Ynv-|AJQ=MM9));m)QFENkfneVjHE zO=eDMO1Cp$cGGDV8QO;8%;IAU4yUjJV_K2iBsPks0PIh9kg!&SxP0Ms;NKbAZ3Aqp_O5k zm~bIa7Oh)3x|S;AMnQkMZT$Fr_{Z*y3Ar2kP`(sJV8R{H%AGqkmKNAxmtjiGU;&7F z$}m-Ob4_24c&f=C?_!+BdBq!XEiEaXD7oZz8oRe3SwMLUZsh00nRY#URgCHRbp|YT|UFs z!|2$DWrjMAEMTn>>w>RYVkJiA0&NMRrG8t^YFrAebI81SdtI~=C%%X6zlaW-IOe* zsX&9Yr{Y2CJCK_e#L1smO^SAY8uSB6S56&#*6Dj}g#G1@ny!{wwpI7*eZ9i2!qq`q z&4M*&WS;u1CP=tBvvA0@<8wsV!f?wNr`5P?gk3-CF5}Og7G_;j%qF9KYs~D(EAA$M zZ{%cS1P{|=V?+-#&jKee?hY(y1P6S)(<#1dgwT@%F8&4ZsHC}%1yKS|HyJ0gCo=Rx zlZyW)Cy5l)jHR$`nopN3c#$TIq|3}DC;u2OU)>R59*U4S*b+w#pVV{!?2JeHLUhlI zt$uhNR6M>f-}1`oTro~RF(=v)FQ1>iQNExXo!Fcs`K0{U*bxbUhvNG;1%Dvkhf>WY z6>~Sh5xm+Dqo+>8t$rC?_aD-2c#p9 zDnkik;?8h>dor=$AC;os!ddESfil$gA=RMNz>gJQ@B%b=FxRE-imCnH0jT_}#rb^z%xO?E) zL4DvcsAH(rmar}Q46=Wzw9s6q&x#K8UK%D*i7zpH?s?vqH@0Vb)I@xqVgJ>i>T@K9^p@*& z<|y8VZbYNcKU?#N^=XBQovwq;tF#XA&+z&vw)QQP`jExq5wz>$fo8eSQZ@F0KRtgs zIcmwv#r6(eqyT?xvIh8@{xK?V?w7}l?VGY&Fw4DDVm^6R8@i|`vZ_7*5Q)YYH7Onk zSk^xSMVeO;zFzlbZLwutR%}C+Ls<@tBUZ*2VfD>32iaxhlS1;EKvznt36ESOwsxW_ zL|=4!WNW$KR~DtC7h5vc5mie#;LC)ni8In^6<@V^bSszNA~5HmjOjJ9p6cv70rU0X zWIQ31>r5f{*W6F{BecD5W5+MX@?~w>!E@b}{m$oMe3qAT>&Q5lN5s?>dYSQ3m^*m& z=?)D(bz1Qrkau|(;$|w>BY4ymuyW3CjFZO>%s*xQ<;5MKR%N}~CqYk5q>T_AuKycb zVvmY}7^WL^CT(xGu5Z*2`Z{lK%@a*xd^X|RKOmzw_`X-!@`cbsBlUh&SUcji4Y%8! z8%oKUtM9bf%9X?mM6;L9JJ4 z0`utf1a7P5v7-?O7h>XVjaCgXowMmdz4GuS37V{wBS4KINWTw-%URERNQur(VAa*WgELlmWflcRYk8IsDk|ibt$~;+=PYGC)q5#Uc1zVdE$(gj1^&ae zIC&1|#&wh!tRTmT%(yiBSJG3aC~_CJ=|jd4Pj)d*=4w}$^-%?mB(;wD8dnv8vECb1 zY@H*hRTCPx#~Od}gCJCR&}ZefrR^A!4U~J%gb?#ds0$}41-xFOxO`(7l>{Qhh}RlQ zajzw&Jxhvcfdj6o96LhdWZos*Z zDIV7}FOXvl*zp@XV{2;P7W61%RY48e|LR-+LP1N1I^H7A400LX1(|f%7iI50VS|}0 zfu0-}YBhvPkJR)EwC`U)afM>frB;P$fk*|Qa^iRX^znedA*k-b08M~%2f)3~kY^4y zB;FTURVuFsjWMaAQ|N0edr~2nSKKR;F6&7jl}LM*otLO~)9@+n*ijkW7c)7_(`-Xf z`lmS;chVj0#xLUAk^jzaolix&h20IzZ$%CQ?RFg`$R#1x?9X9+FdwpcO5h>^p0zcd zS)U2N44C3#v`N2C68B6j05Xt7;gn(FjI*R6gmhOVc^U9^SEiWJ3}Ps>^J$=SF_q3B zF%iqcNQ)H8FbSn|*($R2uPgaZ0#YR8<@oy*B`uW=pG2!Hm}NRo%Qn5KfJs4qhmnBW z3tF}oa|l37JV-;LG6={t_{RXOBk$RkMpmhx21<3wo@VH{2HR6v+MJkJXF*k(9E6%a zBHaXb(mi`TH9h&2muQu#6Co^_L?Ur}u(Y>8=;!#S|V0c{*NmcCp1gd1ai5$tR1ER&ytGr9uXMDEAxWpw0VpJ{L7~o}A)6 z8;Nlyhjk%ItA#9;ap%JP0d^6kiNWRy$O8FgGE&BP(hmC&mazU1l70wbuprSNmcRm% zWw#>DkqC?HpNzw=NE0p2fS%RW%1JsM_TPV%BqA7pKV(fF0|&C0lkz!wX3?Han`vXsy?Y5i|qh@f-Q=bZtr|$@WNq<1*;0swoqj zmS78R|E0K7GmT}=>jnK2+He&Yvp_D-M7IF!SwgAmzE;ekRM z`iI{#GEVu-Ek&WFoC8azZnL1bA_#0M84eI+=S@r768kpn)ukb^i&hZ_u-1<0Y{$&6d9nA> z%mq={)zuVSwA$27g=1q%Eh4H%Y+>hm)f2Sye56l@w8^R+KG;qfY$)khN= zI!<$}clcG2By6d2W&1azpUe9W1t9r%zpXQ;O4n`G)2AoCiKSAKVxL&2=Yjb;En^RS zv=7&S_~3L*+2(getQU>3+siy}5g5LOq~79wApWOcQSe|;6e<)DP!b*x5dHtvVotZL%;-ws9^-T+h$v>&;~taV#(Nfi7V!Ge-~bCgCxNMS@7cHk9q&?YKLQ1VAY6ux5e&s^~L?=1oIqWd&Vydm?hpLUUDwC@h7j-_HiRp@+ ztUPr_g`XV$EEP!RpUO;YJCr%hi!~a;DEUs1!c2z(3 z6e1gCHn1TG_l)*pem=dqrRZrgrgDWxbXoinnB#giOm11p44=5)WDNl#_eNX^NiDX- zc373ES5i-nSLSRt$`&qYQDeIL9JKeOVw76L(9cPqgbHct%R6DlMYgsDxUcNeZD-27 zP?5ygY?G=5>2hxPXYZymI|Vq4%u466YN3P`IMT*L@oW$I#-uYf*G9ijMc1!qu-TKY zE^Rk$jPcm698{)F#ju-`L{c`uD$hXuH47eCq!z6qOj50LxjsDS@wr%rZB6Y0e|5?v zP@o1e)3L8?GKmADvCPN-!+o}$YSSt3grc$3*_0+OvB}Jj)x|XDx~o21Y3ehfhxpO_LR`C)tGc|LcS~W6mxlT6!NrRnc4aa z>aPy!C(DG-TWtnDh+X$$-s;dWtyPUN;wdR>xPZKaOfBt+B5uMEZB|`yiLKcF5ekrB z?Qftev(&OlJeSfIJU9MrkB4Ixh#c0Wz{V14?3BQIs?@i!fkmII=VDc$(*mFPJNpg!==9sk{x>=RTV#Sw*E3pX*p;S~$zgUgR- zFYPrY+(70PE*Hh|2MEapuk|%27{rfZ5AwTjKMvV`C=cMCJ)EcYDfa&`_KrcK zbj!AA+qP}nT5a1}ZQHhO+qP}nz1p_T_4+$^-xp`^IQPB#r=p^w>QBv_S)+1fjxkXE zO8unvP4JAil;u7Bdp~wNEvR?z2IW5fIX~j?1M7w#ZMWA91Hz z{nJ;Ny~M*uU?jfMTfSoFXJ+ z$}>SSAwZYyxA*+~J0Z!Dic)+FvJ+grh+sprQ0ZZl0;3awwcfbXFE%TtuGk=ks0bZhH4%*b$zm` zL=0sY)P|W6R;`OUk1&fMi%m|Ts43$7YXgxcj^HFPgmYoA(WY2gVwn?SKC5t9rcr=F zQ_6NtWB4%c0UcwGPV^Pq`t+$tLY(`^-J#i2{!VdrUc6fHLFwFUoml?3>T~iN&a>CH zfA;mUbyJ3a=DyVUvLl?Z^%cR@x-~J4i>mu!MqMOa0&MAR1^^MP50NKuxOSjF!9S;~ zi#hDdgae5BgG-kk>JsRcq`E;%?qCmCyWm+x3bephcK})pLA-1PtTS}GV5^N3z&ZV1 zfaKoSTk^-cOOEuoZsLT#Rx#isCM2(Mf<9_CCA_W5;nQR}eY3|k0&345 zRwg2@XP8Z@qAz$@H`Pd6-fYDPx}jfm1gU_!sMlHjq~Cqpzrm27^#(A8(_kHO;pVtQ z)+ z?KsCFUx49+^7~T#;1lSiFi!z&@8D9;Cj|NL%c;OG2)NxUqFu*^FI)!&oFgoji1>FC zjg>{<-;`2aC7^3T@s~e<_iuz2^UACVyn) zHpjeoBPFTVISWJydhnZCk7M7DraQ!gvKfQDzQ@$w8`YL~2?Ygzkzpg7-IiwV8Qew^ zZwsUT+NGY!yp{1^N2r(rBUEr?!|B%ojZ{ zr{2C6-Q}v_*0(Fa(QY|ris+a6DqCGE!_HDM2ED_jvsj7-oV6j&R^s5?5wy{^DRp+; zm0bSbzQH#{{D{v z#m%usv6vrxC4={W)9d>KtbPQh{)MeHp#Q;E-{k8?Y>AMuw-%s5KrQ-0>Ui}8AZADj z4QU8tU~xstL@BGf(2nme`^AJ*Rd=asov zoUUYpCQLubDmd2hCd>22_uKKh{Uzti?es4^4@4efEVX*1p^ADSd!1Wh6uXMRr~5u6 zDBa7tbx?wYTyJEtKqTQ4}I*DZ|7*OC-2@mi`^1?u-33@7O*v z&CJAWQ2-bY^nuc*PsWKCS=6k<2j_|xUlhIFhX^M8_-jHGy;K~nR-=-rXuuLt{t6S= zl{%UJxsb<*4XXpDmZ0G%8ugY14D1n8c~BaT^?a3b!PZj9V_=9o0ak9EMR(9TWu?1b z-x4jgjb%wUxAD!zvP>Y%lVq8dq_N_&DCCi|l&b_pGZt`1P&saSR1YotQf(%$rf&vI zGp?wh)Xl;aif`vcTsOV3M4J~;t*l`lsj2;9Zled%x-}Pby3%U>Z|s!LKKt)r4Cn(<^^q9mN~d zeF5KjOH%5=oS8jro;|?i!R}R8(d*N!$VWG9C@?yApOlnR8mYJ5>ufYpzRU*(?JKY> zKVPb@H1`2A=a_(Ts%bme@-mZroV{tKJ}4v|1~8N4M{*loOd6UBv|1ZPM;5fAqpBYe z+Y*i!BLsusO`WO#BrnTMub5lYS-0YzPuzxt(q#7!mPCqEqRWvoXJj*%_tucCmGq=U zgLsFBDP@d!z>x2CE89SezbdXx{=q0Wn&jAZ=D;^#bz&!lbF$C?BtFn5TBRM+A$b|bEMK!OS-Uv~m@0t7GlaD~ z!_n7q_Wy*akeoYTssip`+85a$cM9Y*Oa7VSD}h8t3Af=*Z?Nil9Gc(1q(z9`-j7m^ za8vhkdCFGl~upm4B388Al`~xZEIZn7&?Oxc1f(wYT5a_)~WH=B_MAL{0~9 zgefp2iofiY_`7Hy>{DYH@iTb%x5{Qvulpg)}|r3ON-kjOHA8p ziaPB?sdYkH@McMoP#jIC)ZCq)ZdQ?9D3jGtK?eX!+Bib~uy(9~ja**RrjY`|3sXK- zs`ahPI)&|XdT>p?^e5GyxJbvt+`4@FYvbQOCpAM9_9Mm2PAz;!?IqQ`2gSs49?(RElG-CZkkGD)*>ZtXI7%Y$3c3*7SW$ z^#&&#`2Jr0yEts2|kniZ@}d zpBU4ITIM`K&9^ROy#ms2VV-oXLE1`!u;Pfx0U$E=A*vT3;;yF-6Hm_-C$C;t^@9*g zf>koVGHC8lUyetVuH}#Z!}JR1D!-8pu6_lmY6$NEN|1a;r&oB9KHyi%C=}qE=yKd% z>UMqg#5NwvpcKF_;0c6S^W;`r%9dcSMI(}wl92r&pNP|6r$S$g9jJ8xXrW`vUZ9-jbYp3gig1Z5~sU{5d6 z&2));p;)vL3ry!y8L6YdA7T3Hzv$kFif0FUW@ys_s}K?eXew?>Z~;{N&=6x2-0pLD z0d15Oc)8mxzne~{i(RjW=TMYmljiQzm-$dOftPowkgVVTTy`wZeyQMH4BgG4h>z9( zIb%$IJJl)NgpO1CJumSPvGS!#uevIyUjNW-{+_4P5kC4uN zNmfwU9>cO437dd73WG^M@!+-g(3MRSQB68aEm}Wx^S%Yz;yd+p3$khp5p_2kz<4K-nMDwN@>$rR-n8%ZQVfg~aN=VuvLyEYvu^mWj=( zyxE?_?22<|AG^TIW<33L$xXVyCH}o?MkO3~a*G52(8=(BkmLEc39cVhr)2E#Q#bn; zu+xNeQ&vggBUedQEC12Q5)>C_ppa4p3KIE+fYhP~~Vh-r;3ZiMU*`O4h$M}E$`#5DK1zCQi$=F7dJGL@e2TaW8b zx#ukJOYdLamrX}}_lFmL9$8_>R~PuVvqhHkg5Ko)o1#}w%I{x=zK`-1>(6pnUyY#) zr%LcXpOH(SmEyg!rM`u}sr&pzuX2>%Qe0oHD1Q&~{}%6v-)XUb<%aSV?i9~czH3M9 zSUO?Zl0~lz1!n=Vx`^*34Umddpk$!fP%aeRipSFh(+y)#G64iTM~`}x;XrUEHnPk- z&%w;x-EzzcJ&IH@^j7=*QIaG+g zh%d8HmKcU;?-P&#&?mmS>`md)8;tC%z!D(r90Sr(y!$Je&Bo`k!-^SmpNe zT0E;CM|-RW3j&r@ysN|uSeJEjqdm5I7JkduK~b^Ri!W0V&lv_)hH%jcy#%YziYuS> zo53z}T%=Mgi3kE#Qa&mA&f)7!9a2zk^&M8hzWEtgb@Q85g*&$bR<+XlWn8|?ce2;@ zV?R&YRxV&(-HWA3iUpY%40vTmF_6K@8*)XL38*7Nxq22#CzDEetcDDTsyMD;M>**k z2%RtRJDB{%BrQCpV|IG-0A|#q$6u~n_tQZ)j|lndpAiLC3de|GqA_qGkw|PbDug-y z)mqZ8;>Wepj~rgs<%tSqX@emv>F0AU4 z2Bf4}Hkvau6`!`bZ75u^GQi%gP&gkp1T=rNkjMJkp;MQFC^d&bKT_C^5pH2!fu4 zuo}je8pZjc|h-K~_DlF)hcBcF|%j+Suq~Ot<9t%R} zRd)02R!!L7x>jRWB{Q|Y9VyT!OChiBaxqd`Z ziV<~x7tWu>>TS`GSl7qE-Q`Jx!Xx7YG1}CfPtje&Ixy70zJiHxutL-Y{vJ}ER78c; z5dz!+dr+TNnTFjSO94T(opX&=4m^@yOSre_gc&j#PHx6LkCwIV<7z`-(77r=Y~{w< z_nO0nO@}d%U9iTtnmVI5oKX+!+1GK?jU|$*I<$x^9nq51j{7Th>Wtlq`HnS@3y;8@lbTaLf zDZ5k9t@wEM2;nUjG3w+Yc%Bp2;jP#zcmBMX$i*wOvwW6Ei94{uFV@#M-b%&te7^bP zznVCM=kD~Zplm2~0{2d8aB=#~ZKAcIu2qFo?G}t4vr9da;aEDN!}al|nazjPI84^F zZ^xp#X-!0<+M~9~xON8DkzPI~=@}82Z^q~__)J%6TKu?lruJAdqg4dKfW|hq$|Tcd zMc(Mi7CHZ%V~{P>H^%FgJ)<8_6h(7A&`7@N+#eGsOTPeVRWFQR7XAjzr*VhzB3Z9e z8heJE-FmmoWqWer{O;(13CJV?vfvKBllKtapr#v7d3~6P0CpgH3Kd+)b+e!8+!O3d zoFRgi-)2wf6=XXsBU8G1>O9n89cfZ{Z7r1p{HC*3_)_#L5Rof!=jeedn^kAYe&&UJ z!6H#;ay`9Sh2~{7y9Lm&S9`x{`(1iKDn=`b5v`Su7^eXsXv%47haT ztb1iScVTG9x*JK^l2*8-$q7SY zqT$umx#&?1tF2+=df^7$r<*q=Z?uR<17;;N(QW`q+F0pKQuI~=~BINE}E7k|opZk`@dd2&6r zBzunP$*4(y&2>fBR@0hSyCObS+8HQ#55#_0UWEe{<#ITd+(xX4>WRV*?(#PME4*|v z3DlNglL`B{tOq$^IG`y9T#}NRAay|zaj+XM5Jm1%GY{wFQv|!!gJ~9RTp7|jhvY=) z^(3xw>i67TN+b$OwnZN2xT;r+`Tp7n#xT7u3GYqfjuSCRshlzL5hyWCCx{Lahg966 z<<(*m+=4b?<_NrBNpx55%o7&$6Xr=FOu1Q25Q??d68yB(|LjwB}9KD z9oQ=F%&@K1%;Etx)sJ^+t#cZDupV%t=JY*-l$RB8O#2PB1m4Xw%7R^>w$BXmKRK~7 z1%(KBE6ky`m6Fr%N-B&+i?W>(1N@X(IE$o9gdpQ269fhEGGP{mPADunilDlv#e$kd zezhgrG{UHA#AzGPCNLvTS8=e=VNc_AY@K(l2_|Z?Awp+C7}32?#R4Z-084(?J7Nd*|c zAf1k-84edQEXi?xvCz%O*F*)fuP~h!b)Lb~GCO1Ff=xy+D_x(KZVFGZDUrD!%o(qr zHk@WU#TG!U!cJZSGf+QdXyowfR>8^Z3Jo{1>=8Ep1ys7-3B&8=2sUN;cIS`Un_=Bxu!Z0}ud19b;N7gLOy&RV?B!2?hM&o`iR~ z_IG8K>~IHn_qR>@z3-(4XnjUPGOJ;N7_~v{40mf^vf}WEA4Q?x>L2{I=j9TS32jI1 zR)Ozf{k#s){XSnQ2>I=MVm$Q=4z35x*n#h^Yp3jUIc!I}Ddz2e?sNq>)cGBFaLsKy znw@Y8x-(?=0&uN6yrXv0_A#?zUrHv}gFna%Fa{5FFZ9oS;7dsl4iV=i7T0iAHl07q){xdgmHh$1R+?D^X!GN2?ds_)(|tDc06Hyw={G0` zY3(62OxUY9iK(Jkp+EgbJ^t^lbN6IvoD%Mj$Qi=6#Ew4T?a!WVG+#-o3m@Y4{CRBe z2{iW8R?F8O5~Dbp)9m zHB_-elC7hru3EN8MEm@tjxl!KMTFU*x^lC~a?jEW&I;!_15!)LoD-S}XPX(_7JT$^ zhgAhldydug;xE-N>Ev7_69%QBRKq5uOe@p^Y21P7bDs{LRd;-%qef-l04%h&iHV1L z)D@iK=FruoWXlDO>2{Ed-WW-H-^7>UbK*X(Nql;c+9A9J&g^^6KuOL>x?>!R1N)`v zc9cV&jb0~h(`%KUB)RFZhOOITwxCjWgf{J4dDtE=#b}I1%5aUOut&6k$g|(b<9D1P z`%#N+qTDR+j9Jo!y#y@s()Lx=Q`?tmiO zJWn~XD3oymx`<<$Aopa3qDp3ba>V#@r2v60bdkiijWW84B02D1JAk}&pIAin7K!N1 z9w$cvw+qjSVE5EWaE1}$b7yNdN|bV8&muYg3fr8PV>vwF*FbZf$}T%w*4*i4%@Nt;qK zZ*0-Y+4q9LzQxAAWxshi=*bsqy{?srymeyArpD?=d)@dkX`jp^0I4Ekzc-d1C30jk zj7#!ajRB*NCQz>~)Ph4=%|6Hgrx+Kf5Zlc%tJd8b zZB>g#H<;&0C|PV1Vf4f%b9QU|bxH1EQ)2hwge@1Aq2yQhP2^qq;gs?P07WB_=QC>9 zSw!vfdNl&{H1U1Z*Xe{a>eZCdc4)-y2ipY=Tn;;}7`1 zV_2Vz?&W@*`S>K@4Rs$#_+;c92Rg;|;-?}v#{)oq3=nOV>AhLXK+AvQi*&x~0}h6O)` z3R6or2-NUo9l{D*P22Zc|IQ?wLgj$W8D@AH+mPPp^zQF z-oxRro<$YxETYgOq zXy(ujWp$&CTpf4wh8^lH%~3=cz*hedMYBz~GXaH)p? zN*wNVd+S7{>HE2!I{bmM8Ts-M@uBYJHw=Cu?#d7E73PVbVxJihyBib*j^c#^-@q}x zj}nQ9R_eY*@iJ5A7B;MbiLW#lbfE8*wGrw*Lq6aZv>~SPFwVd?d{t`fB|2hi>?Ipu zwVsj9)__#R1{s~gXf)a=p@hHE=rT2CY7JS*&90T6#>kU3Taswt;FxJroQPY(R)xLE9+Ay!d%VCG?!rM7kGYpsO>Yr?tIrLSSo+KlLL|G+rfs zqHEo|k~QB@ejH?7(pdg<$JU~iI@6A`t~^h|l*}v*<&Q$1lwo?$COr2-Ci<#ZloDj`BNfyehOipCZYbzmKgnTzd1A2sqD1{8WLmD-@t=I7C zG^q9IEe*pa>gslJ>UGe8eS{dnJW;RnQHG?Tmt`z@3ydiM&)yx8_LXBGpjk?oHjLQph;bFZgACd4;jgZ6$54 z79W8`Ma?3&I32Jwd50k)+3)Qzf#B+E@lfXc)+%U2O#hSD5?J8bkTPF@gi$;9gN0Iql(p# zqY4kWTIHG_8YJ~(Z574=G}VfJcf@F1Vx2`m>YBH_E7oydVWFDFF!~)S>hBRXWiQm< zN_QMRbO+c}NT(|G$g7pFWHm~6v`*!(Y(0hhov%3&H-@bd_`9J_hbo^C{HpfUOf(Ht z(rEm@A|rD5f4I-VS>sQ^Vfs62Na)-i`AE}H7|dSPJM2%@VZtB&Q~xt(7+)EuKXJ1& zd>CKjQ({=*GyR;__jBX^EUF9v3krCrcAx&WGNN~nuA^YJ{FVE=zruF`-Q6*2IdZl% zu85qUV}WJlFX!(hUhgWoO186)MTzWWq~qiUMAs;J5w-1-A}!hmlgxo9h+=|MAOQrAO`7*)q+(ZH#5-GeAsT5&3y@i*l%Z=IUlpX4M( zXA}tVwEcaI^SRR;ES$#1&O{s}Izuo$`Kin=#uel%l^H1D@fLdi+>Hz9DfGdXFE)W70O*(zcHKtHM&1=e#X_OjD_f#$=q!{u9w1LZ#PH3&9+Ht2OKS#o*#;rFO`{f`@B zjDt67u7KKs;H!Qo2cSUL!E|Q|oS@P^+UE0gZ!7eljjrhGJ*x)nK-E!Hk&X@Nr#dehr z#W=>{cIo@4I^X>X2YrYulyMT`nS?h(mrv#uSTCd+6qqS|Ct66yTP~z~EHG0t18M9` z$r;M(6lpri$@?~r)zf{dP?&NhMnN(m4<{9acs1z&vZZ9`9b@htW2HBQqbX1i?&?Iu zo%UJ4L4Zv74m4+iLvyq7$Z?GmiPyaEGC_gyZgQ*kE|;8pr@=_>X| z{5)L~YBV3+dV@FHx+0Eo2X$(Yc>@3uI3vlZL{r%4u=^c6Xfn#pyC%+RG5RM)RF?4j zE%5Ovm2Uw=y1-AD4OT3_;s2e_RFg6Oto%_Iz4|eRWBMPb02Gv!>1FJloPOEaS(zK^ zJDJKT2TbBLQXGHB=%QZzDxy zYK?-J{?3&cFw!BtKge5+H`j79FpqX7**A=*%G^Q2bqzjQ z5Z&oRJZ5VhAym`yh!ef1hTr{2>l4CHOe5;*fXCH8 zrNUmUVxA^RP~Q`ye~8`lqrtBoBRYG5af$rMBsGD(cNjedr zeFcQ-$!8E`%tOSXwvorle`K}IF!TmVT|OX0w&I&~kzqV#y0NENt?(;S-nAfxLrZj3w|`Fl^|b_@JTVUGkFo9#c^ z#eM@jwfZtj?k6RU48jq^7#@#UU}@dlO9)bGiY=JdDJC)oWxcGks$4;9Y^89Qo2dKk-g2c)#1xqAIlo-uQQUShZ&Y zg>WP&(c2YbahooxNzOpWTIGsyGz|Ydvh5Ada7Y>k2P3yPaN7-o&?E|su@BJj-Lj7` zfzXGgZQ(yuciqN=;dOuZM9_~}BFF#5%lSX=jt!fCcE?|tETL>6A&)$HGl~4Tw&IWk z?g~i?dH*EgybvHjI-FHWbWYiN+?)vLxG*aJA>dp2FiiHQ@CyQaX3vbjxwfV+t2a0N zfXemNf+D1_)?mzQyLIDxbfMKKPNSNxKJn;_)&5pHrTRiJ1;tC zPWTINeT|zX^Nk=T#cIqriw(K(TrH0=Ai`P#tU8mo)hUNb1LebgsV(1WF5?94#JFcS zP(zc+z<|Xo{6@7MPF2TwtM!{H^Yyef+w8C(eRia^Vwn-XB)t9>U*)E&@7>#d@g;kc zJ%#MLO`0ADg*U4}-(sVq&!=Vj?m6>E3+XkiT*nvFsniPSQ*H+m&_|J+QPZmQvt0cd z52!jn-WPhgoTl};8oUCd~|FWnVoNqk3V zJj$W9LGZ_sgmsNJ-h|dpoo5=0^Ogp=4N5x}L}7qHlVnViB@7A7T_EEeC2kXfBz74h zZs-JIOqOH}w!;#`C>@U$=01qUQ%PXuw7u~C`JE|{)aOEJC_UD+SnKy{*%h(?EX1A{wtL${a3K^ zW(FNACR$2KK^-Y-Vug;#{Hj1;7ePY>Oby{uh8PM&uANYw;o^|(@!#3&7u@%U--QhS z`)dj-^42ddu9(@;#ng26Ztb_P*Ei5EoDI7CkO`cYd)BB7=mr!P)K8HMv=!x&!i-2Qf_&6wbuFwGu;-`so*fsFTp=Qej$%8 z2SG)dJ(Fi}QsUoUTv)exH!wUkQSU;d-1b2EZVhRWJCF%I5AIxcEK+zRe>q5AuOS@Zl{uGx^ z&wauh!yLUa#DbYNglU($|WOU7SIHf<{W{sC*olt!JZ~ zDC-wL`*(O1MJl!lzOtmK3WlfyW*U`CG;ENV<72z|fk|W3o!Zvhr&{q9{IK04M2n+F zuc+zXQZ71N&ZriG^^hJqtA>%-cQWig|Djzb5;yWV^79Q*{t3JPd64kGg`Jaw?f*8G z{a-N`z4%`-2ez9|7VRjj30Is24Z84SxOFWcKD|<`ip$-cy=fbuqRrV7#@>alCa!%8 zz=L8i0%?ZGK9+D~`*~Bfs{8l#?TQ@R zeo*R7gKdwI=hx|%?e8EucxL2u-L&mTrVPrpK-gUo7k%`JI*HttfgJ=G2NlO??bS^J zcGlK0>uFpEwFfkJtq0V5mFd;7Ro0t0TeI!rgOX#d!;OraxEqTev7TD@*iV56q5Ga= zF{j{9zO&832#vHBv%l24sYDKao=p_0d9xqpsD7olRj=eZ=;edI{~cK@F*Pn7{X_)u zj~VO#T;KD=DLQ^f7Wo&-Nbgz8RFsWih1N#UzEEaY+ zIw+&^b?H?RoRzD-D^+cA_{b16eqSh4PP$D8Z58DD;Z%C#$;XVX$@k~i6Ly~?4_&?= zIP};-KHLQxn-!0N9p5k!*CBDg{8iRH{pN!^!()sJN#LH;yYJA!D^nC0%&;0$oJDNE zg-tHQ;l`eya&ipJ(4N~8vO?;M*8%c#yYB#T`HKW&E#G9?p2UgwW$WO)8O|7=8WT)c zVC+_nt6jb_Hxe)+#khAy=W>^D zHVVVpV`ggkDq3`;DW*kDX4SJ=EiO*aPBUG(!i5wf?~KDjCt zOV%ybWx+g~&V7SdTn~F>Ls4Yx9YZ=8igo)fh_;#4M7BbhMQGB`nHMgxLYF00QOd<% zTQIv)APsat-Qyt@XTj=g0=meiGynRrAjNgEcgBB7$9a}q{O6pEiWvrNEFu5^KF$9h z4E^tV_{;yaQm#6G$C|h^4+7JQ4-f;UFb)VZ3u5S_Nzf!9h~|OLK}6jZl+GuzFl1nw z^pBCHt;i;h$m(RYvC3WqbIr9`N9l-_`BT^!aEBw0Iw!K3CtS;9H_L7`nd4YFTzk8U z5}OmGXn%Y_9rt+7Zq2;SdXV-$u9S`fR+R|hT@JU={#_`R!s5FaaeRe_=L?I>v`Q(*ahyBqnMaN2!%yiRZV8Ug;maNR%oT5;M@(5qTZ8293n)Kqow9H3r-L(j>Gb=OWF(AQ;)+( zX4DjWL_xhsP@yz(T@~UZk2}lK{ELvHC3Twm0&O}ZiEBlTK}-!PkR)wL)+$nN2-ma< zzQ_oBc~Ka-l?J^{c=R5F(-oKSV6paiMR`a@BFyCAf{}tquQrhOQciE}sF0wr#^qTQ zH|nVo%C0z)q-~f78JV{QC~O%A`jywjGpiFqlTu0 ztt%KUPB#7PW2E!;-x3=>8!{Vif z+k0J(Q(3QVx5v=YSV{%=eEQqgEQQ}8FDf!JUmkWe>S{p?Zof8f3ezWMQs3Z7V8Lc%vokv3kl}dU1}JaSBG75v zz){Xw=UK>(3MC4R5>i2nMXT3uhrsw#moAPG$kZXD)qh7qM^A{-f+sN&9W%7M;^w3d zF`l<0-`wkNqCjFNmIUt{MD%rx7$D^XJjgge+sIjA&o!!%)FQrsb67|1SKnqTiT2Xk zvq-&&u6;byu81kE@WRQl4>ff4CAuJfQ9+6op4NX@Wad$J4%IGft*5Cb-4q^z6OrAH zj0#rzGXs#0h+Q?K&XW-ZCPE|Ey-Gv@?slKO{ZWbI?CP3$RJLXEX-8pp9VG@I${{oj z=BUNf?^5TpqULa`thr%fJpCD1f@ujA3YW<}?M5+C@;LsN-K{7xGKG-YP2PTGY8kpT zs3P6iGoB@|A;6I=LHi0q&xR#A@+lMW0V1>!N#Xl2%r!;rTKXwiC_G<6*L^ZMPujN5 z;LIv2|NSa==02P$eC~s;q3E%mRct#=CHq8N)G$9!Wh~g3u=VTjq1kZh>V#K$k1zw? zIWxKWbqjSrOTF=PM4FWjnZw)~(Zd2Pvs0^+ zqAM&lIPqoLG$Ln0J87`S(+?a@0dOxMp&Z{YcoLsW@{cD!5r1f|P>!Bp)f~GKAJDl0 zwM`WnS;UnY4m@6oqcD3Q*Ug|F^1x-+$JZa8q7f?;;i4_6WUZJx!_pimoonWzEtbR; z3JWJ29=K?Vs#&z>_HeE!I0|~>oG^&4aK4ZKU5cfduS8qDbn20U(R(PG4bPfJ3vB!q1xoP<@9^d?QKw}J*2yz6&BH}MoI6AaoT;};=C8P(BK&`OV}UxK zm-1yx&%=b7#Q7Hy&O<|L!~3b>E>TJka?R|or(>dF*UKUjrV9y&eOb}Bsu~q2idgdC zMX#zMvtT-B@@fCba5z+hNCeF1f*akTEMeLV(CMTQG?zQZxpC5oSg zE*KAWWHFy~taC*er*4lQg;r+UijRw>*mm5Ml3TW>0fP-Du(>5vD|Q41u2=V0yL^FcX^#-XI_{V_WDL}n1j9jq=FVq30a@D3ecbibD~GP zTPRW?LH*!#jFqJw`j4)Bs*_j@b&Qc2RDxB+xR=Cjw;#36) zDf#3;pL8{^7Q$GPgky$5%dpPCd5j(TY~aEcoFX>D$V_7iPoZWv;?^UNoFj&+0rMNZ zJI7E7XP0+x>9xebVplVBRjilk-Tp!M?C74{Y7(O$_ohq9+Ttm}yITv$OwpoDYc$Uewn zHq5a_uJn3^mg7ILQl{NdO=futFRVlUSF0CpO_$HT-SVOS*5Tgy_#n318ZswF_%>p^ z#AQVC$RRqW)XcmeYCS8890@RCzB4Uz>poP<8cJj^s{Q`2z1(pRwty{@1&I2yluJoW zoM+Jvu%xS|%upG&(TmzXff?EvrQ+f#*_-wx5hVo#huGVtSrJ~r729Qdtvm0Hkt z)HVmTS}1E>5$sAZF4us+>8U3?fr3x;H(p>a3+=K3AFMP8V{!$1z5*Rb}MC$=g<@|XQuH*9W_YM zaAAV$Ax6|=tmXqzV@#>22gtOcZPcOQN?(bh4tC;vm5D;}eR6%i0@QZJ0{TEu-$81} z+HXHWos*O-M{QCi4GQ2FcBZPScYn;4ctlYJc;V?udap%BQmq;aSeV5%_sIcCL9Y#W z)I(1vC4X3&!CW^gEv+TBE0)~=z)5o35l`_ZbnEvp$vqQoHkMl!+-Ib992<7+jPFSP zMbBHOYvZ!0vNcV2ITRMsc)LTk#36Y5>p*N1j8kJu|R;wY|i#Pl70L(CmE^9;E|->bQc zHINOp-Q?fq2J7CwZsw0{haWs^&gG4D|Ck}{-QIIfiq6+V3HJPdIQzyJP2#W1c29fS zwmogzw(Wk}wmofI)3$Bfwrv~RZ?f6!|IKDM*`#i&>PuBpzne|;_d{VLXud7N#Nb<$n9!wHP-DhTyLz;Yaqn_^o4CuB2Ftgx|$qCQ#FL| zI03FAD3)%zB1)F*Ch}|AGivwQ%AjG$-8*|ax;$VD$#+dxrh0UA8uVe+8sCR-J7M#u zk6d4dhIbyeD>7Ehu6Au1 zk|_}=h8J7Z#%S1=W7(QjjMSX=KVRTX5}xb)`pVRjZA<8?sRs&;yx!%VTRYX@J=l`D zJkTFmRp}36b~-D(U_Z9|pb#kI-}wge-|bMZ%+SB>lAG0kvclhixQK7tP+th1@7x|$ z<^<-q?lLA;Lm4x14?gG29q$@1L$K9D1aBsC8Ux|=6M5?B=jb?DIs2Cq?)|M0*9+f{w;zszyjhpbgg6pd z$yUAG|5fjH_EdcEq-Y5xyW>idkHya;J-SQ;w@^{`{bEIog0y&sN7hibN$cZ!WJWbi9I4ESadi zGKAP~nX;dMQKNm5ekfo4Duwy#mjf9mj(#`Ll%rFNANULGaiTqI+jJhpv;hlmDBKIT z<}JwDEs@v+y~EQd(zW|v;{KFX+pfN~FDjuoXuSS%_P}a`#QQ;*7l`UNvhPo{u0Y%U z_KmODcR`MInii%pcO6Qx2OsqAVGH|RmS|Suic_qvZ$dyH)YEc;l`DLgC7)O}qN*F` zkotMdormQW#Wa*0t^dAEO*vkEYoYC)>66A4IwiGRYUPg6PaJ8InGOF zosXr>yl_j!_5sg>ip6~UVQ-FA96r6MgBj{EQY+Fy*rUmZ^I7p~6uMbbS$hcgZ|uuP z$wF81z~=xh;*2MVB_((N^A{+Fl@}V;tf2CZY)l&;2$^Dr;>^v;TUakl!+HXXc=dF` zrc5+5jruDV#+t`{ZS5QLa#+x5 zA#&`Z+05QNLL6m@dO*h_U3R+m_Ol{Z21aU4U-nQp08~M?QbYIX`5_7CQn}h}R8fGt zDn?enu6ImBI>!q!z<%jp&W=#d06ul4wJOw2KJ?lX^MD}vdY!#AG9&vME1jX@`U~a7 zZ;WPI%_N0km!(0#!MnA^DJCX&vsB^n`z2=Cm21gYCo8ApX&OjMNx0+(6__bXJ%nT0 zGG~i93$!_0)xSn{k@H&rv)U{y#9X+O!YFqB47=2HJGSZ0oF-$WTZ=0DZ{Z@%xzPeq>7)`q5v~OYrOsAXh{!5{ z{>7xTVQ!56v_=3o1^cPH(N2qOFeu^bfwUBBZecsZwbEKhb=RR!m5?B58ubaQR#}po9vQKLw ztJ9Cz_Q_tE{UXib6RH&9eWSJqCMaS&q%+bII0gNYPq;4xxV?c+CEAnr8dUsBh{2S+Vs9tR6^as*^;(vYkN&><^_}|-4{ofH` zd1pf_fTQ_;5Xw>VGID+LzcV3|BrDMndlBe7`tVK$Glm9Ye@g(dFynMI9zw-DfUc{3 zr$8F+_2TcuFkT5EA&?D?UtC;VN!Q`$*j@uo%`(dic1FT6qu@}mFW49Cr}mzi5aY?U z5lt3Q6HWEtVMJ~P4J&d(XUESN%|LRGcTh&He`e5JkSHV$6WtVu8=Bc&w@vLxjGYe> zX-AxY!i3Bfh6Q&RQZ!8s!D^DH#YQcnGvFV^O)D+m3n`X;lHBywra&)Ni^xm~59xm+ zdZfJn8!_ecAEFqY_j3(qH2=^AOm~`153ssOCmN)#1ONnw$%M|k8DLQl_kwh}oozlj z5J+TCs!8A65T#oYjmCUcC=FH8!buxSu=Ds~OIEA(o0^1sO{Gv!=XJ&Da|PAO)n=kX z$Xc_I>TARjbQCAAJ(VRCt{N8?ztI14J(xe?53PQPq4gg;mgWCSW-2%vSOJ{eh2*R0b!9uxI|7I3r0bL@kp}4U?)0_j|Wwl zWGCy3H4&t53e3M4Q6bY`3PbN>%)e*B-gdJyyBx21o|~?Rr|GwW6K|P8p`@si?e&Hd zBO$3oYl#A?^rZ`hbSUtsFwoT%W6@j6^aXc_F-;(xsW+b54L0koLgH^b&Q(8U$?tF? zLZh!w*SVrXx<2V(U5TzZcLltc8v?V9Rzo)HH=%`GsF|(4+69}QvbFws+Kn}|9pf>B zTsga5`U&Wo+hA5(koBLPQ#(mMw_va8ggE?jOY$l`>n2np4%uI&&zD_?$LhG8!{(sV z-Zm*gjr88yZyWFA*@OihUN1+fo}n^(L37REwi6B&z#iSl)yn)_3^3Jlu-ji%x1{qi3wHUPl^Y(&#ln9B53s>Yd#XmdX&=ICZI1n74tXYa|}9d^|eqF zriV+|Th5rP2^ofcBYg*?4kE)fGgKSEa=`5q9f+jzM;p9+aKloLKl0Qi(W6XHXxd({ ztBNlzPuWzT-Ptrd%tG?$HP&h5o&S+^rE27$wE_y-2c1B$6Wlq8Oif8dVr&Tk{F(Sk z*+Yq0gM9yq;fcrp%b;DH8a*9fkTV$N-xVqRp*krcl@rJ5PxA2B@r@&VtrVKgo|?Cq zM*#&@vOpYZOlrJ-SRDV0TxST^02ikAhz?~V-_7Cx6pko+NKL#lGm|^SAxK(UnUZWZ z)x0zncF>p|Hv#b#yVf|zXEb?1Y{{zd4TDkZlvi|uxTc?vI#rnJi9tBp)Vw#Mp^wpB z8kU)}tSv6piLs3FG}%_|q|R;QN8)a82!w{7wVE z3q&>Z|Kjh6VLrnaAQ6h{Jy}0#SZ*H;PgidPa}Vr;#j8i`BQ1H`Gev8)Txz-It%wr@ zG-9xN>xk$6;t6T*sz)7kLE(aJ&F5_{;H+#s@52>WQXb$}hiy+X%XU6-YWLPk*OnM& zEfb3hQSdHbm>~Cr{p%pLBH2`EhpC=MIA`ZE_kdAXO-1h20~fK5n_s03aHZh86JAr~ zG5LiWJ`B4nR7{GYhzf`}{)d{jR$~=W zal^a*l^02ACOloEPBBGArQrHjMJYK)u8{^_zu!F<+aDh?K4Ly%$N(+W&r`rs5NoRb zh5V9BUzyC8e1Tz)B;QYWC3ef7@64Mw+PQ3pTMqly-8>ZgC8J@P{Y!}fOS{jZJlAzt6vHSpcB>saq0!dvGj94IHt{aziV|*(cpR+qYj>&V#@?JmUL-QV@Bfe&3Qs!(AZnfM$5=6f*2+2G5d&j%Q zr>{4d)4o)6zhyMP=_rS2pU-cNjwi&??6Q!J9$lfRqduL+8vJx0d4F-7>pNKl{zY?%rTV$+_N3XCLk|waB;C zb88O_;?eCYBBb0}MU5AlMMq99y5SvB!`!FgWlx()So$}h^+k4!^hdM`>Qb9zk=6~Y zV$ml}J92x`(FYP~lg3zR)QT1@k4 zG>meFXr(oJ?FcNKFm~OX3#f6-(zn&|VN}F8IotYr{rK=AgT~80YV~vJ&aVG7iREdH zd&f=Qh7i_Mr8$7a*{%Hg<*iiAZ6s|%tWl{wKd0DrH^+ViM+_N5qsNT}+q@V88mH>T zc*tsVYkQv(`mx*O;0UXn05Y3B?MihuT&Hk z&xa+kIb$jKZkV$g>JSE}Vr=LOtGQZ3gM-q>Rf?ukS{tF_iL!NYi%+dx`TaxrtzszJ z^2iN}M}@g;ajF%?(2;H^YwbGz6z0ZKlo;4S`~bdeK7o)1vU7sa9G&2+v;qVZN&$wa zK&%he+}n!j??POIT7`AyZdcQx$0SRd49jSuBDYbpq2AcQXp$R4d5+|`CehWxSL0mR ztt1gxQ5Ao4Dn2T1(_>k`Yg-v1${Ca*=bl>XLZZs58U;$*RGFs_U-1@TZQ$EM4Q<4n z`D-cJ;+3c!Y})QsPpWYw)sm*3NW0Ql@HC+aKV^=rsea;j$I6gy(a*!B|F!Tz$iTiA zq6U<5E53o>S3HXw1M=7ggwD}0DUD?$#24J5-i0fG%n0EoT?2-Bayvp)G$ZYd5Bj27 z#e}=bEvo^^WD)5%dE;u(c4hRZu>gCuzCjW7tPrc(Eifvpg%iFLh&I8T7aT-ws4{H1_V88xCk4hL4Ixb&hu{Ec7rNVp6-h#|0F@8$F2h331Z{%DysLZ#t z2eW)(v5@(~{^g<%xzAjgg9pUDKJ>Jia!GRb9)JKAMb2RRPU7@wN#d25yK)Y_m(B$` z&Ur|~Q+?w$MU2Z%BOV#WHC>EGsrA=*;Ir2*!dQHy(d(mwt;jTc*)+1lOP@-vu_twz z*}XO~(xJ!q1zZ*{wYa6Pch(o|v;f7P03BJQ)*z_LjU>ue0|v>~g_`RpGqr;ca}Qx-?KLH?JWRXrlDE$dpF;8)2HkI*IFAas2H z3X;`ko-uXa8_hP8!D(ASf9^%72Zj^%{UjaqQ6b9^e(qKKr!9znZk2vRa%dMbi;cnJ ztZ%;qe7-daE{g5^$L;|O(s`>-%Nd?Q8QxL&SQh@oi!$)fP;7$~M3a5{)cUO-^roFa zI2U%7ryHcwEJI)_;LeUf*%@5O;y4}Vw7B#=4v_JA<6$|-oJGGs?%WliyL@Wxt}S3o z#CX2^hUMH9&sTh}vH^?%xA}hV#p0`bOn<`?*0wti_z=meKBNc0nt26RBVSgTrSo)Q z3uM{uICE}O#ALjfX5r<9I)71Z6IF8+KC)!l9#+SUxi!ER-?BM%McFRDz-PJ6o?~s7 z-rH>D-|BE~Pd@Kdl-zfE;VbQ?-oz#JNoLl4TK^gT{E&$|*V<2jI2ApHbgLdhIQxh- zfBVx}cHjJpnAP1MWATwX)j8KGhZl423a;{QKZEb0{aXlUhW(!-{`2`qkZ^ATk`Cmq zf{)}8F47CnV+ZiWYQ!&QNGE43=zEl?6b#V8m6mq!mLxvXH)~Pg-KN(_30k z@EgN#4BkV$7;q$)>HxN`%doY?4B|Gf(R_t*4A@silhEMeK1gfqbZG~YmE5GUHzOWJ zOO%X9R5khs+MIdTRoR!^ofgVJ_c{Jbc~KI;eZl7g=Fw6WS>bt|Pd%@OJ31;*T!+1M z{Qd5#m3MZlfLpK@Dl5*=EY%68QSe(m`oH^kr%lpKvky10`Wy_YG>X#IaanS!Q1wPPC05;B4r0lc z4-|`^s3pkIqte%uZrI_Emr5|HO7z}*|~bOMB9l5!_%_$)K!rR%UYP$ybI zlQ=1W_^U+K3#10!!|8t~1Rk;snet(fZz~ykGaHg!6If$K*=cojk|NzUmZx)>faNsa z>Qi7Kggar~#b$a=N-oPc7>*1r;>XVJ_IdD<+@M(RU6X5yjO^(p%{&(?zqYd zR=SZ${?}M31f+b+B7as~nUw*1!1#@EmEtWHJ+bmQnrNGfDPj0% zTIArO03VL*6^)l@Mq_@-nS`iLS@*cSh&|Cxv96kPu%OKBTD0scYB377r;S>MdsvtR z4*s}Es-{t5EFys+m}jgT34tD!`*Mg{zG1qO3MqP)2~SCp%TZ~aFfcr3zD=h&r;elo z(O52XE3g2y44vA-vCEli4o`!Sx2|Z)K2rvU*$4IQ2hJ8AIUKR@M!U@HKUqB9jC zRtOJs5OTD&E2aUgHCzflw!Oue&mAd|GRGr8w$E+pjXQnkG(QtGk$MvuIZ-W>i&EhA zeIZ?Kmm|iB+blk?eYBs4+22(jZ!)jc2_j22SXokpIVZd{UGjvxqw*hP8y3@@%;?Ge z1NbAP0RKD31ceASv*~wHoMQMs_ZC1IKySS>A^s_0o0fAkD z%W0a0pCOqCM0=*XlpxpS*SHPHb29!T#bGX_fJk7m0O+^VALZKo)BJ)NKr^7InrdB+ z$wfg_!`5EHK7h9$inFtC*ZHD2t$pOw`C*LPJq!HJhm%+!7!|WGtrOE*xxs-RRmC_= zLK0r_^es?1gw*UfncO^@jab0(HZ9lP+o|Zr{&11tkEucg(s=a7 zRK3plLDF%zzJWp@q7V?Stg!pQxi}$B8oIn{iEVHzP^MkYTrm}UJ^U*`}7=D`scp8XObG1kz3|db`@Oc9hOQ*b%ev4F%5o&GuFOLlpJQkpbObS zS3J4^G+hNGi+v)!;{a7z;Gr43I=N8fRsosP7*=GK02M66jcxa6D7!#p)~&fT5<4nWDs2Em#4qSp__|Mv+iejQx9c z9g&o6PR2Y7ikEF(&A-q?+z#dv4DHzO2~A%DGzC_q7|J1DTxLc|GE(!l&#UJovPV231}y0W$okU*E9FFd-1vxLBi1>f9xj5pKa<-jMt# z+<~)pu^yWzFDzmOCE=;8#`kwO!fbz0BmnA040=a!gyNUn-omBx)BIg80pvyEjZHNf z@m=yjYx01*ckuXmU5R%1mjR+cy0Ax=TaW6XRwSk|&w)RVdgU#0emY?n#<0ZaYG zpToq%_IH4a4;dbm#hB}{*;Y8ldPGjXmUJ(P&u~0VsE==96R~F>k1|79M|3~);CbvJ zI+@9c%y}`3x&!@T3BW>-kLCG_$0O^q67B{OIFs&$1OF)pczOc(xqIx;CboJ6Ggxo4^^%%%Nq(f>Itbn^rauAbRGmPGRxdrsA5``=C;WA zKh5{qF#>eCd{CF3g}@BTQ5!8J6imy-pw2TJ%SG=6v-`{D*C!2s6`?ffm|u9+(AjBj z*>{AKF6_}DZRw(N<_`s;^UR#7AFYt$Jc3I6FTgAXpHRsRwI7LncZ4wGzCj%Uhj5Ui zp(xvmyC9-VWahZMQ`L5!n^eW6q4{aWDloa=z zf5M!+6oQA(6%y_tM!3l|YHLKiUn=Cqvu;e?vf`^OsTe!cdJb`&@}(t*!|!;((%MS^ z@;S`lK1X@zYA3pCZ@`*TTE=JUE`AcYm?Q;4RJ=4H!; zM0B|nMTJW`CI4hqCSpqe}s8?`}O$7pCv3~qc`dHjF5Az_{pNRBJ5yx{b? z>;lU2%;deYg~~p8k#6oA{^|nB!YhUO_+9pn_bem$52^VT;s0y+fcyHU?Udjv;+v84 zt5oBN@)_dn98x+#=MMDwTX#dPD{h-R&@ssJz?vi1-9&syYE?r5;&j^`^$r)ihZ+11 z_dufwD0}1)=5Mp$2~8Gie4^Ztk}~Wq)qG!6otv~I__pSE=T-H_qkYx#lu5!ycz7ut z>q?_iOcyYbjISYCEw;10`>z#T^?F|M(yMvBs(rnJ(EFPP;@~ZQui$c%;2mUI3gX1m zXYfXHtW1ptFEou_+os{U1*9iTJW1_Q>fB6`-7>dvKN&2fVkj^!Nn@_@7o3)<_Q3G_76{giEZNXzi_T;O=2?sCTfX!oywHKCBq(B-rWwlOy79SH7CazQ;9WJQGH`gQ*XUH=;T!P{ zEIyoT8Wdr+6K&(2(hZW8+>^2%MOEl?Ew3U1RpxxEp_1Ab=Fnh}#e7+u5Yxh#H?0Wd z&_w&s$Vg+8-+yhtYqT(1mslMttq(NEN0bnQ14esAs~V%UEwNjd80#c*Y9crIPsI@B zWs^dED|{-rr2(ef3L_~N>^!S%m%n82R_s2&^1c&w8#^ALJ17h*sHR*Bk8Qx2H7=vp zu%u9EbV%#i9Fk#y562W8x0R`k;y)!J$-4j(io<@#Y8oMv zy&9r5BfnNoS3WO;f?VU>MVW@5R*aw?HVZd`Ii1R&yOkiAz2KbqnpwQI=4z_cxp={) z64n#sp(oLlSk)AP`z(e zmz3b|Y+X4*@i#kxrUH}$xWr_XfC2<`5?BGE{9kv;&_c<4R5floKv)`PE_ceS{__Ry z4gFvGvNkI|i^wRWm(0`Y{iIzUu>o0dI2jd6B|JX17j-__y0H%7G?M$SN@mcy;2>@33UqT>@f$N=~ct^D0Y15H?rXkL!9$=j+{f`+M_yYj^USryaS+-mM$y@rEic zK<_V5p=6|}9Qcx<4k>;or8dPo_o{20RTq1(6czi?oaDr?Nu5h;rb94}b77`K(nSkr zaI~a$pry&ZbKRi_?)Hp*U^KR~m(uXh@tl1^bcXXr-o7es^XW?N{yL}4@+~gz_M&}g zG?%lN+^`O3SM|OP?(<2D+ORh#>sgE5FeoS9!fkA{3@6^wtvEQVkrXN3pb;f^b{{g< z82U;yF0(mBd6rL8h;Tv%GS*PjYP7m0mD8{4&9jmEL377?)i0~@`a{o+)L(7ZdO||$ zhJ4!xXwam?Q=0yloX+Ds%?V@yZNaY{c33>rDd?R-y6IX+#$c6)=Pc6NspE}M#ndM@ zt|?&w=Z~f!a_Zo4!wc}un+G0wRh`WgA8nhE%Vs2g3gDc~`}cBlu@|*>qye*xSVP7j z)a|B!RU(1$meuR-IRc=BS$}hI@GT#?%$oZI*Ek%nJhZGM2Yh+dPOYmd6Loow-TYO11SqlTgO(H{nioF{VxbR~hqPXa2j6jd97A_xA=!y4(% z77H}vP;Z})*Wk2&pW`wzkKte-&;GFCXcs14(hI*yjn~rmj^0AvPz2#nG26#$1LB91 zC`t@_`M=5v9S^4%@sNL)XP{SmPXjN$3<;N;VCgC&5ZGya0w8M9EY!UdXC*( z2%d^|=AQ=M&V~?g5=S)r2fbUX;iS21>KUm&HJkQGz zf#$d_au-McIxiekiT>+RaaX=1g?R54j&$4u1Y85po66s11m`?n3ejzj4A^uMGqcMe(ixxC6~t7JRn6 z=xMoAhVI?`8L%Y6C5_0@if4n4m~{urn05PpfDoYSf?Fz|)S**$;^5^uH(Wl+eYlRa zp=JB*kWrXPSxlq)^*fny25YSAx;s;^r_4Fgc~jkounyZdk+?<+8y@YQt*Hsk3t zb!!TS7bhqFkWrpSqQht}PiX0)FPB+9(+oG)jg@F`(Hu!R4L>@7F2H6nm>95@-#~?; zOko-4o~-g{^G9>EjygLu)ulz%IQ^=ZVz)>*m~bGvOX?`JUX>wSe+`RIfH>B4mt1k zg&esK)6Vj@Rk;xO8b`gkJ(1C_1m0x}!`MdSC*rek@l8;q$i*L_Y-GlOgZL>6^`&e5 zgXDn~iEH<0>e1v(mgx4Se}v<%Ssu{C&(=gtDa|ZN(@gEpK>7jU)=SPSds3c#_u6v( zP?)2@n<^KQ*iK|zHEF@E$(T!-j(dL{rDNDQht{Z&aBbZf$?b?=l^v6x3rj7ednc3b z6vKRGoxP@-@>(eIT4d6t20Q99@})V2v+v)MWUPOO56*6mWo7>P8&?KhknCcc%$aXP zS^VojQ;f5KsT8_eEW|Dy1e=2Wppl@ZGJF=1=-=~-%~p84rA#}89gLPPeV~YT$Ngwr z<_MSLA~YFyYbD8zYy@V;bAn4d!3L70(NuVTZmRTdCG*x07v%?glom?4& z(pO#d{VB)w&AV%zeB+tL+zR%HT;!Und*!xSfNet{S>bO~gDkQ5OsP?FOQ!k5&V0kx z!`Hk)$5C0w%Nr#C*s-NZc@E_u*SL9J9_XxKX@oYjbbssnmjkAu6A3(tMC3p+(Sx5P z=9|H9d;03qN!%!Rw)T(?ap%DtR~@1-S7*^8<;O>IKE}1p;B2!;$+e{0Tf{mH0AB+k z$`ExFQ162Q6Bh0ERMUv`09a=c-M$M%nMD6dNxI`_}Upo&qJu>~v^ZE%bTl%d;eH|c?1Cr1#|I@f+e}Ww7D#!|r(AbOD2R_T?$jqv*NTRkvZ3sp#o;>EyTbCG~ z8E14#)0Y^_p=I)|RJ~Kf0$#Ft5eW*x{ZLyZE0n1rrKu6b7%{|94-_=RvmJvnfq|NH zT)1ip(MpToaFllD{YWB19yEiDsHu;c^{FHz_B>Mq&~x&jdU478Wbk?m%TrxT;=uU- zsDkV5nxJ1e!bhrwh3|d<3IEa@Zco8HgrN^(XT@3#g{(v;GQFOcB$LtO$0QS$OKRkV zH706g2QUeYoYVeZA$|M-Qh`>L-#fxh;uLUk?iB-6;DvbQ8uQ9Beb|K-NV;id5^hkM zsS(vkx(-0f3l4Nz5d1PYV2>hXy6!RXJYNs0{qzx;mXoqZou{4=l3ik)tQKM^{DX?lu&+JAw2O39E=3tN zK5}<>a0?ysC25*eo*Gj%1lNMryw7Q6tm+%i$aGY zXHqe->IIEl%yE#hod4NdnNL7PwVrKv%&^ljMBQ^a}3QWSp~^zOS?eLlG<$9RQoA0O{ktJ%>+7L%Fj zR3?YxK61|1ri}3XVyjPEYV!+#qB(Wrj6AT}t#wik9Ov1gom(!6jF4CYzqm!HrxGOl z=-9erbG-N+fZ{9S#{~ANV&GCVYWDhS#Vh9LSooUG%oTLTeVTQ>UwscwrbjUyA^jEd zr*-8(>VsMI0JA^ENq{v0>ii#zbP{cJlBsJCgKFPLuPNxedMHM{Fk zFyHaL@564XYj4b#(46nl@AxCogzrg|iV|)2yFKgKkZ9$HgCtZ`RB7!|<`SZa6k>ga#dM{R_2f@6P!fC6Kn%bfYrwDYsjBax$57o$^;FUAcIaN8!+%R(k zI;Le5ot33Fip1&S+a+niuqyK-tOewmHf{VAB}Qt49q2 zheSEmx?+IWibPx6(h%<+iHsZK(+T zZi=jvHP!5Ft_F9Se{>@Y%v-axMyGVqud`C#lF|T=wI^UHwc3R~VWK)6h-`laH4?+g z+9q+TY;|O7%Sdu6^j<>C!J0qIHCwZ5=0s?K(o^$I6q!HnM?-6drLWSWvjZ&BRpD+% zC`5*X3K0c#0pR}LDjkG#bz}jq!0X~_7LGKd%*7Ufx&XNfoyoM8+RV{NW>&Ji(Sk7N-{9;|_gfI3d0b0N7@H8CnIL3s_}~eI*zfy$ zGDS#9Xsvn)bbm?XDKSJq8)rjWMougv8bk-Jd&NdkZ~~QUN%Hu$8VFIXwO5F#Y=K0m zIrA%54R0mxvYU3pqm@0ypq0dkD;b@s=Cnb(2=J6M!kMi~qZ=%f_7|8=MR0`w%u4Qv zSdN-QSFNmk*HJ&#@yL5RS}@IreTma7y0JPlvjAek*jW6@(b7*Ep{zDBBt-NRvH=VP z^Gl)`TKU$cLN!fA&%}6Siac%F9hHP@bh7cxuR=izko}E+)uC;YmhsD@4%1WEz_*(- z7dlmlXy!-0Mk`zI5g5#A*RTN*4OVjD$a1_Zf2sHWo{+3sj!IDPl!qCX=Z!`uFYH-6 z7Y`0fXBhI7Gd9vt=kiux(Jp+gyH5MXb=oe$+f}tfR`>b~5Ja#VQBUR=-TCf#!CbNc zrt1#17PeKfUc!@ZpgGhFqy7r~n9C5}VOvG5sWTDDih)pX-H}dwyEg)%hRLlOfbH5? zRsa*dgtI2wHgt-6;j|+!S;UYlHqzQV>A=;xy!h8DK!%67g+5u3lTWN5$=u(g6>g4L zoj_?+L0qP5L<9Lnof^;KS%w=GzMXmhVXFGjdYYQ-KO?A0^Wd@3BN zdL@h*m5;#*Zw-Rs~fyjqjTF$AzAL>Sak?i70ECfRYqAAVf>qt+_&f) zB42>(Dvv}d!R*fy7jDzvgf%y_ZG+L(cKO?CLnMjE>um>8#VUI2G|p<+9>h&?){hyc zmxui)Nv!T#D`9eF;V*MF&Twx7N`~l^sI7vD$#uwL9>Eo$AZkjZgElFQxd4r|fRl)J zsV&-H8C1z?^GH}ZGSOtPRFi`bv6sfY77U9x-H)4>Baym7eh_KdP{Pu8ouQ2w)iSMM z+MlXK1;Zwqq@1CWG*wL(9XK`m>>Au`AW2&UpJ7v)+_x6IS1psS8S~#VX78cs@2G~; zU)iMN>Z^15P_BxzghyopAsUng9_w`Bl3=(it%hQ?PiO;+@%|Ga+p^{=g-U;HnN3UDC+Cq5|4Y%v2*g{+lxt~ z=*hY10=hny1NGvMD`n43WCR&2+z7Z$9fPH)zUw8F1R1NY`!k>fLe*0U>=C+Ul>Qhz z4qk+XA|I&I6!t0Y$6Fv*u!=4(kc6zy=4l5CU82nbmYoVn^uwZh$qcN51x8iu&n=!n zchV6I2`xudpAbDg_~&TIAEo>Xtdi>mtWqKhzF^KmmOCU!`%r}iu~|YKyZ7KIfkYYw zQ*!%IP#O(e0>vF%dUAhs2ke}f=SQW83`zy7QwC*`SsD&n7Bmc@OxcMjFIG+nOt&K# zXRgREbCls0yNCz9?e`2Vo{b(MlvtMLYzCcz)+NqDPM0aQ(u@yJgE&hl3>zH zH&Wr9ADF)EwWDh!$VJ;zc^LCtm}TqyRRZ1kD<#zb2obnZU09Q7(teI6sYo&1WR51K zNHX050Ied!Unx&523x>9D;L}}En@;bqj7fO&&pqWyXZj8keyw=Amq6%bP(}i zg0;GA`5v#G-$DXy&wrzZeNr2!5BH)@KOj@&s71QvU9F`o6)Wsg*Wjq_Zr&)?Xy$h} zgPT{EnS;2+W)(w{2%;o8$QvJmh8cS7?QF9d9c4-rRmByyLYA{Ad4C2P1s zSJa)EkKq=VDL0r=rz)~cNs^GdNRLiVM*TZjd0BcX{{5~r13~FJ0-NNZbCLoEJtjFg zAIiT?(T0o8lnKtOa|8%$He$apHpKLlHQ}S^jJ{yrhVIZtZq`Yh%a|&yLF9H|&T@(G$BhTsv4x zT@bs3)=zMuCbyR}knD;eh%U}+#D#-v;nK{WY$(FV#fy9e8EmUa7N0AV3s?U4wM5mW zt8AGxgsr*faLIGwu8b$u3$K;`H?a#2KgGq2ItmFW^8zbei*El*8U`B$N>{eBP95>E% zrRGI{izhGvO(cV8XBBk%l%9_rg+Zxne#E7~S+#bD`0rqA7j^gyJv zum+i-0a+dqD1(V6*&adoAZA!;s)@KlE0f2G;qN}%f?5V6e;zKVP#G7|O0hh1>l};% zYJP7;hjs{(w#^wc!FJXGr?F$`ly7UG#&g>$;|nJa)Aan(KqB)u^E>MRRu6=NyRRn! zcM?oX_4u#`QMm~6Ch4*$wnAoT@{73>)^X~yJ(oXlzF!_lvQoV?5(8SnqGkL@X~hT? z@N38u4wax55@6`VL)rJI144_YIieVEDXtG-+%I&b9i;IB;%4Wh{Xa|R#HjUD1 zy^mo~U8;jb%?NVs>`X26LwS1D#j&YMQOI`n!3`nx)-Flbi?zvUuV`2e_X};p1+=Ru zas=lY4kt#U$RfxIRPP-i0+NsqAgUGbE=URu6K{f+Dx5@r+(r0QOOtvya_{M%cLJbI z|FS(+c(apTb)N({%@F0)GAGiJ{#O5d;@hY z0sA7~IK#V<@7Qwe*n)mVgLdKFxZ>Wx`E?)rbtAk$!oP_2uyO3*gKQo8`GUQeLVCgM zXyM+(0DlksWM#b+!@IHVtmEF``uQIDU4wl%LT*60#eiOcc>UZA`$iYi3t`6-*N$yR zkA3GIX#3g^ALt_&)aTbtKl}?~Pt2SV;Kja2j(sS`zffb$*xVOiuvuH<>|h<%Fn_YyUEbYwKy|`b6XX^0=aT5&8!9 zcdaWu=J|7MIcMhi6^UGw!Vz?2!%4X89n2B@*jYi3m90c}vzDD3)``m;LBo~H zGTZ?zgWt5H>+DX}LhA9n7Z29zXJqCcY&6bn%-_G9zDXXw za60+vXRlA4J>s?s`DQ|MSLL4T1*!pBS@514GWRF$?9ymWQx-FN&>5S;=Qm3c2Z1Qn zyPakRtwas<1`D8nvvX5snFxo2AD}y-TOCim<#i?LYOAe1PdjC8d){vXCF&3dxtf9hN9t!D1$d3Nk&+7V;W zs;h*uY6A`DTuwP+_Z+phw^J14JQ4(=w_|V8sx4^HA6TN>0aXE<372`cR zoCdS3!z5&<^7~r`eL*N;?sy}8RB0tE3)7PlfGAW^! zH&C^iuN=<{`zs-XCzHWf=Ii!cf^ml~Zy}BO53C;S61=j9I&h>2;^cYZiHhCYr4P6> zM~KZKO%-d><$BN+sN#tf-v>5yqePvVnmS92BT{Y$M?ZhyP?|t znwGQ59yZcV`Ou+uLopas?t$qRB0+Hf11H$VeSg={iMZ$xx<7JIcyKId$^Tv`{pSPWu{X-V7YNQ1DC6um)9AEliUr=C1! z)f}?t%$6&3&h+byM>#~XKB`<8DxOty!}gAnE0%hNwc4$o`!V#~95S1~^n(8km@b5L zgX9@Ho@MgtYBEbGoNeIA2}C_ibl6APj3FpD2b;mtvq^1fm=(Il`F3*XqF7l%i-&xMH98!BzK$aMSkm!%X0h{BC#Gm>S+$amT7H9LvRA9Jr3eV z-)im5pllL^vgMH^V)Xb@{8+V1#y+{pb_=&qE7o>I>hHWxPZQ_;6CXX+U1Uf6Giovl zwi4_+2{uiV*@w4iBd$)-r^8V^om>zi!Dz;z0Wo8FR$7&Zpxfh)S3T}@BLq)Hk0 zT{M#$WY^Wg3DO!dn!>0Gj-wG@+=V?czW0;>DRBtivY|!$3z~{V>xN3~N2)IDIjypR z85wo?p*8xtgh!2j9(hK4K;XH2#`b5}1Go-iM7 z&l<1j{4)`Hek(i^0>0sQFD7^cwf2ZTA2Y5XY0{r_)dwMzN54v- z-U%lk@YBwSN#b*7vCjLqv-EM1NW0wcLpF{#xbX55M+9lsB;Ab17Dg{{n=r_ifHM3g z`sDDnprb_-KrGb7hd-x<9!<*sz|VFJMnpe;)=;7KOj&E6>b7#CAq@LM zp@zbgU_FoVt>)KBeQItV+ZHcajvlG#VikEORlc)mn<)50&#JSAk(Kqah?p#BqZWx! zg{tngiNZ>h>fbqFb(RdEgN95To`F`Wc7Sb^{$7{68v^4i*&Strj?>hH;q`km$=`UI zN1<`HRB^EPAeW(bl_Kr~wQ2kp%Sylbw!mF7i#JH;k7i|-_kBGGR^>)4&6JNpeRPyn zkx<}AdBI~8h{8G(wn^$jLh`tQEk_IcEJgC}v}0$lJ94A+umw)C? zd*U1^qdDtfAuw`!E_Rx8AnJ&YQ7+*c*bZ^1*}k%5os~F%k~1@a4CqDmD~0? zxK*&L!ig4NP7r?n);PydjuH1SqQ`q*Njzk)j&hEJnqnyzm4&V^Thj5yk z5>gdzbJ|55<$ zMV!;ygKCsg=VV<()|X`36U<=hOE}e18?w=sK3fjA%z|j|K$CCo==Vbk{ zcl&&OnZilz+mOktyTV;TH=ohJ+uHEn20rO>vo)dz$-9?2Nyv08+22>MMvqgvl|}6Q zYimjV?ttD`(zYIpvG2Q~`^K96*=fvud)s?^2gfz7I#x61m*Nk!-PWzp!XKaCFnPe! zY}^20+-=}c~v#z$8Ow<&HM+M=?^mVpG44Y5h0v1DuLZk zKDq-K&$9{O{GX$-O{F9_(9(Yk61mHLFJgYo=eW7Ld#sc)yWMOUmRXpXj&_Pn`sXcK zrBb48-VsBodfmL4fPYfHy?E+*<7Yg<^QL^(e@wmr+Uq_0Oha@gbvs&%oa>kTb#euo z2|>2gfO6x2a?^mG<~r9ZJtkm%lU>8iZ1eKNuobt$Mty9R&{@(%ot#Hd7n=6mq+ zmG2szDNB9vc%b@H=$gLTf64dsd#dE8Qv9V*;wiROzO4dZ{gTMFAbil?LtHdF9mpO;2 zAu9F8djS&b7pr5`FYGqDg;57srjWDN$O)jH08o`~XV9_)yZx7wm$G#FW21+aSfv+l zT|Z-{$dWxls2uFK+wLVE3L1JY z)cwea3VJa583z5BsHgjeQC^+Aud?^7F+6c0SqxFykTsZkWP4eluG0EUR|HQ&DpgdX zYrLT4nyTJr;buP_-BgBN=he5i;CRxT{;*S6(4}104Ux&{4PkPTk2YrWr1;mf<28L_ zSwif7Hu|)nRpotC=%VYBPmzhq2*sHz1037PyvPAm1!Ld5k#Rd-OnY3#(cS+MxY|wh zJI`x{;7-K?Mm_E3Gyu)^7x7`ngqW}3Qj4wXpZ<;nh>e#$7}w>Sv+>do*Gyi>HsmpuF`H)HorC#j6`qR7}H#v>G{(Iv@~Hgs!Uq7=5+ zrdsIqei?@AG;02j{&BAwqy2KZXI|p;sZ;4fdPzOhtBs#+Axpn`0dQe@42vPl3`g)X z25k(?sl@fUX4iV+xmQl=vU*PR1MM!C?nP^yrjeC3{!Hgq^-%lDjVE{MC+#vV{^T-l zlPJM~E3|SB3dzhAqt@BYJC-ju0}b)k ztW<&53Br$Lmf_ZM2kf-;6n9h2y>yH4(ha28`a@@dY4P>9ZmU$Vh_}1$ZafvfmPop@ zeaW^xBJjuN8{XD=c=IfW!U30v1w+(Q9kZ+pu6_F{B!jFP=1Yc}Mkqmc`@-r?}ZFKg^{D3kcIufX3`fc+59u=#+Q!zLY4Xilnj!h zTc2IGB!B`Sy&7dOMly(rwD6qYwBpg+B(oC#yoFz+$5t55--~a;^ZR>#l6N0l+wldb z+zjvW{ePr(R2fQ*P#hgP=!J$Cge1U$-D%K>x0M-zN@>tYX{6*pXz(Q6#)qK7RszmS zu0`IX2#wI5Fq1U@IEKuHT))^JU;ByGUVy~%yoml;-R{PPvM7}$^`&12XhmnYsKLO& zb9dXHtAqM_&_iz{ifC^?@?5GBZ#+Dg{)$TN4-d$Iqy`|H?g#o9r}A#tC1*O2ysH+| zRgQ(*Z@3U|+fD#a>zDa4gc*XXmOkfPcqfUhc5fWa#oL$lW?87vR%$j?05rmFJb`vY zi>f(@NVcPrLHGZpB^gZ8z`Z7I1GwS`^dLQM#st_kQZ&G8{#5WlW8q<|4*-Pnb8FTS zb0&yGZUlHz{K?%d^>N)!EV04aR9vIA1Gt#(fi*1*+C%ewBcRGa zlTm(ukJ<}ftTAHBUt$Qx4*HC;m@I0V8B1|@F}T5I(vwwRA~8BcDfH|wGel!gY?Z9% z9M^aJr8uk>4x7fG*LiBdQR`ZMLf1fY+h(M5wWqjE&=ooHv6IES1bJ74=!U%5#sBZD zE@ufu7=5$)`OPZd|BO{x6K4{}e}S5{rsw^gKpy>>%IyWOm1Kj@M;2_s%cx7ifLN zNX(*}QJPpABMAD{ie894O105Fo7kq15mEHiUufz z?YDbu_Y%Cg?(*X?ik{u?qf_hVe9ERQ%<3zbqEx2+qd;=aPNvPM0(*$yv9rNy}q$o9?I?bKwS7z zRBl+}cTCWpW>wEdf?=_W4XaxCux$wMVL0p#3XiYIZPu97g=VTQf@t@7C*muCwH5`p zdx!=ETn%>}RvCwT3>XA*tH?O`1?s^2*YaQ;i#nU-QOlo;_Qhn!%3-9Jx3-b3jTq82(9$LgDjCnp+{@a=0tU)9FR zY7RVti(V(QD!ohnc+hs!9x^Ge^`5xh!o z5cZANf@DW1Z;<~TU!h2GDwA(~e|*Ox{U6}V^#6r#@i)GQ)Psfk0ecWRv z!|GF!{9}b2VR9V1kAvfB9pxgD1C7_b5;b5VSXbg~NGC*@)f_sc4{Mj5`+^to@|ri7 zN2s~?@RJUn*XNQ;Ns}}1P@J;AVx~}h_QoU@`qrsEPDM>DPQhF`0yebI9;7@-84xZS zY|tRjeK4~5*k-+^YBa!>txmd$``YLcRwrrIT7f|Bg5PY20pubxJhWvpB z&S29w9ObV8OU%rSY$Hy zXFKN_WftDRkk+cYIs9DPMQ%w>v3m)`nKV>L3}^Jqy`fdHxJ3%?p~m33P=1?V5ECFF zV-R@-{R8lC|JC`V`}YR~XDIf#2!*zJu{!3WaS0}*TnFOdCpB?$`nV(C#3Ot3Lj5(B zSEpJjE;)?o@ucycSvT9vm8?ee?)wz*xtKfgR+`-#w)#tkEP@vz1V^bMlqz#3uA zz)Ghb&|y(vQZT2DY|=jqx-J5NSTO<0LFlO_89S{z!{0q;FCL4I9S_0gebK?+a!|%~ z?SO>2TSCHOXR7R5d>dD`kayvB?#7tcA+;~B zZf6&cyP1oVnbl*Gh^pRrB0zEVV9WC4mx8O>xB{XKD^)Ey0U_Apq(z3}O_qR#p{%uZ9r1-A6M2GomVnj#MXcvSgSY?{d-Y75_cG@(I7KQ)~7`7w8 zq?Y>6rGAdfxCQ~QAqKat42%@;3DK!dw9X506&-!`9(NEKRK+zGp05jgy`h#c&+dq3 zd9y?jUWc|A`R4!P_nc`G{pA0JU9NmOvoW}nGl#rVTfXF|A3g{wiR|TrKD)2RxD5M z8LJ#4nf@0rw@^g_3GodWyW+Ebu=6Rf#V5N3o*N@jidG^2(`%8+_wbw&?U$H*W(>9R z=?9JVl7^Xb#a8@6vKxYJ{5^&9?0%!DcoQTp+|oh%f5(@;bXM#CLj7g=FMM~t^#S3t zrCQr7Oa5Q@ej>n8Fp5G#+5D8E!if0Rhc>#4_`i5<8%Qtzg>PY0qZq57q#(Yno9kt! zU3Yr+$Iabe_8&0n;)LO1o*vdj!BycBJec1EV_~q5Wi!XI%j+}1x1~M=S(mecR5Am~ zTCh#cFm)GoLv@F)oZIJJS{;2XdSKsq)u2sk-BA?b+!v6=j^VHcX^}<}sCAkr>yrMa z7Uk?1h%3LB=ws9%`W9}iq4u%uJd83c-r-(eT=y;==P>7g)2l)$B7ftK0nOEYt|Z_p zfZnio0?FhU?buyEt^2^011NPj2j3av$nnc0 z@+VPUbp@$VOyzc#2KSdiuF13RkAQ&@NL5SoT z2;O58IdKa=0gbMf;FQ(+K%#CU;>0N4V@7gL_T{3Sd=>=q;vG=a|Tm5rkq z9t-p7YX;@hCeYy)%6JjV=(C9mELJ<2$;Pt?XTVCPLg_L313D~Hq2!a&Qhu&f0eUG~ z2DKUa_$?3~IG;7&NFKQW(qWDoWpA`Gq#f*OVP(G_$%x*KhPT&5^@9X;ku8%qK z?Z5IpcvOL?>yqM3s` zCoXOxty6A35mBrlsc+mo_xJ7i(iX=6RUt{l?_2RA0V%cM&T+qLU^LuZ!2Ja)6|I*r z0qk*-;zM!fDj23PQy{*BHn|fqU2R?j+RcjZ%!6?bo&QyTvA*jsA0JA*&efRv!j#Z= z{k6PeFIKlv(R^S{V9d@#Z!fq!4H%)<$XR()?691F2pmn!{w;U`VFO|UBgbgg*Y5&D z7D5}Pza0<_1`>&uV=&eaY8&79U4QHBmohMP0WH|9PEyydTkssa>o3Um%Hk#q*YCdv ze9*Os&R(b<1+!()?gve{1yy2_SK->C9s}wo>eQc0HKmdAw_4)_4V}~^^)X`Vg|;8s zN-S2fV6oWSn=RVAe-dRb9fQxN!o?Fwc#1MWH%OO72;*SVCd>6oDv^sP@e#i$lO_nCrj? z{I;J8-vI*?ubC8OA=$EOuXroI6kBdon|H;tmy$mTQHQkrIlApv5j^8LQoK+9e#asR z_K-yH!3kAhwSW%DXJ2D)P1ne8c(W7C*z?|hhb$%AP4k+KQ<&LXDnhHkx}!jGb)P8- z`1YYR?4?68K~G86w@vH+X9L&R&!AC;e@*<|z_n~mZGr5b4(;WBH*f=XQZ*ft@6C-% z-woW`v%K)7rrNLsJACkW1J}KiWLU0YQA7WoR|VNIj%?LU>3)!KV3C-*-b~d+5aqq* zOMUOV+92~IT=QLl1%IuTrE3NJwp65_ zWUk8T@eff|W`mvi#l5LiPg-D`XGFWWX51&O-9qbps2*uEWYUCQ0XJa1n`_M|PVw87 zFle--2Ic1p)<##vJd0H`mJBxUI!l)>LHtyP6^MB$H;G(AH#P?Fw?IS)pJP(}gYW*o z@SO|VBdZ1h749EkSS$P%2**~i!Ib=>5j)X5vHuVVY9C;3k&3K;1Y+e|Ai|xma4as_ zE#TZ3z*BVc`Q5yVoPrq3q|4uNK}zfBl(J8qqGU{R6^iZYMWgq9JNbJDR=NGfFbF5e zoVjGf|J!g=$D{@= z`Ns$`!eqbSybjKnb##kF4m54^DiZ*yU|)%hA)658B|DgqUGUwN!pj)Qmgg9;ocNF{ zd%H}C8osA2%Id7X3MtBfije{N?*=Xx`gX>JkUA!Ypm4SVMXM4JvM==?{!0Z=3LfU; zKWG{G_TSYt^cYQ=&wu=PE9QU-dQgvB>jA{T4i`6URyWc(%X$ANsCM{z2P|cZX7chG z(_ESiKlHx|1na50@5%TycK+jg%Xb4u{*ORZ{F^|?G1?gb*u^z^x(w60tYrW*uM?s= zt0{-UCkSx~KA_}}$!{S5!vzuA|215`6OME|pYTQSEaAo!k( zJc>t*FAzWALeRoO%KM8Kl(%0^e5g$Olz0_N@sI>Fe5N&_{|%-n)J)u|N5ZK!+@bCq z`lD@$IGa35)I{>o4uiwrA^uD`x7dd2Er}|4gV7S$ZSRBba%fv(bA&>JEPug4@*VWw z{XxPabG8NV#}69KA3u2h$LnYRqPLm*J40}3>3CaX+t~f*C@^RMr~p)A&?ub244DCp zaesnviUCtl{FroFdY$=SRn+Qgm+GNrI&qt35g0;9#lebd*EzZZ)xYx<)jCz{uWB&2 zxlTJi^mb%+1jvQ>ZC6t|)0|J|$J@tFx%|GMKgjNCTX*Tu#{9T7uvxXr!WEGV$z)|Z z`dixjhKOw6>!-l43u!zzWTQ_u1g1owJ62)S7o9lYpjq{bFQu6DQ96<`CQzR7T=a5) zRvM)&&Le!!thNBBt<~LSQU9%&72BM{UP7PP6&$Vnh#6W(5bZwoO zve##x9@DZMs|NdM8T@X`4-(Nn=f2-O3^8=&?%EPKxhy)O)3j&r+N}sa$9sLzDLBzR z>zJ9kG=rbrunp!FpW&r@Spwq_pObc5Yn-VxKh4W_il%$0L6aJsC0B8$e#f$%o=63=?BsO*}`mjG;WIWM`?* zZC_oWdj!}VYoNcSXMSYy9-GcI>dD_pS^A0)_*U1UZ`Q?kotX9*^r);}Z6X-cQ=LEA zu1e3OZq7>1?AwOT-kGpl=O0tshSj4puU4MJ3olp=Zmoo8@hjee&)t*3b{>jmY?tWZ z75?ULySbQQxsK`ICI#LuJfdHGPtJHMf5Db{=JtPw5O^z%^!dsAMO4A>Tpx?_$T;?q zx%gsd`6=|wmw)tC_Cn8^t9XaW`sGxQ%<{J=(noei2^u1pIoJu@QicO3Of|^6UY%e# z?JErYW(u@qy6kvBn0v9yvf|?us#O@eKtNcSpT7do)bk~ zA&bG5H0Z$)Tvm54`mh6dRfzu=wPmB)j38J}Hw((5+RZeOQ zxZz`lI@B1ga2RT$DM+I~hJzhVT`ocdnpYb?6gqidh|HEo4@_iEPtndeTdX&D6m5Gtof3r%0&G43u6t z40HBYz!7z%2y#duj431q^MU$o-({o>U+ugMIOqPZp20LDPdFGBlz|T?c%26uMt;~^ zrea(K2c-BiI+X^BYnRU@7nv_qug)^7OhmZ^vK7|3^@g<)vX*%Y=ux=GtE*wxgyn@l z$G>wbwu260-`I)jNRWQ-ZQJ;(Ti9q3oJB&M0oOkwoF-4td7P z+7E+zf(N!M1XaZrh!Qk@WCDLq0V3v!9PA53c5y6J5*LabRh3?Fb|Lo4YNWhvfC0l4 z_d4RPOONi0-yaJYe&=#yp4bS?KjJFt5?tB2gUM{)P*Re?l3u|a4j4s0;KQ=50dL^N z10+L>=;B1pO*a;=xo-e}{u$2enMZ%h=Z3asPl2SWXn6y%2|`Y#;M>AB)(tg@fm=iOrWAR@A_jQqt_eH z0*lnIhYC9kLU!r~aU}wgz*k(u5o5s^~(hABKgypA)h&Snb!2qTXm^lmL;hElO%L>=g93v;+su} zx45W8Y0{L|XUSp>tO~9yh3u6sv6Mt6b=6#077ySBTH(BO0$7q^0>vuOnS9x&VjrSJ zHTm#$GYyMeEIvMof=A0S>^?cr4GZIgXTL>8f3kzR_)MC^hdj7pi~2fuSoCMQXr^ie zF3$!?P^IT|&1^=kww7?1(*aZ;n@^mHCkb#`L!p%3qFieYVyR!z?4#5FNFd9IpNQcT zYM2w0!-;s`@C9nwkole&OL&_U=^Whn1QpHecYz1?o$;ySKoKQ#OXQkbt^TdjpQxb1 zpnR~q6{+v0sh-X0y2;0^cXzI*0oC@e^&-=Z#lB%_ie=q@iyk4Ub~g1fFOM zO9k9m8@oWKfPkn>dw~RANLVg2cJ;jsec>0Qh+uEZgmON=DOShIz)$l;(IUmW9MhV* z5l!4XKmJ&zZm`}EGMec)5&n06(^dP&Ontzhex84iYhjC%+vYv-gtMPqves;DHfFHQ zq0H@%oh8$(w2tWg;k5p2=LFQbyJ{RjBbr%^tz8lC8N4zC<=TWq`v!&_jIujqcWuAh zt}g0j;G2s357)|Tg02hyt8#6BISgsZzL+w4oB_qoCc4>qyju~_dr#&`ZaEPP%A440NF0B#S$Z3Rd)^KiG(K#jn5ALYXyn^XHR ze1M^6c!-hc!(KE&!1$^urdl{M2Q`CvgLyR<)n6-=Apurt$WVwbjt(kl zQ>0|&LCtDlNwnCc&?sWER3&?;psa(p?~Kmn>#(GFet1E(1D$;`G@>?Lo4ez@jRn5% zd7eL-A&0P(Or$3gOe+Fk_0Y)TyIdY?Dm9|j*L5Pom-YU z%~XaqW^SiN+}Wv(9&L7q8U$sdEVSK1B&ijmpkw}Sp4NW;?nQly5hH`DXEB>8 zW^pkitHDc!WW7r5-uW#H0j%6oHd*>)u93_jxYbn^QC4Q<7%ZZbL(ER}R8U7BMwQCp zqh?1%U5Pj`SUYMELmPOmDDsoWp$;Xw3CZ-sPrXNxc?+FAnY|?O9V--zmC>$ar*_T~ zXEBpMqHN3FpjU1TY3q^P!Cdf+H~@vlP(EQ9I4QwBRm}C?K^WHOWmbt-`Zez-FF(S{ zHnn9+{&<=aM^tjYU;Jnrq*5Wm6vACqkd{fY{LDiGbpeoZ%|Y?7(WVub7{zENA$33H zVy}Wa@ikzv8S+80;}Xlz15MD$2IDr7FCe}jC)8!8&NisJmxUYyUXiqVQS6}py-sk# z>(OCvuW%mPm7Xu~y15zbq@s1OAxk`-TOnc7@D-SR!C3#+*&q$oPCPKo-6b%kziN>$ zz8)1xt*W)$LO@i71uNY0_soYvbPCu8uQ5Q` zeU^mC^sH^t^65hw8IejKbw!rHSnXuRv5oSxx&%wz2sb0gZ~GVBai**bai90z$-cfv z33!&kfqi5a;$SMeBv z>)1&?%+;_MIoqb~4K#|r)>JV9Rr8bxiT96LsQG5ZS|!mzQrZilhw}*g_G`+*HEAPU*)I&!@Sblsy zw%~e-yBa#9Om}-Z29Jr)>fsJaMkAp_`D5=Fz~B}^;v+5$6+8;yGBK{4+=B~J^pW_EJVB$G0X$Vl``{k$sQzWv(8#s%EY6oonB7qqO^6f2+c>poC-+i>A z25fqR^wH6b8zb3m73U;&}^yy#4IxFD`1qyw%XfVwTn zwU$hR8Q1Uow8y>XS&VqY{lpwnOY(j2yJ7)(q58EXMtBK*H>bBKCJ)>{EYZDxpU{JW zO(QdaTiuZWJiSox3I`atDwAii>|y`9hC%EuvmBE53KUFM-Y+l^2LFZ&@bL&&+9~39FWjY$)s?=IOhk*snfKO z)7v&_dxQECq0jWK3Fj^_<0O-5IQnWYSg!{!tOg^;6a*mck<+^Eij$ETON=tQk4GSg zF%e$0np#N;UZRKnf|k=l*pp5fCrt_B0hw_nE`qfAj!w&NJ<3Q5GI#vIeBTT}$dMj} z{eBr@Mhme&5vmP$Wivh@&I>UF*B7W~QNNx`nVURj>qtOks%3+Vz)a$XZ&ZY0$m_=B zS^;AoN+>nuJdo#{dhPFxb1wsD9!}6M8^K7x_y79Y$sEv&iK|?E$$JdBzIdPv=ecFw z+8Orw^KmbKY4!Go{!Al$z=(A=L;nVpS$;g^rb!G>Xz%5u)A>bEyjQRTFU_Rl&?69u z8~XtPzgU48#bEqeYn$XfhtzD@?|cots2QtSv&|^*k1+idz|ovRAgu>x$G0(=#DmqQJ6wHBcB zcG>U15}#6vR!tgQ{uofV^>?i9xZL6gZ?k{rKi!BWBySpLzYwAV%~5F9mK)>t z3CcJA4%vBq-~m`x_2!}Wx%z~N=!IZUf(p8%pf(681bFrvCAt4}Ccvfn#loeDqY#`H z#z(3N)gR0#pTu5V#mmtP;9WYhbV7@a-cYs z_S3?LC;k(Af_dIr0d?FNj?)fEKA_Df;AZUXil!Df?SO^58h*Hf^xA~I>h~HI&tAcb z>iOfn=K|8IjhRl~SKX_(W)}Agy1bG4x*PbH(x0nUC^oQ9|F2a_?RXBuRAOiVXK-dC zW}u(WR}g$q`j?dWt&mKD`4L+_&5($MBG0+5VJ36H!BUTVP}id*_V|gBoPq;{^g6Y2 z00yTt#wP>@8NYDy3uMT^NZAvU``6U&QTDXVUhnZ9Gj^qU)E$iqLg`MV*;7<>7V*$hs@)@}3aP#EzC>Um>q#mXo;H zG#Ou2>Jeis0;V2zrbhF^omLfP5|9ZSK$QX;sSZbD&}JCwlE&3)(0wflr>rIOF{%`e za(0a1udwrLboHM{{4#fY8}&?@NgcLDiQ;Fee9nw`>d8!z)>W<`Cn-F4dr0tOIG$06 z#@8qLv$x=_2ik2q#g=deYc+BSy-ea1DR`>aIbbx*3V@d@;%I6n1da`BVhxz=GXvvB zw_H_MABB#FjPtkHs0Ho$UOm+_XL^tUuVu&V+z!Iwqjc$rdFB$;JU4^(w(VOQ>@&`R zOF@&_H;u^wmdyo>+B?)wI*1vv;7I}j2in5%nHsbGLVqpt0*YdT2m^>vi`9Z6XDlSQSZ?;5+B#KEA#nj3T-TatXgRrD$ z1mT2$TIyi$GzC|)+TS-N;b?Eo3DDOaHGN>ns{V<$IKXM`lFP;M3J}m7L;)4fAur?9 zlFW2$ZYmd+O6StYJ8hqIIQQbcmj!{)?@oEo8)Ux4$(HX{!xx+=BVccWr?Qx&9KKdV z)rg8`4@-z<4eSSw8)M5y1I>>M)~B)xmRtsRv4*KKV(NZ7|1FcmWBm_87{DVwK9HjOs|->*)LBBVm%_qQ6d!+7U0Hk ziP27+K-=CIhYm~fAsV#TebJ@|>Z_J>Mi;yzX3IzC?7s(D$LlINQ0vvfK*Uz%+GJK7 zPz_(b=?mxRd?i;(p9O&tRVv8mfByVn6*C~@`n@q0%K4PlP67{WKWCtpKESq=9_fzQ zf6W8Yz2=mSTlY*sbLv<8pvL9!kt-gB!Fj$#6v{hSxfb*s^DSDzjyF}kT<2x+w={#^ zKUPgn4r~0pA6YRbYC6_phdglyZ#)n?@M?^90{*T=+hcb?T^g|u@Okr1 z+Xfe&Z`em|kqz#Ia9ZP<&J;aElcgaN>O+*sQx~h-iRI5zcua#x50Q+;XxwtJC`G7^ z7$*@ecu&X|{040JM#3VPus(EAM@gw6!>%}hq)LtSf{#P8A#aisfFKj?Ch5+h9DuH0 zn=w2pjUJHab6c&j)XnpKpZW!7(ljCRVIv6&L zT$fRZF=>ER^HpunEEUIopnX0Y70zmbj-FBB)FR`kD%bh_*F}1T78tn4jDB_<8$|QH znRvKDJ_ceTYmUK{uQaOclOhrAIExEwDpZ8k6`L0ZQ5n&|a8A1ccI+838*?1+l| zmnFNRF(3N|31%qiHHfn0cFh$*b@it#>!OU5g>TI8C(i55@!X$ZP($Y{4B=froYw3B z%@e{#^UBspm)f<^YM1~m(kTTsZpK_#)+2J1x|dNvlm$5fjNZZLo&DE9)W=mq@OcsQ zxddOVaXTAsP_nD|YGw*iXAI+6EJpkeOEF|3pq*Tz9km=wr#Xd4#CBY(p<@)6Zjkg2 z-4&3pc<-)=zEVRZy`n}d>ZLBDI%|(&Nc=#cc$04s*azGg%gy|6xwi4l+(%}E2<a17?3ogubFX{;ND7-(lD=^}Q?lu2u*6kfEdA}Cp;0s*$(M^5g6N-BkqAt+~ z@~JL%SK!gkJ<6ha6YRvqiGhtngO8~Mp`{+N!1TJ`&=sv=1IWsN4?7$)9obc%hG>}j zn!uA{iYq=om?4veW20 z1`v7K?i$6)TnN@S#Z=u%R0%4jWWi@*x!%zbc*!yY*wWCaET}~iaA}=Pi8J! zmf$c`ZA+F+u#7mc3<->YO6397}Qc+|?^L3h8_XR32RlXUpp#b%s3> z22vvT0qSqEV7RL`xMWe-#3k!Wr_3SAlVgJ;&)V~=R56NDa2cZ!qpyiE=DG@Yc%_$K z{Vn5y(@&&!HRgQ8B?;H->PT|rd%iK3ycHR>J(}n^mx)G9Z8_*fScNF3lrv}tgx-S+ zez&0y_=1x@=+GzZ0a?E7(C6*hpqL};m#?C@5`*f{FQ(~VHbR+ox>5}!tp=CUB$c|3 zmN8i{-u`yDKnLxkHDZc$c+oG`Qxs_3nL<>ytt{ZFpD`)*>595Ksc6~u3JqnKzgwGT z{U!wo8rN{34rH_FC0`F3gFx)-DdE4MgZpYN+n!0s@ZKTf2Jl0GKZTUwa@0GmIw{bW zAVykQP?Ye824SkjW;%oE=}*Snj`wzW*z~B71~iJqE0HWciEb4q8gwaEi%ZMT>1E2! z6PftC;RhCc0dm=`eSr))_#qnaP|C4|qOVz5hZf0iRE3UuWYkZ<(h01^>A?c(m75RN z^4}BS(~2ua;L1f>aAz-HWeg9#CKdN`+sY5NiI&dk+fY;AePS)YQjo8xglz16B5+ z2I=Rc2INYD>Ph+k8B9ln1S18FtU}-+N7S~6{&6?Je5GG6TsH{aw}8~ALWyAf@S{&L zJZ~Ag?+&SNi4q~|1Sr4+sn0RI7lkxZBxy4p;IfHXc%b0Dkhd&xml0;XfT@qcd~D_F z&ulf7u$KVW+A?WNXVK7Ilg#4bx;f<%f{r|5bJEeRkRt!X#78NU7c%CMb0}d#*u7I1 zK6Yn4Qn__*r%Gsr2RCq!Yo93-2>g zY2xpdsqZiWL_9aLUES8VVZg|hY<3Wvv+NK({c`cTyy-nsx_Q^H;M}!4ARst8sb{$M zM)QnyHc-Z^DMWsn6m_&>rptuPfAiN{fX{3y57o zxna>Rg9@#KtD;5&Ef`|38SeEJp=2W}!^OJ4z?Ph``=e5o$}mMsyZ(Mk)cF*%gmB3R zWgH`@#X#X5WP0ecMf#1=I7aClV04Tk>Q%&PR58tOHq^*bbM2NGhgDPZRWg*eRwC+x zSS8)7jyb9b>|X?BCIZm(Hsu8~o6z@bUTAzwd`n1U#K%!2S4fLGWAIKF)Ev^mu>T^mwQwOZ)}is+~4 zhmg7-om4#aFAtBtrGS?mtQ zeCw`Z-a|#xgGM${8+xPhE=tKq-k3Wu0nSH%wZn2Pi6QeG0Qr@IaX-Z1i`_%)*rOFe zzx!moH(|JW6?$!n0s9;w|EUl5iJ*u2$&a*-FBR8KQ^=3Fo;$uj6Ld9WvPa+lEcKr3 zUmIKxe=PKDJJ$7+)=(Lt7VkeR%p>#oR^I_X@ZBykNccu)KSG59A9 zvmtfWnN-OINZXCU24-D|Qjzk#36knr*dfW`1~GVp(U?RqZ)7Upfw8Q-NJ~C*a>Ig7 z3~R#w;_MuQa}Am>9ox2T+qRPv+qO<{V%zqc6Q9_&ZQHgtTdVr^$JXvvJvCL&@9FBf zr@QC6>q?J&@npzQAZ?kA^op;G-PWw7v`%M3J(r{bk{-{I%q61{Qwhk!x!K8&n759f z5z(T{>NS0tzV1!a&Jvfo(Jn*I5(o+_Rw0ID`oAk>d*w{$tayn5k6V%fT=;}jIb24( zFyehmtwMaMV{(x}$n*p!%~i-DS0JH7HkiDG<6Q3jJqyA7t3s@Jv^LM{Nv?-#ud z^7Zhv*Xq#w%$fM4)WYx@nNe&E1_nK|N8qR??t951o4CtDyZOEx=bA8+<60hu6SZcC zZuiQ<8i?57GoE^kPk85N`CSEOxWc`y(%7U#?$gAsW-Qd}GS?V~X1A3oT#xze1$JyV zj1XUoJ)Gh7p3ZD`W-bWu*PYnhPaV(%Zi!lF7j*gen#(N7k=64WG?IG60fn9=jt0Pu zoPUO9923oq1_Z_nQkqm$lj=&-!21JOv1xePZ_o^ux*mPo==2a~f`xAbK>)OF^LI3pliBOk9k;yF057Z3lKl9rA#@DP_G_K+H**h zxk>+FsQ05HFe$L5K%5?vvMT^($D2OL4&F>k#_1~Paq83ymcxUHJ3cxz;1avrmLFg? z+!O3!tuTWo#G~aOoo_AJCYUUtlO)-lW0`7+_#W`jcyZ`3-_v;^3~|1cX2_Cbf4GO6 zjNe~xvEFmT`{h|%TWkK5SCTi$ejgsg-k&*FILxaZQjoFVlxZHD)vyrj_3>1VQ&9pa zQy-e-wZY+TX$M58_On;nu`k7Df|a;WAzPJO*)8zk+9)(EH8i2+D;X65INKh~J={RI znVn*w2R1n!$JZQ6p}<6`Rnd)Blm-DXe~ARuBKk5o2{HkCceahNVdkSq4W3ie9;0fZ zFd5})Azn~f*5CxJRt6bm8s+K$nqL+2>IF+Tt{mzm+BW5G*8I~}s&+`ZG>x-r&3~=2 zH?9A!%el3e&q|8DiU?&{C()>CcAh9PFPisCqEN~=if!}p&Xiv))P}Zf>{qk1E-iDvRo#@wyzzbU^XiyZ zx-3k`wfPiTZ*v}92-g*)g}taV0jw2WF{?vvO%JFJ>u1W&b$)n{3{1ncehyu4gya`D z;~yV%+v?k!@e0Pardj+ZOEo=R@9GEyD7}Y*dtPc@eL8qO-7NLCH7zLjyn7yey}O+w z3uHR|2=s9;?&BkMqNT18l|@d2R_|l!3yczq$A_sVHXB%cOjFhocPUPefN+i>sr%S1 zT6uyjwkIB1NQ5Et_lyJ)WCo=O_K2yA=IOR5c+-J_(LVU}tKTHcuy(%^+4+6f-0ML0 zX9PGU)S8_V7K~DlOgX5NDuT=Aohr*T&5f=9oI;7my5XPC#X_9cRJKQs8FLTs);bMz zKF!^}uO8sjQ*o}LWbaIw5(q867AEQ9$;01M=*+sl=Ox^F?NK52Y zq8m$3T(0glx$tDO* zgaTQ{WmNU@IAZ^C4zlk#8v}>B=V|c`A#xX8-N4Y&zp_7=iF+P&O<}x#SZihI?ticT zEz!ImS`)Ef4|Ty~(-!wboI zzspK_HqN5eX{_AZ0Du$s)pmN?DM?^NX0fbwnh6&bH~2b6t{T z(pv+To~t$+ea-`UEG&qb76=UO!wXYf1b~C{rqfwN?WAzSp&mqjO;6Ri@^HS7r%`&v zyJjA@mMTo*bIecYfTyz1p>yi@^D1kuJy*&kSVHejeX`ARH#RcnJCfP9~)UDtju-YZbsWO-LD03FRK-}H9 zNI2-QICcX88N0J5jE!iDRA-#C;p&o(jC0 zetONgs+B*&D)PU`LmlN9eX$&FQ*n!3nYSxibhR4nacGMc=QY_YngU@0a0ECD(6X#9 zF{04jBr)y|3`s~3t>)u31 zFzDo4($+$$nW^&Al}W)PcBZokNB148tshQ1(9u6wDG%Oe3h}>w2oCczI?^YH{cHPS zZta9ik>W=9kN@?jaSuLJeHZe^9kcv}g1kgzAnLj-OSp5uXSYyU$F8;_CZ9o4OlhgihabhGoyS&!C*qbzWl-&1Wm=buHO~@S2oyTbTyxNjY$&A z%~VB8O6`r|BPou?^_}4(+&%?1zrhBvljEid8OMlDm1?a98P zlne0R-eNDA2Zl+|nZGQ2Ksc}P7obdP=yyO^+F(Mfvmp5-06sCn@l#E7fFotjTJNSa zqblFX-xwy6xSbrZH4{&ixcU%(k>NM`>UO`%>GyoT8n39AXDj?i8D-=ocI?Jsk?8M8CtbHciC ziMUT#(T}}P-;~vbwkBY^2w(5m`876_Us4b4Gz2eK8iRQf7pnoao z3SWqdzKEv;`zJq)G!o)iItlyhU$}DnDR0nqdpI4XB|Gz^t0-PJ=+}BdkEKPZrM`sY zp77kg*@o7qr)&h^4DMs`us^Z3Lu{Gs3`3XZ z5rz16Jp0CsVNQW}IHF5xKk5zQ#LP*EYayy#FP0qoZt3l* zizo=O9|WEW5vXlGt^;PNr90;^lB3-lA;a zc=uSt<@W^uRk>E@sSW7Ut>CvDA()bk^!V8Z(^)-=ECIk%O|R5g zcdASWrH0`tJ5@a3qA%1rAkZ#IXX|Qzu|7ZaeJ0vR>>`%Hp%x&2yy-+A1LwRE^ZC%d zk8)sW8%Jm>aSeKKe4M7}?V=pUF{UwsnqX`r*`Va|NFEh!_bylDgVO@?X0biT#(O{? zv>)zhaN~P45T$M~)S?(Cne!(&^Cu7`u!EdpQDpqUAJLxA9fi^qJMO9Ap ze_lEpHDL|a4pY9SI#_iLQF4j@5DP#h;r6MLLrbBcga?O>0)ZIgC(2?$vpTWt?z(R- zNjAEtv~9Yd7j>PbR;O-Sl8fC6x1TS~Rr%WKoHw<*uU|H;x2f9@b{TfN98Z~wP|ymC z9d{ppefv-QPrXi^Pv8ES7=Rik*uw2O+C=@)+34_81y%STtFdMs9v{A{s@%k7&N{&A;sdrLsCI!hFbf0Kc{Kkv#6IsO-iZ=-zu5p6EezeJSv}EmRRy zIV&N;{?q{yT*}CMxxEJdkVLw_sq6YyD-)IZv_NWn(E>KeTVBq4zcm2~Yh3KB!^>eU5r}}v{b3+sGi=YPU1{{>x}$>6#V)t z_f-t))fLg~>bV~0kv!O5z5}iPXjY=|2JVO4yTVaXN|_p76FJ1&Mi;;a>(f~4N!KX1 z!;n|6ykjNh>S*R8OJ`qox!JiXBT=~S=AbNF$iLReoEd%E&Uz|+8T|-lt*!Cs%1-8f zeHAmjRz#hv)F_a#B8*X1-d4>(tDhHr*Yhc=zow0|q+N#7dvKRpQS`e|U2oRYLS2Uj zJIZ5;t%44`_Npy5mdtEvKkRb%b~D0M21(nhWJ&w?s2%*X1TXc<#vOORnY9#IRk^u^ zqWb-gUtQ*$9PL1%Uaie#=lLFdgy)7e<+E9=XStkCp)aNxL4=2?fAgYhWA(a>gsMix z;{1Ba+pG6Q4OmD&mU2ij`X$l?uWxM3`_iEL-l!<>t^{PVc+r7+d!wIL438wuT9=J{ z!@9YsVxePIlVgk*kTq@yJPXQu5jLBzYtYn!g0~@V>H2600ridcyUHk4fJ2nqP*K?y zS)-KzZWu3(Hz&CX^2}nwjPN?f`m?J7N~e(myZ55$`!V;8k;bic-DD5MXel-I&-ZU1Kq$$3*qez(8Wj% zHvJ+``sx1P<0poR^bLpJJno`Hqdteh+QLQKg0yeGB@a8zM4s?_D z%UXsWZ97b177wEovw&ycuc_jaty9@G)Ie~HyGB_%W@^dgA>T`lX1_}41nIy+g_TUk z-D|8zCsAD+|FJQ4jdg|8xLs6NTc1?++)q&0mYubF<3?7LUA+{_` zm`iou3bVBP0KW2rRB7R~TyzPAv&mng5~yR?1wL{%=cvE$mqV0UU4v<@7ur;pbI)S# zY(kZ?t2_UGL{|<~?lHBzz+rKLfUl!;j=EP+10H?GZmO-S%k2$mtC{{`>%cjg#2M~F zS&$dq=HhGAl`o!MTt-qXzR$Tt9N3HU?XeF~`iX+55NUo8*v(V-netXQdELuCetTU% zev|yx^}*piekHdY!D5EPrrn3bj?;mImM$O`XX#}`h0h>M`eYf5FH^DI5qQ9Q;j%xp z_nGYxM$k<+-vQ>c+~L@m@-~x-kTX=vIpYbHTYl{`%2^Q`uW;abuem&F` zol3e-xfc!9{TVY?u^+*M##JE(5T~##$J1n#F8FM=36X1!SgYBMkZ4T=3amX4xAaKw zmt4-iT&PjEpU2LvF4j+~*ciBac%-Ro>uEO^dlPhu)OIK_upAg`6_)9bk`Ju}LtRK#jd7r4{&8n?Ps-KLM3(ww%`6AZ{*taI zPNNB1#B+rFiafkbcD0gJJz(K4QeT6M7=h?bWbImpVi@!1 zSbk{cOxRE-ysTw;fU!}m+?>mpm7a|Kb84(gvO2rhuuwoi%T6|+RWdFqBbu==!*>vc z)9H(SFwf@+oRwSyGt)D>l)aB6 zQwz-fXclhQqn#sJNtV0N7+tSCAb3nq>1VXiId9IEHlnt?vO2eOXm*2lLtx$gKxRxP zU5y8fE+uZPpSNB9y4N2)98k zd|*&XlaqM1u!q+PO@=xy7swM_kO~YVBxcGa&{tFIWxIf;V_T+SP%Oosr$o@Xt=h8KwH}j%4b5Zm@)T5qe zA^UrMRMg9yfgmu(YrroLVSmH2u|9HW4{j!LgB8bJBFS!vy;GxOvphpIyn}yJkNJ#^ z*MVlVG`c2-?<^Z{sYi&qCeOvXTOrB**ky)0!f=KoU(Zj1$tcUv*lRu8sPi*_zMh^6 z-#qH!cwzerw9F|#Wcz6?M`O@&-VCEcLzB0VP3x$W!oUy9ij{Fp!8}~^U4_O&f9G>G zbsF>Xs_9`&IpaB$O(bLasfqPi(Jer&aPoHEFmBC!rjKo_!D!DxYB1b>f+I4i^fwz| z?INAVzHzN;g}_Ff4PE}%fE39t(1Dm+)6qY4BQ?&0Md!rHWrQyc8xP|+bqBX0wuQ@% z_C|vGf6!^5hN`9XTxGY#D+w+eL(Nbd#eb}JN#p;$GwB*#8@2RH?ymZPZTYHGJ=U@Mkm~>OgIXxKx$N6kG!0M&U$UsnLdR6augQ?***QF!ZOtn z3l*Xs)-u(RXgXe_lbz4wrc1Gw4D+4v)KnWBWOUD;=Qao4cB6Mh6P6JGFph6qOdG_L zn)mFU_9_fyUlZm#d+V#W6pmo^XvUQi?k}asnSAKoWcuzp3X1s9@`aLoqo(gb$g}^6 z@a4#&wcGT?JHEFAUQCax)s({3i-u7<{;QgzUJCQe1QU@^Hl_VvR^Jdl@H{K@l3 z)f2|=9508w#1K#_f(0{*54^P7U|Guxo-utzehsB82{yx$s_D9iS1n)dc;_7}Va6vV z1;WgKX_>9BomS^3#9#-XejM|I#W7hGNtEO!0-fyeYTQ=?YWkr8G(i*IEFXaYJx>4D|tLa}GdQF?MJB zaLy|>GriU12d^`wtyO$Q%~6^^)_6QT8&eBJo>Q-?1v`Out4)sKeeS!vJ8`$$lc}E# z{25+KQFa1x`D~GfNcc{V`IzjFx8TeE?j_ouLgfknK#*CMJ}?nGuqN4d!x`DW3n0Co z6Qto9y%3OW*_OY@h69>z_8s{HVAIRx zyZwRcX*U3VvSWA?#b$C6`B1wcLf52?%2{wIt6-glx6u4#2(GgiZZo?eYjOr2 z+q(?AO+a*-Q?%LiUfGL%5pplz*!^=ZAx4u8gV>o0A z;d%$*dIleLQnj0fmJgPN(G76SbT&CWGZTj%Hf#A*rL4#mN#Wf;R;d2jU?|9NSVUN{ zsCVKuuWMHAg3WVEcTZMNb@OxVDVl%?^y~hn6uq+dzBxV#cy>PYQ$ck6;QK;A+?9O+ zX^#)W+F6J7#A0+hvfv6f$VcoREb_!R7+Uwlqnw%U@DdC36rtFW&WJ8Oz~iGg^VFbm zlsnq1aAwX;V(^g{2sl1;$4e7^34Pejx})zP+8%5^WcQKW>Uq}H|Cmt^#?({2Azh~H z5Ign1;6W6u_2rS{AJYv~R93;XuuzGcX0pekSD27@Nnza(l$~VlRPg@JQMkbGnSj0~ zIULsW+u#rVHjk11rqygoWu>&jX(oIwUf$g!3aD>E;)%ePIis_zo93q8(YNnnT=%v! zb6$*nbm#}QoUPOL#{>arOrcx{-FVwT>hZb0f2JGXbzWgDJ(yHApQ~CKK*#*1`PVde z8LQ?Ek|4vFC-C)AaGNj&6cOJQ@G3NR zj*->lFdk=VEF0=0vF|%F;(d7{w!7E1BM_$}^3XG8bMss?WV=?oGvM)spJNBH^49;L z+28o^chce&y+(es*7%kYkAIrJCrK1f%q~%7vb(?b?e($$1DJDjdUv(S)=+@c;tm+S1Q-SM)kjwM2@yvR8hZYuPi6bWk3xnsL{0-2x#ntk_FLu!~~wyX-5Ecw7R`|h)_hD>fC z49xZOQjwF4+G`O9%RSWqYlGT2CXDxRliKNuWJSo3x)n?%7E?v4OgwZ2fpE&<{9nV& zPjv;urj7^iD|o^r+$2=Vx=pnQtZbuMPtbEA9P*`9t*GQajAL3^@mjP`@WAid05K`@ z-rT5Km5?$PLRK?iIW4gsMzIRIUW&3_jt(ZJnSp5`sPtm2@t!{ldtHvBdb)14|)cCofWTEjD zTbHlYABAR$qcnVDh#JfCw;5^Mj*jz;q^mb{^GgNy>EVkvCp3rt3_ATZ^z-U|+idst zJ~!_vi*d#QVJ}MId0D<|jf@dN5S8azctRj@Np7-1)(RKaoJ)=8j}*Y!{scD6lX~?e zon!MmX1+SQY?bj>zDV^%>jk5^TgQ}u)N|cVNr`8ARNTr!+85$~7D>v~wKrRUfq1Nx#IUdst1y^0seRVgvO|9sS$(AezpZ4Z*PxQ1yvm!>t!0V;6%?;(+r42@LoAKLX7$68ThHDg#xFbr0d=JiPxz$@bsOlPg$%P zZCV*356|-Qh?mK`kJF86V)Ijh!)Z9FB&=xKXI{zen&jJ5B9+FQkX!S@8}Xv%Vw7(i z%g;!9ghz2AjRrc(f&D3E&#ze`NZD)lHzijr7 zzeH&{rbUfw2UT}%Kj`yj4`w~Jx7nvcQ0g>5&N2Wvi2F@{#^5j8v>|~$h?3r)o@EfU zGM&OJJUSFVa9Pri%o~49tP^pw{xs@Glf29V{y+iW!7p^0)ngOyHEKA|BWje21XZ5~?EZVLRElVFZ zXji4fGp5*B6Q(||xSxHFOU@0xywo9?qQit;4GZBRnXw17vQ-@g!eLvm2G9~&073E0 zy##4!J|kOct4}E$y5f=2%YmkE3DHwT=1diav7I&JEyVi(pw|GsYHk31PjfsP5|>R1 z-Ejwyf6H|fkW*VWC-_BPt;~_Go!w{y>yS!9{EQs81)2kH)8G;T6%Vb3de6zkqP0_7 zN0SDv7I%N`Sjh`~yKX*d_KRArWolwm0%PX+tyaA@d+MZ@f}x6#q^J3!r|CeHgcWzL zyKO}S->BwGCCq(`jpCm=HCi+|Uh($;3A_O75=-uZBHx0P(X9rP1A-|WbcM`PBmE(2 zU=>f|(T+wv<{YnUI_8bxxYoBYC5!BXkwKLd+9- zQgPA7F{vO{Bc`bgsrZTI@YLxH%NN;Rt9xZz2>@V>#K`^=6(^`1mN^=h7IEn|PN9Uq zEirLs8_EfTdcZjjltfzfkzVr}wSRse_zMmC`V{T~W0=j<%8rzc^s6C@%Si|ivS@&9 zU}G<#LhBLA!<`4cNg2tNiZ@rsoi{ANQglLN>CQ>E{kYU?64xLy|M`qL-|ycHqOgKT zM64ATz2XRcKt{*V0Ehd|3q{Vi6Zi17TAbkKCF0!4nekp^UjF+h)DHK&)!9r>$n^Jo z>#!U^TZmepYfA@Ys^M%Q_0ruCRyGCCCF53uCRC5z>NPf1Q5h9CB~oh)_Qav&AMD-O z7)2j7Cx{@{R+SVEu*^waeIIW!-=kwnqI&GH1{Qr7Ta3!qzx(;CObY4N6hEevT!noBJZ4m0Hz?*}5hxVcKQbt!wL!qf}2WTM55~LT&kM zb}*);$}0An`h5iMFTlks|3V#$^uvtgzo4#CHY!_tDQnV%ZHQRCa}5Jt~~D%bf$Aw_>o^hrv7I zydL@nr1^TOePUT(Kzv`Ykv}8|`?saf6(9EDA%cnaM0i~bAcOj#P(&gbPE9__Q>DIH zd1@j3=CDdwc}H>8=PTHfysgr%D2$@{ati&pC*Q^WL=iq%rbeK~4={<}&R>4)vOL5( zC~_!$2|Go3GudR~syAU9CVEHUZvtPaUgr=V+Xxv;`^@sO z^z_QEYyYxtviF~VL3}&y)lDPCeF!4fPNUglb(Izr9)Bx3t)!}>zO$Ii;$kX-7du}- zsV|tJSUY|zqkPknFZxQyh+rATZ@n5C$#Ip8y=JJ(h_doMD3JPmE7aPaXPfJxOUNo( zsaDnHWR~L263QI0IMHtpVQ(YU!a`0f#|#ZtXT(*W!y_7%Og*M1%yH$YhzHqqco<_F z260_;5hWnwPesV!e462OFuV9_iXNSeCTBXxFevWVQbx1)b6tld8*xgigjtU)Ws53R zs*kxbj%lJOx*(}vN}SNNVHvY$$xBT6Bs3jrorL@b`A>NOg@9e=@Izt}{vqLU{2%3k zh?$9vrGvRSqp+!qn3=nkiJ7#$xx;@u3Q|cuqfB%3)t|%nzQWWNg zmK82W4v{eLo-*-=fL`LU<}BUpO}~I={uzK2?1@u(#?Hhl&U~qR+A4joGq2ga7VPo^ z{r4w~qK!EdU{RA>RKgb5Q>Pkx4J7tW=mG)7x^@m$`(n=g6HLm#|chF)YCee0{b zTq9>u<_F3)TSJ4BJz?KEI{<^oEowVX-e$H4$5%^H6j4e8VE^%r$NJ|;z>ne0ZaUL1 zq;u8}4qA_K#N=Su+h<3I(_&%-?LoiMUl)K5`z)Ntec!Ey?d@N4dH9rjBNBR%!2pg9 zWwF1LW64zw2Rr5vL4-yoZY|nL{kD5Sa+xX6nogQQ@umK?@~jpzP=H>Q3M(#?$Jf4% z@Y*oHk-?Y7S=@{f|8=eY?>bqXJvtW)Vk1b2O(W*!h&^iUii&{ z0v1H0cFtAl^E9U~dO#)Xg9R^|VfMlqphEGF75=D+_SlH|TIvEBE@|8W1zz!q9U7?U z6DAX{UwC?GOK9+B8lTv5>EENmDPc^bP;)tw80t(`N&Ga&j2o1PPO%&+g2>-lOAWF40wnk17tp~|czD<`0%>NAGYM#hsj(>c8#B%gTHI_<0Kr#LrbNg4~9H$Kx2h<4F^n0f*!mK68^S z$DZUpR2YppiU^ewA=7|awg3~ZR3Dg__?}se;k6b=GtY-jOE0p^N}tTeX==aW!mlC_ zHKdCON{WFrwk!hU8>Ga?pGBO^hwd1BBqb# z_%+7NyemQnr%LZi$T4h$y+#7SD3yR%JK;}6B1mHX`~^a|HIJnoSj1ZnKj*ebayV>} zrey2P#E;+82JjqT|8ZEV6Rou!WVukO{Khdv-A|FL5~Ip=@%X?37|et=nm7O5ShH;Hm0P-J8%LQE56!SXXiWztY&bsW&bO=IyL zWTc~V*%|--+EuAXtxdL}TW@MFYe#7$Ql(a3t*s5tt#xYKTXUn}oy_=3aI_B~XkH<6igJHw4<(`ztx$Kk0 zz;+gAF^c0TF14({8$Rrs499v=hsm1mvS9-(bhnZxA0N83N|-m|EL(M`?RzukOmY+GQ%oP~YY)H^*eClQkEWs5 zd6n#FllNN-w@@U3!G|{D=u~)g%?Dhd#1oGahqzTJbw18zrT2-eYK` zQ};ufwg`n*;Xod?PWIdBM>@BM!F#zw?I>WknR1hKRZ1!*V>Boij-$g@pcGew} zc*Tq*qz^eU>W%o`)%B0_dZod&A3hpmGbDVbS$_z7y(&@or!(H)NxnFHeg1`u?4~ty zPqF<>PkX*uWN9DjU-o|44}3r+_$nUCn|qm;TfH@Gm=9mBwAQy9z+KP4%d);@$2g5@ z!WK2CH<4)B3`g)C(eW~Jl>Ar6i*;3L8!IWgJ2fcBjj1`~ZCqzZ-SsdSo!RASdIIZU ziW62t-#gW2sFT*4jNJ@i2HaAtbb0=5uOr4f*G9hp-;>->%0u=)@q6djsp z|NYjXT4R88}%Dmeh5josIj!p$x_hqjQOuG)LSqb85B5P;9-cj5m1&2wuXia-%1mH zxrXt~34>X}t=p*i0nIv9{048}rmyGZ6<#fZQ~$%=#B{$M3uEeD(K6dXqYNGwT!5#E zbe^u6jC<>(M2A^0qE{eAvb#&GSMc=#1K}qkrcB9$K{uS`Q(qhZk)~w!#e?2S30}b6pKlYphP=|q`7$UfKh^&z- zZ{0?KZ@zzwtg_`B_r3=o+xKP- z3k*F@jNQ!TvF6}$?c(hl&93*-C&Ni^`q`u)2km>A(ySETV4S1Cj?AB9dpJMxdTAlR#A90|D#T_XJRLnyF8d4J-?ZlfBiMGfmN3sk>o~JPdXA$L z&VA`;4Y@d?R3UraOVY*WyVaP1Z;fS&^SY>vUQd=vNc$gjAr@9CvO1mxD~;wEGveFA+x{BXdhj#_&Y2h< z-{k6{Ft&mr6?$(vNHBe#?XG|93hBZ4zQB+^Ui-jJLwM{ZhkmIm}>(&)U%ARVzIcD!tKVE-v&$%}I^8w zpVKW4%Ctx~u6cOh{L0I7&PH_PRjOc6B+A1tI(_z_>aBH5`63;YH}`7gcQjxcgli$I z6~5Wt$8__~y}5k<0L}52dT0Mim}0z*a}$Wx`#{C^ z8)Gc$!&Rm^`(XXz77@3NnCjkPEX)-9#9=_Eq}pUw6G}et`B_=^5jK2>vf?dlifkC;3u z^vd%sZ2z6!+3Sy1_9b2V>qI^0d%}PAwFWHmxL9X8+~ZUJxO;va=UcS$SiUyX|LlYD zt9j~sx7pP@M_)XJOXZ!1aJQNLt7b~_6+dQs@fC}0RPrSKiU{%?A*`R8HBCYC#BOqT z2_G9l-U5=Bcx6}E8dXFa9n0C1X*JN9{IVK;zHs3wn*BAwGw8&G><9pK06Sla`UG~0 zpY4%rZQ;2riF8p3(~rrz*WVYj5Nsm;AeL^8=Psg`1UvB+=`~qx6}3N9*Te_`hJ!I- zAGyU{si?*VGs+|8pj%fWePVSr=xPNvJSCMfsnQhB*V$_c2S6q)f?ga^d(sD~fG184 z6ZY2?2`VM8L-=>Zz_!j1o?p7t}6MT z*`rxQS5X(^^CP*(p+fqEf+wYNhCC7q$?%E@iJ!`0D zg?n^nMVRg9Z-vUi{TlU~M|4?k1aJVCXwW9ix>?|H&rUn5HBWcG8vg z3T{(}9CVJd)to?BD@6r+Qb$RpOrQ{1Hm8YPD0_UQa_BuqJMa=Ag z`9eWx`6E|tdR|^#MH$x`$!FBZ0dv-=zKy!=93|Gy#2x45wHx`j}A~!p-xhj>yU}RcnEw}z5 zW=A_dY~7;YwEeW*Mj-|y?--gP&CoOvedlwId`W?>jGU(~n%OjrWFoloC2=!{V#(47 zRyIaQ@l&bZ`r?GD)BH>K)@>5}HI2E1rHV-Nl#3s#FRyHRrAI&c{5CtZ5%)wQniJWH z!i$NtZA(z-;@OMf8ILIJ(e>?K7jmR(2(J4c$cn}D1CrXMAIJ-FhD**(t{y>&1Hg@Y zN43Fqb5CI>WdCzUN|q71Egc4)V>auDc~KGE8a= zlvyl_DHj|+M}AeUL?|_Lm@b~B9bDU({hes|QFPxT++G%`K(At@vXmM~%psftoRcQ)<52rnPVM8Sl3! zmLm0Ga_^o% z^|CE!iB~8u0xaSx*u>()rjp0Qy? z#_@o-;-ft>>kbZf#Myp~;K!NRoeW!%bUvw4-eVmnXcdQmcST5vx!n065BZkC9N zQI3ox;iIa^iJG;gM)+gXUq*)U<`+dieC9AP$3!{1h(r`{T1lq}?@~dKF=4)PApeNj zLO3!-yv0_hHqXeS3h=lH1S~-Eev@^z2V4{Ev}3+p2`c-1vKj7XIg}C4i>PqSeGrn0Rz2$ve`_d1fU@$afyb*ywownz5vj(U=Usa zm|1J^FA8ZHI_9jVslbn7nt$5AsA`7^V+)GzFAMsCmV$4`}p&(%tuIvXDyj zrU{K1VJsL1W;NNkiul2~wjoq9-Z8^d>^|{V;_V6E6N4{5nB;dDf)Zy+^)y5k@sx_0 zN2tjy$@@dCjEci8g?X8c=7dtRefQueNvig|qdn&8yrT?<6>cfmr?eLP(n{w%|M)4q z;*fXQjWaj*J@nGfsbPNWYWVF_?60$NtlMgG{6{kc(BFuY70!gk^&EJ`^~ix0cNov} z+#y$f+JP4O?4iztg=g2Cf6coEl>~$u--$OV)?}thpuwmMb2~>^?mEy27^iKB zRlTl6(Gre7nFPELgkbO3?6@PjWFA0lU)x7)8T-V$5jQ`9&ILslyr8|`n5&BOfYzsX zpSyvY3{)ULVOIR$<+_CnZgdR2!L7d34d3t+$8CBZev4%-2b?0#Y~s$my{jKZn9-FILF{>&WZ!`&VVAbOV(IOwzy%t&M0x~9MzNhR3%Ys?>y2WfOTG?hl zaxY)uhdTF039{au(EJ7Z+9^KYo0hjF9PiIbjWSVN<&D4(nR_8cbb9FpwOJXs6%4fD zDP!(P`f^diH^H(nvF{;$7?fO_RxKW>*H-?4T)r)Nb@!Q0_YOfXcrbsR4{|=3RuCA_ z;us_te@@!Gvg!5NVC)vMx2gvW8@OCKFkSAaZTAKXWRBMMG`;|q;R`7**Fl}GP&!>? zh%l4+$&mxAlvSxmKHdceA$(A5XWj)X-Qi zw@|CD0y$sSkrTQ4y{`41S3?A*P?yEpW4anO0L~d1+7AMHw@?grH)9)uP(FUp<>jd1 z(D>?&+dac3td_!gl=4`aCV(tfr7Tf~`6#vf3&hhe0xJKYF!zoS{7fz@?@fPb->1hp zU=clR!$Zj)ywdJXWEl*z#e;vxr^nojBL;NbB55d!I%~QBx+6HUH51?hKT(lOAc!0(Y*(x7oyM3$>E``nw$+R1Uwf^=K zRUhWf;j}ezWmFbuvv~I6QpPyl|UikeNPcgD+MyIE{;*G(%UUPX}bKD|^aqqjZU0ig-J0 z!5%w0TcnXEg#~mF^D@G^4Ya{1#jx^SOhcNW(RSV`BL=6U_68fAiU$fOzlq~~(nuBx z;SSPL*18XF@r~4$J%|HmP;=*w9ieACc|ihNcy62(lQALY1wvk6uW|`+ zL1F9cuVC|oe z*br%m+7WZd1Un>W&~_1O-)b`?RTZoO-Eks7G)H(gagd=q`2@atjjG!`M|WCld*b9K zOQ0!4#YTv|%_P0e9fj;li;ZT_FZ3c4{ujZ#J3QR7k=hIZchd~sFu2;~iVQ8jUDKU# z5`EZY6CTHU?5s7fL<)JBH7$EfikJ+#MO9PO&sq%Pl(B%s>9H?qZ&uj)_be)6${Lu)Ghojm zJL{&pa!)pujW_*e6;CY_J8Beb0-+ohBL9umio386MUzM{6ICYx) zFQmO=ly1?Irkmbrn>%gWwr$(CZQHhO+qN@z+B@ye)2HfIpSq)NSNHu9-&pJSjPG6Z zeIjPe@p#`DGeDb$4prmuj`Ki;&iyyS=vcUP$GtbZ9b=OlL!ueY#0*X2@MBb)-~oZB zZ-9TT9U!{c^0@vKc{=|4MV^1J9SGW5TkG2xi5vY}ktab?5||!2c(%E^u(_wA`lc1i zdEY7mOL#6qjf{fAIeW&4i9=d1Wue!7>uzt!m&d>KD_E!K9kz-CIAC&Oqi0{%@x4K4xlHIlI+p(wiZ zNHvN#zARZW&2wFNc(%%KC7FT#G)Y6{A|UVL%>(IGX)=gJ>Ea{f+QpRdY_rj-q)ZZcdr6{+JHDw+(Pd(6CfW}BZ6^+H z?zCfFQj!DI72f3j`@-;o+<~JYSgd{gd^bxE@gKWwsq&e;=8H&M5adn;Z}E-6pXNaQ zp?3P~yW*1wI1&aLpPLgkP89G1Y73{|5O=)pJ`w}hkjB_8%bj2_aY_**$ArezEySH= z5ark+dxthZs|0o8bJagOb{Lvl&7z_r$2alB&Ky{Hv zjjw{224DmP(Mppd86PtunE?{2bgo`e(M;X2SngZ`-Hl~;y>_@}|MqP0B#rfUd&b2dA~-BExbv)_F5#&7860KN zWTss27NMfKH1u$4K%X8{Kjg?&*q)|g2IE?bLvlRNfytn{q4oF` z^!vX1cgVc^L%RV-E{z`lVbsXU>qYS3Db&NTftME1nZfZVG3wW3)h2NQjWIG!qEmZO ztyqV^f-14M^g?n%O~Qk-xT<7_$U<{M5B?d4_^M>;hB#3v-k$#*=WLb z>VscVu9%11f-EsN(V4z@tk_$6kti`Y$=OK)Zt6o&k*?TVagnb0TXWH_*jshcuDFN7 zf?|RX?HOFc7ulI?!WY$6yFuchUo`IIY-QYY`f8 zH_@4~c&(U+@`5i>H_4f^_;>OHuehz4hvI@}!cNLVOpz;bH|d$TxF@mq?=wMhJaIv> zz#@IIK~fk+OdoS(@xg?Uq!BuEWJ$v|CZGj${OI@v^x#4IfE4--2ITO9qk18##(6YT~<2?HfZDg^DsEA!Zrje#rshq7ZMBJ5pwncS&P`XHrhilbVTRkKX3P>!M;HCpa(72Qqvo0GC9@iRSs53&Eg=bb=i*=6H1d#lp!3Nsl zb|jfV&%?i_^j=doP~5H6sm3zHkBKw#-dRfwwo=E65`M0zJoqaIE{5IK_r+ujI3++7 z;%bI0U^BZAXmC~zKUEorR$t%s`seoPcFT=zo|!dCd>B!CGJ^##XiTN8kPt<>bbSfT ze#m^ZFuX>JRVlLA(h#GpB|Qk5bl|RsX>+d&c)i|Q6p?E5%5ov?6l2c**O;Zdf1h-? zR1?$+x6o>Yao9Xj%$E}Uy^N9aYfArCOAsuOZ$vygBM9RYi&{L$m-Dz45G3~f*(LiJ zH5b|~wB=(Q9ZnXj72Iee+v>4wcroegsle!C(GC|fi;XM`Qsiv4c=3SubiI?wI{&FW z0}&y%92|Duf#GYjkY_?U&lnQSv!3voTvn4tnXXuquLAW$LLkdFepT6%p1>%5E^KLR zqUC-6n6cH*eD8hOtZdRPkXg-xc{>iwb4k+z?n-?(>}J#yR-B+H;q9HjgK%E$q>Eu4 zHbm|Z&m>6Zb{a}Paz8a+c1kG8r{MLR=+l|5Vav;(GgbxNQxJ~E6Pwcqb<0lhSg13Vv0y{34SBf=xnhOv z$>=CgNWm++k@U!g#}YHAd3>=vT<$6T!BKYrC`t(qt5(X=G?)eFh-{Q z?8#zbW1Vr>ZA}lm2#={V(SGxy#FKp&g;VKGF-%Y!y7ZONQ9!9p|Dr6MC~Jvg2Q;kl zr@fB`B|64d3-SZJJkbMoBB};Qhl&<%!;HFxwKDHxn^ME3gJq5BqsNexlZHX)1R7B| z1Wzl-)(k421R8NT9P_ImV4Gl25m3uOp|gn6m@I=re`LDoBMMcm_YTwzoDWk$(x@~G zHm-t2mmZn7Y7#vlbRy#9L-S>+9!N4&qbf94?lWW2&}#!$hC{cEY6j#;GEpDt@UyR) zx4_8vn+LOwemt1=tM6wUU|<1@I*gL0gUkqxK#a3uu>c-HRWZxA=jyQgO?s<7#%y`@ zQ`~H>zEy3BKqfE4vQ$oDB%4#U~^W(yKBq zs5KIs04p&M!Uyu6qR?5L`(bM`)>hh`Cdu0ya;tMq`TEV)Vb{)RZ zP@`3{R+2=nL{_wd>(Y;>Ff7D!Un3lsQf%GRR}>nFO_?hN^en9b=^mAHIBV#VR9bPP zu2UUZ3h_n+2+@2_*VA`L&DTd(db9=Qo%;zTAWku(-HA~)u_NmDQVijS+x-^JS7F5G z78{qKF4(ThL{A^rhxk^aP28Ky!=<2=QN!GMu!|1PLkl02#yX&2C+0j zVOOBu!)oUm%#JpdnxiTk^S$5aMjVEwNWmrw3S%XVDA(uuog>0+)$B@j8iNTjA`RrL z#9Yp=*c|wYDxD1^i2l>S$3j!U4SK?DcJPg*%$+%>?)pSox7d`I9F;jr%V4bwCK(gb zQlm0Bd*O4$^TnmLf6lmbuv`agnoHJ*3g2BvJQ}z`bv81kN)7$+Zz}ZW$EeQN<-YJR zk{JlEMlps|TNbM>h|x2(@={JZKD_`-w8p59GlXU0y@O#6|FkwfF5v*|S&g#;FP`LtPSlLU ztzoP(GBp~3tR!MmX+oydZ9g_C&x0(eY`Nf-{!QVb{L^klqh#XgPTyjEv)IrcpM-I8 zx$E3cL$;xLifY4Jk>ZrJZ9vgWX9wcXz-ecELSpNOzKb;3CZgFwlLh%Kgh6XvWiu8? z5HGbK@&RUkK?*ve7x6x(20w1UlwOqWw8&rr{cN&ivgl2eg^lG3G`TNK*=7Ppe1P3q zjWxBW+M+oOd}tJ#EiCnbsKj|9z+(==>jSiWOW09*vL=m@rGv+*y3>RY^+I&GId3$Q zZo{{{Z2j!#9F^KmKtymVJ0#<5$mGVjaglMMHNCh#GowZ{!g+M4WG<7q!)4|EbMSb^ z5YFaOKhb5)BPm;I>?vqWIn$q=gG(` zcWN~yk?1O>UtnRb06^S2-bGYpuzwfHeyL3dB*So3AIWH`E<5bHZX1i9vys%k-O{O1 z`+34Wt$J5&-Ab;gwRj-h2`b{lyBf7H@hv{g`Dy*ydix1PB)sswyJ03~hMEx<7JMJ{m3~2CnwuWo%Ov`SxAZVYxhwD0CTo%ArZSlW5Vg$>lf8HT_11 z-a>3e(_$p>m<$IV=Ik zZtpsa5YMb`4O_gSM@S-Rr!mj#U1gR`qYjYxvk2iFm?XQsJ2TLzaV-Ns&+I97*b)n} zA#FN7v&%?F1C;>Pe(@i+lizS@(NJi&$_%CEGEZI1F^^zQN3$kjl8!*C?6p`sDvN=6 zi}Ug4xs_1QTieLW?W@t^;Js(pU(3}$n+%T8$Ht}j4H$lNAL^-T7hRh7V8!5p_F-qA zPQ%8ZPaMLt2IA^6GU|ix~Bh_UTpvE5d^lk0WHW^Wf{p2&cf0yL0Hmth_ z74xHsL{0^sIn5WST9ESD;#Hhsii&N$W+9&-&f%Bt)}Z^@I7S< z?nc^NR;)#q+NrRI=GcfQ|05B~jc!5=ha4&W_5BO?GC%N6ji9mrQ+-x-#`dBe6bc~d zOF9P7p9RYS&i?(&A=p@ZzJIpf{Yyo20eF~dHB9Q04W+BxkXzGSs9z^jYNY$R;4gJ1 zGaQ{TpL!dgYd^tn7x^}{eDE9v?j_HsQ7&prPD{y}m}@Gp+8V6C*6Jn+?c#=$p;`1b zUFKm|{@V0%7WTGY@2}dxiB#IpwO31CCUAFtvE*+&BZ^ZF)h`dRgNygPVlz+a<+26r zmSexZ^OMqF?W^chpr8-`^6vE=IWzxRjvaohC+nsk@wKBXTFBfdIJ5HH5Og;BhHgE@ z4B?dLIBy9xvSae1P1K4VlwA&H$M}WyQkp4N@;luY+h8BQR}XLKMo75rrO1NeT7PMu zfHy2~61(z&lexgpY9vS98Z0@GbqZ#tI@TqmUjF*MA%9^0i)4@^K2xxLQjz<5y$U#r z)YgBnyX?Cnw%?nE@o5by5Zz3dAMS`yzUiYr7142<9hMy_xNY3fAH ziGfjcJf0Di>v5RW(-K^~(o7$lnAK?l8<{=O;t%?G-U%=3WMzKO*4x(#7pUGr-;Yw^ z8Wesn8F&RLp-Sl7#35+=urz9tNOpq=H3BPnIP8@ObA!e-8kqsJ&@^&`1G#wkMj=#2 zb?r@M@eggT$~z9}4?(V9!GQ*uZn)HfABs2Ph-x2_U4F151{7r9SSAZL`d6q4#Dzd~ zCy~CEZn{GasbI8?PmNaM{SB$ZlsgTTcDN+5D(z#fAjT+!y&@XV;rf|geO+u#<5Y`7 zy2E-QEGWvsE|L46n{92;NFSt0kA2mE95p}zmBT=CBLxH7LR}PJg~eI~I)alZ7kHSF zzvT>-ygtj?{`SDSe^Y*)jK8Bn-?8LJh<6I>Nk8Hk3@Hn!+@KO>>+R{ZFA2?-y$jo= zqQl5bO5@F-X;ZaYsgR1SuL1u&`2~#P*60Tl<0yeKGZ$RT0<6r!x&^uzFR-W6xXZy*f z1PV-S(rQb&bOgw(*LUDQfp}l%B`fE!ioezBJlsyQ{V-o_F@=9gX85k3K^St_2z($a zTz@LWcM9aRT_BMKjkHE0gKTdfaf-l6?-FvlTvzQ!kqC$ne27LkM9z1qZjF5s$r{F# zbQ0M*1|X*3wZa%%KU^Q=H!1L#>u^0yic!I$tT1j0 zV4WV7XY(r+v!pZ}lcJ_vU4}KDTE@Ftd~S8vJLJ?@E-PU#OW`@U4QHSA+;1~Eypf(3 zXR;ZUu-U!=88l)!y9PES9fuS%WK+Ro$03LVt-jZGF10vjTf=U5tcyo0XzGThRkbi) z=n9CKYD^YiTq;*9+L6C2DhaJDu)IuB5!^vBPgPe1o1~+NN&)|amhv4a^Pp3M;(@dOD|zcMh+V4)$FTJz&0KT zDjYr?FSHjfLTGp{zB)G~6|UftM_1o#$Gw}=VbiDu*Uv-K3GfF;c9)c$CH9`zb=4=n zB9PI@yxT0B2YqBVrZHT^Z&0@=iIw$(kQJK(8}mns_hv>&#M{IdFNr9Dc$J91Rva%p zSL-w{3n1E2FY+aA!(o)d#yhW60aIEXTB-8{~|*%93R5f{S;5qtS+?th9Xx04gQk`sAMj-<&3-D_Bz z9a70o${T-4SK9%I7q4v1A>^ZNPzlxOpHq%WeT(dQB2=f+y+x=+929~Hivml;;$~UU zDqND6QTBx7Wl+jn_{|ahHqtXD#VH89A~!&lE+K#WQ%i_d2H~AR7~HN(RrEZRpb=Rz z^EWOFjHvYFVuR_AK9MO{ zxD9Y&oqQyNHR>d(x+Fj-mI#8;KDD=nN|nn99U4Lsz=rGhp5*+tLh9E#BoL!y#LmF(H(H&JX*s&20k znRiX;c98@;y^+3d`o2*=bR)h;558?aV%|^C2}PMCTneq(v7{n`DYOEJ{5#L|~jqstaZf|6p=t)D)tQ zt%$VF*E?}GFKiSbvfC|Q-J-hK;9*(NEENs|<}iDQRnX0j zmHKugF1&TsckfW!WT1DeN(rgaVsV32pP6-&iqxbrn4kYCR}``HBYOfG!e$%S$~bv7 zr7qH!&DdLQt==52uiI78YMb&T-mQN#4Con>Z`&i_2875s!T}rN@);@}5YH{gMrl3C41z}02bB0^w{$vEjh?6l zIZ}5H&v6mYq?y&Jy6kU<7kebccEXw-i9*hOzKw@;EfAa(6IcDioI zVKol8TOXOJlKWw<4!)|q*+{Ssxu8=h14eIz-&G+T+)q-7o{m%Bp42r(KHcTN5W5!}*g-ci z+SU-en;kRoJhUZmJOIrP@T&X+M(lFY>DacB{Ot^aD=fepeZdgg@}*FUXIhj~h;k3< zNPK~L#(9POq!&TNQ{@4bcKS2$A56qk>UnC0DrT!FCd{X9bMBWMc~Jb4{Q77H1gD5{ zw@j&lGCdx9Dm;L ze*)?!B7fd#1ONJ@`v3J&_4|nch8fjBhM8Re<1E{s=mni%^Zk`%A0n(4bx)lab#MI> zI6tBN6Wc%G{S%)*5%?2>KT-G-hk1&8z7Q6HUtq|lmOKy~Fb{Bfi~Rcts52WMl&4a2 zy@9xpkew}dPshD{ll;0M*)VUAWLEuNFinULzIn=dw*CVwQ?C3c;56q!%xDjUbMDs| zn)lm`&8TgrX4FozQyL(UQ&od}{_&uie}R!M?Bw+HZ~!5*sn=5QI5f&IKIXq?iwBe<)S^Y+Z^VQ7Gbvk!CuJ7AH!s9N}|nl_*wl5W_ux$R&i*D(k~nEo5$rdahiwaM>)?yM6*xJ60w_? z<@H6IIVldxU`2&-me0y)M4dS)j>{5pny2OMMIYHH_RES2J#d^O3Ke1`I4KUxstQ{; zEkX-jI4Wl4OF7P&M7>AkOF7S>MZH(#O*zh~M6<8T9I>5i3TGUbPOzPO3Tf#_ z3w!p;XgSUaM71x=XxYyvV>*W9Q#sBVM76KWYT3>qMZK5hbsd+IV>%|}bzPU1V>(9U zS2@nHVmfBzS2@qYM7K}NY&p&~W8PW{Z5)J`IW7~$c}y$xxh@;Uc?>G_*)P-OI9H8%YcBLTEZgNcca5p3%b7A&Dk5uR z_TGMG&^~;J)4q78^&WgC(LV7Et$FU2Wqsi(!jdkq%^>lfY&zXEq2D%&$-7D8f2&~+ z=`oEdyvZzfYGe=h(UZy7oHBQ+WKYCy%(7vmJach`{hZ5^bxn&rmASXuFs3Q)oFX)D zZBOtqTAANAA>1}(neR4X+%~N#<~E`HT+@<$&K#WwK1O{DcPHRB3ppz_`NeJIGCz1c z{t&h<$jj(?CeJ7xo4$E=VuHtQ;}eoY$1B-OH(R2caWY>!1$DZ5jCRU;Jp7<}kNB4D z&dzP_lbpj)Td@+g|MNad|0`Ie-nX89t9J7R4CKP?;9l)_a7FM$OCmraWe_1Sm8d0bYj}zpyOW^w_WQsu zawD4-2LsueoF`8+UMEuzhxb=FeGnTcr)w02^s$I7_YH}u+BniU)B!#>F}7QB@D?*e z-Y(UB(IYCf(nd@?gh`iE&%y$7U@ZBULxQZy_Ck3yaI?lli%mKug{@9>|z zD+vQg5hA{&j!YK&oPzihZ?7BSTZZ~?(4(pcsC1NuGU z?f&Aq4*b1A+VVi6mx4I|;>WZ0vB~}phMdS&lebZ+x>T(iQm@cTZJ*4$)yXsN37E=Y z2((y$&M2RuGsQi=LTIJ!67GjwHSyOC3ULNwMPC}g1a4Jh#!x>z+hIkl9kCWNwsO*^{hz;z#t!ECRf(l|p$yxy2eOeJ zP~HEMBP)_oa#DBGYw8^Sts7ujh-}|F*)sxo4l483xalJ-ISD<@v%{QZW1`1 zZxZZjP({-Hb#`v00Y!jrld!;lY#J|(+;8;_(JzaP#oxZoNVp)&Thjf63%|G3p@p9f zEL?kRmfk;iXeHjYHgNkE9Vr$Y;oLH*xvuF_y!VY4r8Q3zstSn!Ql)Y)Q4{Hq^`3y2 zZ&oh8sEjMih3L*-QA}&HM^j{>%4*Rctd}2XipJP79CJA*_Ji$bnc3&kF4Q@X%XeC! zHcDe>M^fHw*t>vB{)5Pf~3-p7rwUi8_880Vc}4r0OZ-j1NSRf zAZo!gwL~=DxbfJ|d`UJp8XA3O&J56d37}H$16t)JpeL5;V(|B)cmyE6QF-rN!~pyZ z(A`)by@k`?Ka6U!5Sw|Xkhy&kiSMW15ksM{ZFlH4O(<^QsrUi$Yq|ZxS_LSnht8@E zkwSLO)GpU?d2W7+iND0I375s^7A#x)H9*2ywwSeIzgfv9)JE-)2JKmtaO&Yd{?nif zkYnvN`kxdg{@>2Q`Y%(M;h!m7oM>r_$d4Sd3pg?0Qm^7$Pr^h5ve^U? zfuNB1v{;98#xhB@o?ZP`%XEjzo96Q*iZM$=#G)tFw|#k;&S;u*Ka-xG+uQREP#6A4 z#I&^>-^Yzp*;b2Rs4q-<0t^Gk%w-T(i8MKxgu#;OnX_&8=B=wiqMAY|NvnMlO&mu_-ubs&iDLwk< z39uAm36I^-Uk}VsS7M*V>e@Y^L)JtrryS(%!UTR=Zk9#%6@zwN>q)};NTWfOn`27a z0V{@5BKsM5KUo8K-+@>MVzw2fAF+fmInIJ`j)(u9QAa-v8;60bJFRh<8>OT|#={|z zCd6p-T)f6BRpQ`N@lOryAaTslb=O6gbIW(j3VDhKA*jdZownkoMt=>JY|68JTtJJn zXhzGSe8h=BHrps>1DJyvLtK!J9x2LYo7Xm)>a3eAi?U zE!aeQ3YnJ=uz%IkO+&s7^PfcI|G(E##{WV~&6auMsDs1Au@I|>F)Nvo#iMddHW5;& z8mF(R25fI<%?ivu^jk-M2AReYtQcmAaseaav*+RB%D}+X54;I&TIYbjudV4dtZ%dz&JeGTve8=o+{P zl<^!zPo389MNoWONdpJOzxXZ~XNubNg`z3S*fq7%`byKPMZ;QM@)xIFoyTVVub1)+ z%z_fPuG+;r4uV>A%xycOB>}j$@}{L2KZs!q=}%VboG|v?PU;$@q3;=rv1Ch+E1xQ! z*M5Z#OgkeB!$C(EZY$bU7W}`f2EGpH7)lpP0Sohc0FI!(EnIv+)O4fE8kj zzWG?e5LuuF@gjyxr%U6d^*M+wBCvNpQ z5dE_Mn!q~0>|6hTDk;;yE2*aKA|3MRw@s%`LsByRTAK}@|ITk?CFpX+;u-jf#=F_)O5aUBfWuEa3jSxuQ8VpI%AAF3UvI`m?mHokJ%7 zH$qb?_^CYJM1?k(ABoPpKEy~crS$*mzz||wa-1ggnS#lj%$ZlIA@*GUto|Ts-ESK> z^+E@qHG>J7Om?H@+EoFO%!pAEs0j6cg4o!-a}F8%LLE$8WY^p#)UP-%BIP|Z5Noc^ z`7_~KPPF4IeEq_pbs%>6^ghFBdarAlZBWjvkk^c}%RC%|ayjwW$Q=)a+)T5z*qjr$ z*o|f>-!YC)Mif_)Lt)NosxYrG3{lWTDIaY?I9igc&9C;08+@Y zUwx&`9CCJ&hhh=q*0clBlsiPN@IAZeeU>3TZ^TIWEHe}~gh`!Q=oGX`;0{V{AB!Nj z46UEt;t(0QYXGP@HAH?)4*|T|Z{)Pt8>8MO90x`{w?CrzCd>!h&{<$*gYF#pg5XZw zjM@-1UMjmRRdgvDfmxd@=eG(+|CZ{|Xun{*hgqrU9(qlXysAC*hwfCZsn2j1X1fzghAYG zkcG(P#cU37V`(DRVhR?o~-%CEQpk~UNsi$Mcf z$IBl2U+Ex;*c8%Lb;fPiKr@R0_nDCnJhF_0)z-vCC~1~|q?)1UE;>)wKk ztd%LrO8jaxYNa7`53wM254bg6kq~E+2-4mS|-Jx-8AYi zC*~$g_f2sK_2~Lu#a#W@w-+#mXvr|AMO*h*Krgd;5VfRv8hdjZA1$;gV{HL=bG6UD z%QIRZxt`t6kDpZV&|x-!eLX551Fu75)wTPw>4{P$B4mEu)y?j!dp@{BWn&i?7#K?? zbLNRn8xJ;RK{=@K*>b%b*>+q$&&&1+zcJs{NbDk9DV0vAOt3YRlOc!A01 z{rx3zMFK5{K@9blV8)My$Tfiz$qyZ0tY~L`FXhz9wbi5a6+0kb;lE zTf6(33+)c9CSf!)W><4bv^4RTci`VXADr;fuqwrY0;zcw>3P?Hf6ubfI)EsYd(N`YQn3|$T60OtjQ!ih~e-nL}5bsMS2hlpJfd54m zulC305OU;>Gylc#43aGUSgAGq-a`@W@w;&*rta8nXQa}Ic0uSg;C=N>eY_E2_2WMo zbsDwtP^6#DCEbrK(*K`GqVd0tKucD*v0acu=8i>$)cysHvYpjis$f?~e2-)lQ->j) zF4=_P3{ZT{McEt&N*hkX6Vo$KO*9T*H)I@sFYw4da>d-#5SJt6hMwm8Vu z=O5DNn5oU*Duwz-FqxoEau7?0mzl`N^_1*m1UB%#4b_=>M--?0w97>~S zf$v6RzSp4Lg*R`@wGEO8R#-EdVQsfOUihcHr3;pWe4Q)OOvv#G<5J-nb$I>xxG~y%W^J*(zCLGov-J&x4pEC5C#f+k{!%adO_%) zqxn%i-MEgRzv%=aSVoNEG=eV-HZpgdV#K_z;4%6&sUv=)+}jAr8{fwZLqiXY%2 zlIW=y>N!RdykT9QT-$!WJEf8oaYN8|vK?G`l<{Blc>lWlBlbfrHu}jh#5dfm^vFH{*3|k-~PL8 z5v2NGZHv#x#}m$vZCOO`mxeNzQWrZ&2^Qay*_VN2kK|e;|D#AoNA%c&CWC@uQW-1I zTcuGg=0UTXlQ7fB*Zov9HzT-jxpQ`5<0*YgtkHHUE}M!T(eAGzW6MA^QGt&xQiBtj7QsV0Gt`d5w>4Ni+yrJvK&VXE@)thde<@a)GH@HSK|f+#QTb?wvua1kxy<~WZXqJ`1h z&E7t`mC@0-8h7b&XJok<+8@Jmq)IC}iWOp?t`P5q4a25;{sr8zj6*9f8 zA)qTno+=sO16i{@nCV#sw354%AlNoj$N&Jck{VV3D=yg)qtcfgTeIQPU%MGCB}yi9 zTL)gm`f?GH>kfh<(n7Ix(7^3aUwjy(2e0C@Xv6g?c2P{2MN>lH5Je^m{V+_uBdFZ| zzq)h}@g{=k#XREld5B{QzBNd}^jTmB@%%rQC2ribE(gAafA$ZrKZ?l{-3LlI9Jk#t zx=jI+8^90zxv%F9glZF`q#3@TG5xVD5~`QozySk1GEGrCc;TDM}#rs|uWtu8Yq$kDFpwH&Wc0c7w^M1ejj0b>g zKn(@c>SSc6ISP4gMrNkAGVZQA$PM$1v2Z^01jQWE{1kK3wAHUiWF1MlnS2a2>uoKW zKV>=~@73i}y`LlJ%+Y2psmY9PF|0-^`3t%{#ghshbpyGP74soz^@ux^E7E%PUK?uKp|d)Fs0;o_}yY%lyT;j zRU>ERBkPMP)4aup-rG8!aaUuUL?602Q(|^@yW>fgqv>__Kj-U4EEAE~ZSo;v0NZcT z(?$LmWXa!_a}!!X?I3@l?U(HXr2O^s-`MOXcXo8ha55=J6IW7hx*dw-RtWbgcCN6V zzDndQo9a)+M3d1W*W+Dgm@y2DYpKymD*rTMTsH^p?op>wEh^6*+a$in`o=K01dk`!aD6FOBamz0bH_`Bs>?%#FdOJ| zsbQ(QW?{X?z-ndS_AELQEhj>{WmtpFwBt718+J&ff65otf%ew2X6KYr^mAFVJfobC za?zCspgj*##bGm28f(3u@V^5dz40Li6>vQ{GC*iDW_#F^awU-ou8KH$xM+M{AW-G8 zmObl`3EPAcp8zi0*>eJBARLFpfAAgWfASr58o7w~!sXB2xDX7Fj)aGvdMAxt{OFN0 z#(1DX49sLY5g0m$S6RLGS@d_lMtUg)JW@P8DD!h#r*697Mn0wmvnWh$x@z;P(xB>j z#r9ae*H^(PU;fKa04?r-%rg$$!Q!wzgQlDTVyzM!)dFwT#S0<3YSO1Kdj2o)(&Jco zULk|H|KK|pZ3v&X2|s*im|9A7eohnV|HXH}$)+>@Z^iQe0XvqKKUJQPUGW8*hV3=A z${)29nXa~33J{R^9Zij5KuNL$2ddwIvq+t}UdMTHq)YBL2)8i%bJ+UQq(3gKE{!;m zk<>KDeb(6b>+K7;4{XJ8&Q4GimDRcGASI+A1SLDGm3eF4E>&L#XVa&Crfz5bF}sBm z8*HJatwGzI=Xq%a8n`!9#S~>(V1G;Q6vd-py53QLcNqch}0)>sbKDuD#68pYw+nF6Z zUFSsOQJ#I9at>&VwrpDWGvR*bJK?@Pu?{$|-M~X*3T1NKxeu8~$kWO9k2DWbhm0n= zUO&qQ6=OE${H=<_Uv2)CP}x_g@$!w_jx+f`4j**oDKu8>n)n2mez) zVwiAc;~!#~^Fq}?V*pw%5LuS`bLKcLqgF{azC7FD8tS;T-!NXp=)}+tEVZzVvJLZ7 zXYg_CA3#SW^#_eVyu$qJ-ttSa!93!pKJy3h|G>Tcb8q?YBnLtjNfr5vgpVYsUoYYy zz?r-SKMdcDHD6_*p!~O38ETnzsL@dUxD*E?|7Fk3`_4wrSMbVWK=sMPuLse`hn;l% zAv(+uhdH|qVhvf`b>j+G2{b~g~Mk_YbN|d$#fdo@xlnIgJzB#v=MIPQQC3>Zs`}Q zY5U9YI)`u0xbB2OtnEIMLz@IU2zNCAI=PBi$cOH3XJibQ(^? zF*DL?P9*V^oE%G-xN{8RCd#;phprG?)W7{D(T8KnIE8UNl^5~n1u!w-#S z1!g*o$#~vHqDdUMv6#uf+>3h1HXllY!k)VD*!3L6fR!dsS8H~^LaZ?w<@aFX_cS|G zw-Rz6Vj<53#zkjp>gCrk2Fk8`Kny!I1J1VZe~MJs4^||Oq{aQqdGR>spxtw3eU{|( zuzaB(QoZAlCNFs=c{Ck*a-GV0EG8$X2*5DAbhI0q#q<{_s%M*+!+a+N*?2(HH|5xk zjJp1f@l*0l{B-<*Bj6xLw~y;BcAjEFqV4 zuaju{nWlv5@Pe97zpbZt^WoPwFjj$*CM(;w@p#-JI-F=WqPML2aH>P^YT; zlB5KRbO_SMsK2XzP=U~jX~T7K3i^W7u$w-Czi>Dc|f&|Ew;Uh{(N9| zgm+S$_w{px^tKl+lP(XL5M1IEJOouP_5#}&be<_Qqh{tL2fwG97_b5LuXk;lEJli!tJ^@0ATb#iDl z-PiAi2BCw3(IWbsFw29b-)X3fiYCN6oEDDPNRMur7PKr+t$=L9SCO)y4}9e)HNi)K z>uO4V05VPO2e?TqZ1|vNmp}SHD0`%_h__>N@O1FXAu!)J;X@Q)tco6@nroRczyBUqCa zAv|r7EpdFA&3Ktz5mUWG3c5LBw=xuVKz6fTu$j%==^eldxH)n2z`K>pC0d)UYvun; zZvl5h!yfrP0h7c3pZQ1rw-4xl(e?sL|M~QvfA|`;cQ51>EZ;flN$DZ|C5r)4DygW_ z05%%b5VT?$B`gby#2vxsO6epEZ0RHpW{apDXxn!BJvh3(UhUxnq{^+aFfqT!JcN7v zyZeRRtzM@@aUsQ)olU+|Z?pFuJ8rX`4DaVDvpit)5x?!fFhemR7zaAju-M+ zD}tLM1YTHS8QKHS+b86gvcxks8;yiYSL|R&Ektf*#-fk>4M^X*>(3lTk=ceicks9| zrQ>2ulp@miNfs;mU8#Ac$+G#=GMuCN<1(hxRecu`XXZ9AF50kDZ6a4@gO?EFv`S@O z&^|n0F%CruEQ&>e6viZrMK>}BVImcl=ciCHmJ5QBWk+Ttz(hBo3u6(xcnyuA23B+2 zRuR9q)yf0wW=kJ}11+Xto^EH-UGw7t*>Rl0EX#kfm-FqQTA22gt(GAELsF zIYF_V1MM>vWgx|KXUG z*HXoVy*&iUuwJ?YT)WdYk2KKGxJYpBX0~z?Ajgn}Et^naDKvm0@0en|c@Tod-#5y9 z0ja=_NrOfEgkuF_sKqZ}8DaS6``e@|E*g? zD-;c}&e&Y1coP88B7PS|D76y?2duOtFCVIP@Ke1fB_Ve*bIBIq?jf(9C6Op{gI9=;wP zQBB0^A(#|vGK?b&Z&W(u0#3!lg^FQ+Bdv(rTC}b%jey$~F}^cyJdLs)d?E>>)vD}{ z<8BaW(fLYg=0f>=5*K#MeSXkV_o_l?GcbtdnQ5a7=VdmCnGSEZi>D`}<^titX9|SW%+29hY?{Wb- z#R0)|7pD;-u!IZHpw33n671wzK<+?vi{PqnytJI+*E?!^&r>@%M;7foxe9%2E!<(1 z7So$PTX}k1bVPe}&OpGdPZ9?Ob@`es`LgX=$?Or>^(n=HqEAGEaBas!ACR!laSLJB z#bN@=+k!9SiQeLBM7}yXqR*`-ar=DHCrjyn+@Ugi3BsbxD^6f|IF}cN*D9t8=me{t z&Fbx|)?84~J$PBg3OrYguEO>DIKrf2`5!OS7WWvipj%au=JiM&9anzM-)@-e8KG{I zb$YtN+JpqKs01G=q~RkX!J0S2D)x;%%M*!2#uff7GyZ2&vxiugZfOTtQSHaa1HUh- zkcL-9LF`&Xr0pmN-k~E>n~GJ_2(X|d(&7v_q9Qm#63By8XZDO%{Tox#P!g_24L9+_ zS_U;c$nqeoVNU8ZjTJlS+!H_1-Rr}oDsFi1~ooG zBXmSwflBkA-7Rr{kQdhAnW6SaK<3DO>A0va_H#Hi6;m#*r`8&BvNI&u|Nj5v=qV2x_(a49g zM7Pck4FE7m@avWRKVa1VD>w?f{40fB@SrYpIDOHMANTF+Yz8p?)edw%)<4&MqOJUc zDk@v&eXI6~h&rR3z-Ky+;Wu{SPZ`EH+J(>7NZ7(2jp(gH{h~k_s?@IdD6NrWHuTa1 zR|AJI=#jtGhEb8+DqEzZx2g_tku_8|Dh)CtuBhC~TV)47IQj5Yc=GoIUD)}1+_F5u zx1Dzkz2x?I3U}qu$L`VsdHkL0A!GN!(7R)@AjSBD)z7#f0Em;P}A@!F_iC`LB_KADfE{m#wjUvhz8jHT&zJ>;AvFX zKsXlXQ(i3vN;Qk~Z;gT5j85_^4_=jqEbM*RySdSz+*ybc;8b?AAl;AzD`?b#!`3(! z;9V^cugZK^;$60?4!%jXh%3v%%sqY*dnWrsOJ>&2t6HQ8&@QX2n+gLJ)N0zD-)WqL z5qlmVu=08~J0b$I3fZj`HRLzsyD5m1d&i!(e5X|8HE-}r032^ zN2!HD5?uBm@leh~d-{0B*&hpuNYPBM;J(y_i`0-v=|YB_TO5PjFVoF1g>q6lv4_I+ zM7`toE^>)7m(I+4tFc+}o=B6$y(SnTW!nVQ#+wckW&5t1U-f5C1D4lxp1g(*2|!j! zi3VGThj<&(z}b*`ahPvH$`7F}3#n`cu~l&k1@aEoS2k|>KuhxPB-^)t+5EZ(Wrg~RDBI{| zL1Iv+Sx_)=5c5JafGDg+Yf7p=Cf^fnjAi5=`)jFJ0&1ikv$Zfw8Z#Q|(rkv9p+98{ z$t@N_r7`RMkY#|JDQbZXq+i1P`S9!;IJu@}CizTWV&7Aw+HRUCR-xbILFlMjreTl9 zeFS%Fj+((vT^XktV#0nsVK%pd7AxZIDa4;0J6e)QQU>YFei9%7s&}CPI@ft`#4}bD zgFR=|7pxQpwig2$=*v4;6RvwUDresx6U0H{Nsmyl8k2V*!tNU?g!B;lA(_rY^K??b ziyaji3f?^`Z}vAP?aql^chrDgcc2RB9o_Z|sgLN(J-RkJm3b-C~_lcffAzjaFCbj+@<=K9vPtEWICwT!sC|AD#3Fo?D#C zeLIHzPONu!+a1~OpsTRM^2DQQ%N;rlrTco6`>hGvZ$OVU+4ty9nC?fk{Nv&r9pU2k zEe!kLaF^{D^sQvNhhQFxg;$ID2x{ltIGqs*x19g_YFMz7sN;TCCRyUbnA#W-{X+b0rz&n^V1ojqPb-#rc@a02(&QH-_tOO;CO|U zpJ(IaHdhE;Z)ag1;_ULGd(t6TCDS9ukrBD3a6}y}1T#aq((w)!GnQ5&tgxqK7Squy z#NEu|CkOqv6!qkZXZ5YalgDSc0Q5l_!IptbMk%z}s!9P%`&b~~NUg=v2F&HtWlcx(Ez!T8|i9`7))gJC{Np@O$w37p(@IT;s(cS_N zTzPIO2dopTx~yu`7c8ggld0eDeaqf;}~bU@wvmdq{uc}4X=i~w`%0cD_94k4$Q!e-&SlHUvu7D{N{z$mb`x$KO$SXD?{!8?yRuX4GibDnIU&0=*y3XD zHtkiR!a0xVIk-Uyzbi7~_(%bLV=?8Vu-td-?|1_9ytMDS5z)ISU~xX%3>-VTUp^nl zZvN1H{7stv!9$_<0wVpU*bZszHFc0WgmMUCBym*UiFL$qAGXFHxitL@JwmKerl4in z6t&1%uT8sQ-vlpin|`s;K�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�!t7stuzN{o*88! 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 literal 0 HcmV?d00001 diff --git a/wcs/lib/lv_led_64.dll b/wcs/lib/lv_led_64.dll new file mode 100644 index 0000000000000000000000000000000000000000..609749059f5e7a63c3a36581ad2e6bea359ed19c GIT binary patch literal 625664 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

c5}kiur6I$+N{`z5QbH}AzoMd+ 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

?5D?PKb=zi>2mie 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

b30F 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%0DPTI4!o|lJl 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

}`1;yP7O4v6*vFi^U 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 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/wcs/mvnw.cmd b/wcs/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/wcs/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/wcs/pom.xml b/wcs/pom.xml new file mode 100644 index 0000000..95067b9 --- /dev/null +++ b/wcs/pom.xml @@ -0,0 +1,219 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.4.4 + + + org.ice + wcs + 0.0.1-SNAPSHOT + wcs + wcs + + + + + + + + + + + + + + + 21 + + + + org.springframework.boot + spring-boot-starter-web + + + + com.mysql + mysql-connector-j + runtime + + + org.projectlombok + lombok + true + + + + cn.dev33 + sa-token-spring-boot3-starter + 1.42.0 + + + + cn.dev33 + sa-token-redis-template + 1.42.0 + + + + org.apache.commons + commons-pool2 + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + com.baomidou + mybatis-plus-spring-boot3-starter + 3.5.7 + + + + com.github.yulichang + mybatis-plus-join + 1.4.4 + + + + org.springframework.boot + spring-boot-starter-validation + + + + com.alibaba.fastjson2 + fastjson2 + 2.0.53 + + + + org.quartz-scheduler + quartz + 2.3.2 + + + + org.quartz-scheduler + quartz-jobs + 2.4.0-rc1 + + + + org.apache.httpcomponents + httpclient + 4.5.13 + + + commons-logging + commons-logging + + + + + + cn.afterturn + easypoi-spring-boot-starter + 4.5.0 + + + org.javassist + javassist + + + + + + com.hu + HslCommunication + 3.7.0 + system + ${pom.basedir}/lib/HslCommunication-3.7.0.jar + + + + org.javassist + javassist + 3.28.0-GA + + + + com.github.oshi + oshi-core + 6.9.1 + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + true + + + + org.apache.maven.plugins + maven-resources-plugin + + + sql + xlsx + xls + docx + pdf + + + + + + + src/main/resources + true + + + lib + BOOT-INF/lib/ + + *.jar + *.dll + + + + + + diff --git a/wcs/src/main/java/org/wcs/WcsApplication.java b/wcs/src/main/java/org/wcs/WcsApplication.java new file mode 100644 index 0000000..4b55fc0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/WcsApplication.java @@ -0,0 +1,36 @@ +package org.wcs; + +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Import; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.wcs.utils.SpringUtils; + +@Import(SpringUtils.class) +@EnableTransactionManagement +@SpringBootApplication +public class WcsApplication { + + private static ConfigurableApplicationContext applicationContext; + + public static void main(String[] args) { + applicationContext = SpringApplication.run(WcsApplication.class, args); + } + + /** + * 退出并重启 + */ + public static void restart() { + ApplicationArguments args = applicationContext.getBean(ApplicationArguments.class); + Thread thread = new Thread(() -> { + applicationContext.close(); + applicationContext = SpringApplication.run(WcsApplication.class, args.getSourceArgs()); // 修改这里 + }); + thread.setDaemon(false); + thread.start(); + } + + +} diff --git a/wcs/src/main/java/org/wcs/annotation/ScanMethodTag.java b/wcs/src/main/java/org/wcs/annotation/ScanMethodTag.java new file mode 100644 index 0000000..c692772 --- /dev/null +++ b/wcs/src/main/java/org/wcs/annotation/ScanMethodTag.java @@ -0,0 +1,15 @@ +package org.wcs.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 用于标记扫码方法的标记 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface ScanMethodTag { + String value(); +} diff --git a/wcs/src/main/java/org/wcs/app/ApplicationClose.java b/wcs/src/main/java/org/wcs/app/ApplicationClose.java new file mode 100644 index 0000000..b97a5f8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/app/ApplicationClose.java @@ -0,0 +1,26 @@ +package org.wcs.app; + +import lombok.RequiredArgsConstructor; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextClosedEvent; +import org.springframework.lang.NonNull; +import org.springframework.stereotype.Component; +import org.wcs.helper.SseHelper; + +@Component +@RequiredArgsConstructor +public class ApplicationClose implements ApplicationListener { + + private final SseHelper sseHelper; + + /** + * 监听应用关闭事件 + * + * @param event 应用关闭事件 + */ + @Override + public void onApplicationEvent(@NonNull ContextClosedEvent event) { + // 关闭所有 SSEEmitter + sseHelper.closeAllEmitter(); + } +} diff --git a/wcs/src/main/java/org/wcs/business/data/impl/DataLoader.java b/wcs/src/main/java/org/wcs/business/data/impl/DataLoader.java new file mode 100644 index 0000000..4dcce03 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/data/impl/DataLoader.java @@ -0,0 +1,291 @@ +package org.wcs.business.data.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; +import org.wcs.business.data.intf.IDataLoader; +import org.wcs.mapper.intf.*; +import org.wcs.model.po.app.*; +import org.wcs.plugin.plc.common.PlcCommonData; +import org.wcs.plugin.plc.model.SiemensDBAddress; +import org.wcs.plugin.webHttpClient.WebHttpClient; +import org.wcs.plugin.webHttpClient.model.HttpAddressKeyItem; +import org.wcs.utils.AppStringUtils; + +import java.util.*; + +/** + * 数据加载器 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class DataLoader implements IDataLoader { + + private final StringRedisTemplate stringRedisTemplate; + private final AppStackerInfoService stackerInfoService; + private final AppStackerStandService stackerStandService; + private final AppTrayConveyLocationService trayConveyLocationService; + private final AppConveyLocationService conveyLocationService; + private final AppBaseDbService baseDbService; + private final AppStockScanService stockScanService; + private final AppBaseApiInfoService baseApiInfoService; + + /** + * 加载DB地址 ---- 总方法 + */ + @Override + public void loadDBAddress() { + clearDBAddressRedis(); // 清理DB地址缓存 + loadStackerDBAddress(); // 加载堆垛机DB地址 + loadStackerStandDBAddress(); // 加载堆垛机站台DB地址 + loadTrayConveyDBAddress(); // 加载托盘输送DB地址 + loadConveyDBAddress(); // 加载箱式线输送DB地址 + loadScannerDBAddress(); // 加载扫描器DB地址 + loadDbTableAddress(); // 加载数据库表地址 + } + + /** + * 清除DB地址缓存 + */ + @Override + public void clearDBAddressRedis() { + Set keys = stringRedisTemplate.keys(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":*"); + long delete = stringRedisTemplate.delete(keys); + log.info("清除DB地址缓存结果:{}", delete); + } + + /** + * 加载堆垛机数据DB地址 + */ + @Override + public void loadStackerDBAddress() { + List stackerInfos = stackerInfoService.queryAll(); // 堆垛机信息 + if(stackerInfos == null) { + log.error("加载堆垛机DB信息时堆垛机信息数据库访问异常"); + return; // 堆垛机信息数据库访问异常 + } + Map siemensDBAddressMap = new HashMap<>(); + // 加载堆垛机DB数据 + for (AppStackerInfo stackerInfo : stackerInfos) { + // 读取堆垛机状态 + SiemensDBAddress readStatusDbAddress = new SiemensDBAddress(); + readStatusDbAddress.setPlcId(stackerInfo.getPlcId()); + readStatusDbAddress.setDbName("*堆垛机状态"+stackerInfo.getStackerId()); + readStatusDbAddress.setDbAddress(stackerInfo.getReadStatusAddress()); + siemensDBAddressMap.put(readStatusDbAddress.getDbName(), readStatusDbAddress); + // 写入堆垛机任务 + SiemensDBAddress writeTaskDbAddress = new SiemensDBAddress(); + writeTaskDbAddress.setPlcId(stackerInfo.getPlcId()); + writeTaskDbAddress.setDbName("*堆垛机写任务"+stackerInfo.getStackerId()); + writeTaskDbAddress.setDbAddress(stackerInfo.getWriteTaskAddress()); + siemensDBAddressMap.put(writeTaskDbAddress.getDbName(), writeTaskDbAddress); + // 堆垛机任务确认 + if(AppStringUtils.isNotEmpty(stackerInfo.getTaskConfirmAddress())) { + SiemensDBAddress taskConfirmDbAddress = new SiemensDBAddress(); + taskConfirmDbAddress.setPlcId(stackerInfo.getPlcId()); + taskConfirmDbAddress.setDbName("*堆垛机写任务确认"+stackerInfo.getStackerId()); + taskConfirmDbAddress.setDbAddress(stackerInfo.getTaskConfirmAddress()); + siemensDBAddressMap.put(taskConfirmDbAddress.getDbName(), taskConfirmDbAddress); + } + // 堆垛机过账区 + SiemensDBAddress taskStatusDbAddress = new SiemensDBAddress(); + taskStatusDbAddress.setPlcId(stackerInfo.getPlcId()); + taskStatusDbAddress.setDbName("*堆垛机过账区"+stackerInfo.getStackerId()); + taskStatusDbAddress.setDbAddress(stackerInfo.getTaskStatusAddress()); + siemensDBAddressMap.put(taskStatusDbAddress.getDbName(), taskStatusDbAddress); + } + log.info("堆垛机DB数据加载完成,数据行数:{}", siemensDBAddressMap.size()); + siemensDBAddressMap.forEach((dbName, dbAddress) -> { + stringRedisTemplate.opsForValue().set(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":" + dbName, AppStringUtils.objectToString(dbAddress)); + }); + } + + /** + * 加载堆垛机站台数据DB地址 + */ + @Override + public void loadStackerStandDBAddress() { + List stackerStands = stackerStandService.queryAll(); // 堆垛机站台信息 + if(stackerStands == null) { + log.error("加载堆垛机DB信息时堆垛机站台信息数据库访问异常"); + return; // 堆垛机信息数据库访问异常 + } + Map siemensDBAddressMap = new HashMap<>(); + // 加载堆垛机站台DB数据 + for (AppStackerStand stackerStand : stackerStands) { + // 读取站台状态 + if(AppStringUtils.isNotEmpty(stackerStand.getReadStatusAddress())) { + SiemensDBAddress readStatusDbAddress = new SiemensDBAddress(); + readStatusDbAddress.setPlcId(stackerStand.getPlcId()); + readStatusDbAddress.setDbName("*输送机状态"+stackerStand.getStandId()); + readStatusDbAddress.setDbAddress(stackerStand.getReadStatusAddress()); + siemensDBAddressMap.put(readStatusDbAddress.getDbName(), readStatusDbAddress); + } + // 写入站台任务 + if(AppStringUtils.isNotEmpty(stackerStand.getWriteTaskAddress())) { + SiemensDBAddress writeTaskDbAddress = new SiemensDBAddress(); + writeTaskDbAddress.setPlcId(stackerStand.getPlcId()); + writeTaskDbAddress.setDbName("*输送机写任务"+stackerStand.getStandId()); + writeTaskDbAddress.setDbAddress(stackerStand.getWriteTaskAddress()); + siemensDBAddressMap.put(writeTaskDbAddress.getDbName(), writeTaskDbAddress); + } + } + log.info("堆垛机站台DB数据加载完成,数据行数:{}", siemensDBAddressMap.size()); + siemensDBAddressMap.forEach((dbName, dbAddress) -> { + stringRedisTemplate.opsForValue().set(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":" + dbName, AppStringUtils.objectToString(dbAddress)); + }); + } + + /** + * 加载托盘传送数据DB地址 + */ + @Override + public void loadTrayConveyDBAddress() { + List trayConveyLocations = trayConveyLocationService.queryAll(); + if(trayConveyLocations == null) { + log.error("加载托盘传送DB信息时托盘传送信息数据库访问异常"); + return; + } + Map siemensDBAddressMap = new HashMap<>(); + for (AppTrayConveyLocation trayConveyLocation : trayConveyLocations) { + if(AppStringUtils.isNotEmpty(trayConveyLocation.getReadStatusAddress())) { + SiemensDBAddress readStatusDbAddress = new SiemensDBAddress(); + readStatusDbAddress.setPlcId(trayConveyLocation.getPlcId()); + readStatusDbAddress.setDbName("*输送机状态"+trayConveyLocation.getLocationId()); + readStatusDbAddress.setDbAddress(trayConveyLocation.getReadStatusAddress()); + siemensDBAddressMap.put(readStatusDbAddress.getDbName(), readStatusDbAddress); + } + if(AppStringUtils.isNotEmpty(trayConveyLocation.getWriteTaskAddress())) { + SiemensDBAddress writeTaskDbAddress = new SiemensDBAddress(); + writeTaskDbAddress.setPlcId(trayConveyLocation.getPlcId()); + writeTaskDbAddress.setDbName("*输送机写任务"+trayConveyLocation.getLocationId()); + writeTaskDbAddress.setDbAddress(trayConveyLocation.getWriteTaskAddress()); + siemensDBAddressMap.put(writeTaskDbAddress.getDbName(), writeTaskDbAddress); + } + } + log.info("初始化托盘输送DB数据完成,数据行数:{}", siemensDBAddressMap.size()); + siemensDBAddressMap.forEach((dbName, dbAddress) -> { + stringRedisTemplate.opsForValue().set(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":" + dbName, AppStringUtils.objectToString(dbAddress)); + }); + } + + /** + * 加载箱式线输送的DB地址 + */ + @Override + public void loadConveyDBAddress() { + List conveyLocations = conveyLocationService.queryAll(); + if(conveyLocations == null) { + log.error("加载箱式线输送DB信息时托盘传送信息数据库访问异常"); + return; + } + Map siemensDBAddressMap = new HashMap<>(); + for(AppConveyLocation conveyLocation : conveyLocations) { + /* 读取状态地址 */ + if(AppStringUtils.isNotEmpty(conveyLocation.getReadStatusAddress())) { + SiemensDBAddress readStatusDbAddress = new SiemensDBAddress(); + readStatusDbAddress.setPlcId(conveyLocation.getPlcId()); + readStatusDbAddress.setDbName("*输送机状态"+conveyLocation.getLocationId()); + readStatusDbAddress.setDbAddress(conveyLocation.getReadStatusAddress()); + siemensDBAddressMap.put(readStatusDbAddress.getDbName(), readStatusDbAddress); + } + /* 写入任务地址 */ + if(AppStringUtils.isNotEmpty(conveyLocation.getWriteTaskAddress())) { + SiemensDBAddress writeTaskDbAddress = new SiemensDBAddress(); + writeTaskDbAddress.setPlcId(conveyLocation.getPlcId()); + writeTaskDbAddress.setDbName("*输送机写任务"+conveyLocation.getLocationId()); + writeTaskDbAddress.setDbAddress(conveyLocation.getWriteTaskAddress()); + siemensDBAddressMap.put(writeTaskDbAddress.getDbName(), writeTaskDbAddress); + } + } + + log.info("初始化箱式线输送DB地址完成,数据行数:{}", siemensDBAddressMap.size()); + siemensDBAddressMap.forEach((dbName, dbAddress) -> { + stringRedisTemplate.opsForValue().set(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":" + dbName, AppStringUtils.objectToString(dbAddress)); + }); + } + + /** + * 加载DB数据表的地址 + */ + @Override + public void loadDbTableAddress() { + List appBaseDbs = baseDbService.queryAll(); + if(appBaseDbs == null) { + log.error("加载DB数据库表信息时数据库表信息数据库访问异常"); + return; + } + Map siemensDBAddressMap = new HashMap<>(); + for(AppBaseDb appBaseDb : appBaseDbs) { + SiemensDBAddress baseDbAddress = new SiemensDBAddress(); + baseDbAddress.setPlcId(appBaseDb.getPlcId()); + baseDbAddress.setDbName(appBaseDb.getDbName()); + baseDbAddress.setDbAddress(appBaseDb.getDbAddress()); + siemensDBAddressMap.put(baseDbAddress.getDbName(), baseDbAddress); + } + log.info("初始化DB地址表完成,数据行数:{}", siemensDBAddressMap.size()); + siemensDBAddressMap.forEach((dbName, dbAddress) -> { + stringRedisTemplate.opsForValue().set(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":" + dbName, AppStringUtils.objectToString(dbAddress)); + }); + } + + /** + * 加载扫描器DB地址 + */ + @Override + public void loadScannerDBAddress() { + List stockScans = stockScanService.queryAll(); + if(stockScans == null) { + log.error("加载扫描器DB信息时扫描器信息数据库访问异常"); + return; + } + Map siemensDBAddressMap = new HashMap<>(); + for (AppStockScan stockScan : stockScans) { + /* 读取状态地址 */ + if(AppStringUtils.isNotEmpty(stockScan.getReadStatusAddress())) { + SiemensDBAddress readStatusDbAddress = new SiemensDBAddress(); + readStatusDbAddress.setPlcId(stockScan.getPlcId()); + readStatusDbAddress.setDbName("*扫码器数据"+stockScan.getScanId()); + readStatusDbAddress.setDbAddress(stockScan.getReadStatusAddress()); + siemensDBAddressMap.put(readStatusDbAddress.getDbName(), readStatusDbAddress); + } + /* 写入任务地址 */ + if(AppStringUtils.isNotEmpty(stockScan.getWriteTaskAddress())) { + SiemensDBAddress writeTaskDbAddress = new SiemensDBAddress(); + writeTaskDbAddress.setPlcId(stockScan.getPlcId()); + writeTaskDbAddress.setDbName("*扫码器写任务"+stockScan.getScanId()); + writeTaskDbAddress.setDbAddress(stockScan.getWriteTaskAddress()); + siemensDBAddressMap.put(writeTaskDbAddress.getDbName(), writeTaskDbAddress); + } + } + log.info("初始化扫描器DB地址完成,数据行数:{}", siemensDBAddressMap.size()); + siemensDBAddressMap.forEach((dbName, dbAddress) -> { + stringRedisTemplate.opsForValue().set(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":" + dbName, AppStringUtils.objectToString(dbAddress)); + }); + } + + /** + * 加载API基础资料 + */ + @Override + public void loadApiKey() { + List baseApiInfos = baseApiInfoService.queryAll(); + if(baseApiInfos == null) { + log.error("加载API基础资料时数据库访问异常"); + return; + } + List addressKeyList = new ArrayList<>(); + for (AppBaseApiInfo baseApiInfo : baseApiInfos) { + HttpAddressKeyItem addressKeyItem = new HttpAddressKeyItem(); + addressKeyItem.setKey(baseApiInfo.getApiKey()); + addressKeyItem.setAddress(baseApiInfo.getAddress()); + addressKeyItem.setFatherKey(baseApiInfo.getRootKey()); + addressKeyList.add(addressKeyItem); + } + log.info("API基础资料加载完成,数据行数:{}", addressKeyList.size()); + WebHttpClient.setAddressKey(addressKeyList); + } +} diff --git a/wcs/src/main/java/org/wcs/business/data/impl/DataRecorder.java b/wcs/src/main/java/org/wcs/business/data/impl/DataRecorder.java new file mode 100644 index 0000000..0be1b1a --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/data/impl/DataRecorder.java @@ -0,0 +1,92 @@ +package org.wcs.business.data.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.data.intf.IDataRecorder; +import org.wcs.constant.enums.database.EquipmentTypeEnum; +import org.wcs.mapper.intf.AppRecordApiRequestService; +import org.wcs.mapper.intf.AppRecordErrService; +import org.wcs.mapper.intf.AppRecordTaskMsgService; +import org.wcs.model.po.app.AppRecordApiRequest; +import org.wcs.model.po.app.AppRecordErr; +import org.wcs.model.po.app.AppRecordTaskMag; +import org.wcs.plugin.webHttpClient.model.HttpResponse; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 数据记录器 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class DataRecorder implements IDataRecorder { + + private final AppRecordApiRequestService recordApiRequestDao; // 请求外部系统的数据表操作 + private final AppRecordTaskMsgService recordStockMsgDao; + private final AppRecordErrService recordErrService; + + /** + * 记录接口请求外部数据 + * @param response API响应数据 + */ + @Override + public void recordApiRequestData(HttpResponse response) { + AppRecordApiRequest recordApiRequest = new AppRecordApiRequest(); + recordApiRequest.setRecordId(AppUUIDUtils.getNewUUID()); + recordApiRequest.setRequestUrl(AppStringUtils.isEmptyOr(response.getUrl(), "-")); + recordApiRequest.setSuccess(response.isSuccess() ? 1 : 0); + recordApiRequest.setMethod(AppStringUtils.isEmptyOr(response.getMethod(), "-")); + recordApiRequest.setRequestMsg(AppStringUtils.isEmptyOr(response.getRequestText(), "-")); + recordApiRequest.setResponseMsg(AppStringUtils.isEmptyOr(response.getResponseText(), "-")); + recordApiRequest.setRequestTime(response.getRequestTime()); + recordApiRequest.setResponseTime(response.getResponseTime()); + recordApiRequest.setUseTime(BigDecimal.valueOf(response.getUseTime())); + recordApiRequest.setErrMsg((response.getErrText() == null ? "" : response.getErrText()) + (response.getException() == null ? "" : response.getException().getMessage())); + int insert = recordApiRequestDao.insert(recordApiRequest); + if(insert <= 0) { + log.error("记录接口请求外部数据失败:{}", AppStringUtils.objectToString(response)); + } + } + + /** + * 记录仓库任务数据 + * @param taskId 任务ID + * @param vehicleNo 载具编号 + * @param msg 仓库信息 + */ + @Override + public void recordStockMsg(String taskId, String vehicleNo, String msg) { + AppRecordTaskMag recordTaskMsg = new AppRecordTaskMag(); + recordTaskMsg.setRecordId(AppUUIDUtils.getNewUUID()); + recordTaskMsg.setTaskId(AppStringUtils.isEmptyOr(taskId, "-")); + recordTaskMsg.setVehicleNo(AppStringUtils.isEmptyOr(vehicleNo, "")); + recordTaskMsg.setMessage(msg); + recordTaskMsg.setCreateTime(LocalDateTime.now()); + boolean insert = recordStockMsgDao.insert(recordTaskMsg); + if(!insert) { + log.error("插入仓库任务信息异常,数据:{}", AppStringUtils.objectToString(recordTaskMsg)); + } + } + + /** + * 记录设备错误信息 + * @param equipmentName 设备名称 + * @param equipmentId 设备ID + * @param errorCode 错误码 + */ + @Override + public void recordStackerErr(String equipmentName, String equipmentId, Integer errorCode) { + AppRecordErr recordErr = new AppRecordErr(); + recordErr.setId(AppUUIDUtils.getNewUUID()); + recordErr.setEquipmentName(AppStringUtils.isEmptyOr(equipmentName, "-")); + recordErr.setEquipmentId(AppStringUtils.isEmptyOr(equipmentId, "-")); + recordErr.setEquipmentType(EquipmentTypeEnum.STACKER.getCode()); + recordErr.setErrCode(AppStringUtils.isEmptyOr(String.valueOf(errorCode), "-")); + recordErrService.insert(recordErr); + } +} diff --git a/wcs/src/main/java/org/wcs/business/data/intf/IDataLoader.java b/wcs/src/main/java/org/wcs/business/data/intf/IDataLoader.java new file mode 100644 index 0000000..a6f9548 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/data/intf/IDataLoader.java @@ -0,0 +1,58 @@ +package org.wcs.business.data.intf; + +import org.wcs.plugin.plc.model.SiemensDBAddress; + +import java.util.List; + +/** + * 数据加载接口 + */ +public interface IDataLoader { + + /** + * 加载 DB 地址 ---- 总方法 + */ + void loadDBAddress(); + + /** + * 清除 DB 地址缓存 + */ + void clearDBAddressRedis(); + + /** + * 加载堆垛机 DB 地址 + */ + void loadStackerDBAddress(); + + /** + * 加载堆垛机站台 DB 地址 + */ + void loadStackerStandDBAddress(); + + /** + * 加载托盘传送 DB 地址 + */ + void loadTrayConveyDBAddress(); + + /** + * 加载输送 DB 地址 + */ + void loadConveyDBAddress(); + + /** + * 加载DB数据库表地址 + */ + void loadDbTableAddress(); + + /** + * 加载扫描 DB 地址 + */ + void loadScannerDBAddress(); + + /** + * 加载 API KEY + */ + void loadApiKey(); + + +} diff --git a/wcs/src/main/java/org/wcs/business/data/intf/IDataRecorder.java b/wcs/src/main/java/org/wcs/business/data/intf/IDataRecorder.java new file mode 100644 index 0000000..a37bd27 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/data/intf/IDataRecorder.java @@ -0,0 +1,33 @@ +package org.wcs.business.data.intf; + +import org.wcs.plugin.webHttpClient.model.HttpResponse; + +/** + * 数据记录接口 + */ +public interface IDataRecorder { + + /** + * 记录接口请求外部数据 + * @param response 接口响应 + */ + void recordApiRequestData(HttpResponse response); + + /** + * 记录仓库任务数据 + * @param taskId 任务ID + * @param vehicleNo 载具编号 + * @param msg 仓库信息 + */ + void recordStockMsg(String taskId, String vehicleNo, String msg); + + /** + * 记录堆垛机错误信息 + * @param equipmentName 设备名称 + * @param equipmentId 设备ID + * @param errorCode 错误码 + */ + void recordStackerErr(String equipmentName, String equipmentId, Integer errorCode); + + +} diff --git a/wcs/src/main/java/org/wcs/business/http/HttpRequestRecord.java b/wcs/src/main/java/org/wcs/business/http/HttpRequestRecord.java new file mode 100644 index 0000000..2905c72 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/http/HttpRequestRecord.java @@ -0,0 +1,77 @@ +package org.wcs.business.http; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; +import org.wcs.business.data.intf.IDataRecorder; +import org.wcs.constant.ConstantData; +import org.wcs.plugin.webHttpClient.intef.IHttpRequestEvent; +import org.wcs.plugin.webHttpClient.model.HttpRequest; +import org.wcs.plugin.webHttpClient.model.HttpResponse; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.time.LocalDateTime; +import java.util.concurrent.TimeUnit; + +@Slf4j +@Service("HttpRequestRecord") +@RequiredArgsConstructor +public class HttpRequestRecord implements IHttpRequestEvent { + + private final IDataRecorder dataRecorder; // 数据记录类 + private final StringRedisTemplate redisTemplate; // redis字符串操作类 + + + private static final String HTTP_REQUEST_CACHE = ConstantData.SYSTEM_NAME + ":HTTP:REQUEST"; + + /** + * 请求开始之前 + * @param request 请求对象 + */ + @Override + public void beforeRequest(HttpRequest request) { + + } + + /** + * 请求结束之后 + * @param request 请求对象 + * @param response 响应对象 + */ + @Override + public void afterRequest(HttpRequest request, HttpResponse response) { + log.info("WCS对外请求,请求数据:{};响应数据:{}", request, response); + dataRecorder.recordApiRequestData(response); + String redisKey = HTTP_REQUEST_CACHE + ":" + request.getId(); + if(request.isAutoRetry() && !response.isBaseDataError() && !response.isSuccess()) { + // 请求失败了 + int retryCount = request.getRetryCount(); + if(retryCount >= 5000) { + return; + } + request.setRetryCount(retryCount + 1); + LocalDateTime nextRetryTime = request.getNextRetryTime(); + if(nextRetryTime == null) { + request.setNextRetryTime(LocalDateTime.now().plusSeconds(5)); + } else { + int addRatio = Math.min(retryCount, 10); + request.setNextRetryTime(nextRetryTime.plusSeconds(addRatio * 5L)); + } + request.setNextRetryTime(nextRetryTime); + if(AppStringUtils.isEmpty(request.getId())) { + request.setId(AppUUIDUtils.getNewUUID()); + } + Long expireTime = redisTemplate.opsForValue().getOperations().getExpire(redisKey, TimeUnit.MINUTES); // 获取过期时间 + if(expireTime != null && expireTime == -2 && request.getRetryCount() > 1) { + return; // 重发过,但是已经过期了,不再重发,防止重发定时任务刚重发就过期,这边再次添加缓存,导致不间断发送 + } + expireTime = expireTime == null || expireTime < 0 || request.getRetryCount() == 0 ? 180 : expireTime; + redisTemplate.opsForValue().set(redisKey, AppStringUtils.objectToString(request), expireTime, TimeUnit.MINUTES); // 设置过期时间 + } else { + redisTemplate.delete(redisKey); + } + + } +} diff --git a/wcs/src/main/java/org/wcs/business/led/LxLedOperation.java b/wcs/src/main/java/org/wcs/business/led/LxLedOperation.java new file mode 100644 index 0000000..390f37b --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/led/LxLedOperation.java @@ -0,0 +1,56 @@ +package org.wcs.business.led; + +import org.springframework.stereotype.Service; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.pojo.led.LedBaseInfo; +import org.wcs.model.pojo.led.LedDataDetail; +import org.wcs.model.pojo.led.LedShowData; +import org.wcs.plugin.lxLed.LxLedCommunication; + +import java.util.List; +import java.util.Optional; + +/** + * 灵信LED屏操作类 + */ +@Service +public class LxLedOperation implements ledOperation { + + /** + * 显示LED屏 ---- 基本方法 + * @param ledShowData 显示LED屏的数据 + * @return 显示结果 + */ + @Override + public synchronized String showLedBase(LedShowData ledShowData) { + try { + LxLedCommunication.InitLedType(ledShowData.getLedType()); // 初始化卡型号 + // 创建一个节目 + long createResult = LxLedCommunication.CreateProgram(ledShowData.getLedWidth(), ledShowData.getLedHeight(), ledShowData.getColorType(), 0, 3); + if (createResult == 0) { + return "节目对象创建失败"; + } + List dataDetails = ledShowData.getDataDetails(); + if(dataDetails == null || dataDetails.isEmpty()) { + return "显示内容为空"; + } + for (int i = 0; i < dataDetails.size(); i++) { + LedDataDetail dataDetail = dataDetails.get(i); + int createAreaResult = LxLedCommunication.AddMultiLineTextToImageTextArea(createResult, 0, i, 0, + dataDetail.getContent(), dataDetail.getFontName(), dataDetail.getFontSize(), dataDetail.getFontColor(), 0, 0, 0, + dataDetail.getInStyle(), dataDetail.getNSpeed(), 0, dataDetail.getNSpeed(), dataDetail.isVCenterIs() ? 1 : 0); + if (createAreaResult != 0) { + return "区域创建失败,错误信息:" + LxLedCommunication.GetErrorCodeInfo(createAreaResult); + } + } + int sendResult = LxLedCommunication.NetWorkSend(ledShowData.getLedIp(), createResult); + if (sendResult != 0) { + return "发送失败,错误信息:" + LxLedCommunication.GetErrorCodeInfo(sendResult); + } + LxLedCommunication.DeleteProgram(createResult); + return "发送成功"; + } catch (Exception e) { + return "LED屏显示失败,异常信息:" + e.getMessage(); + } + } +} diff --git a/wcs/src/main/java/org/wcs/business/led/ledOperation.java b/wcs/src/main/java/org/wcs/business/led/ledOperation.java new file mode 100644 index 0000000..316f2b9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/led/ledOperation.java @@ -0,0 +1,16 @@ +package org.wcs.business.led; + +import org.wcs.model.pojo.led.LedShowData; + +/** + * LED屏的操作接口 + */ +public interface ledOperation { + + /** + * 显示LED屏基础方法 + * @param ledShowData 显示数据 + * @return 显示结果 + */ + String showLedBase(LedShowData ledShowData); +} diff --git a/wcs/src/main/java/org/wcs/business/stacker/StackerStatusMonitor.java b/wcs/src/main/java/org/wcs/business/stacker/StackerStatusMonitor.java new file mode 100644 index 0000000..32efd84 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stacker/StackerStatusMonitor.java @@ -0,0 +1,86 @@ +package org.wcs.business.stacker; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.wcs.business.data.intf.IDataRecorder; +import org.wcs.constant.enums.business.SseEventTypeEnum; +import org.wcs.helper.SseHelper; +import org.wcs.model.bo.stacker.StackerStatusData; +import org.wcs.model.po.app.AppStackerInfo; +import org.wcs.plugin.plc.model.StackerStatus; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppThreadUtils; + +import java.time.LocalDateTime; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 堆垛机状态监控 + */ +@Slf4j +@RequiredArgsConstructor +@Component +public class StackerStatusMonitor { + + private final IDataRecorder dataRecorder; // 数据记录器 + private final SseHelper sseHelper; + + @Getter + private Map stackerStatusDataMap; + + /** + * 设置堆垛机状态 + * @param stackerInfo 堆垛机信息 + * @param status 堆垛机状态 + */ + public void setStackerStatus(AppStackerInfo stackerInfo, StackerStatus status) { + if(stackerStatusDataMap == null) { + stackerStatusDataMap = new ConcurrentHashMap<>(); + } + StackerStatusData stackerStatusData = stackerStatusDataMap.get(stackerInfo.getStackerId()); + // 还没有存在这个堆垛机的信息 + if(stackerStatusData == null) { + StackerStatusData stackerStatusDataItem = new StackerStatusData(); + stackerStatusDataItem.setStackerId(stackerInfo.getStackerId()); + stackerStatusDataItem.setStackerName(stackerInfo.getStackerName()); + stackerStatusDataItem.setUpdateTime(LocalDateTime.now()); + stackerStatusDataItem.setStatus(status); + stackerStatusDataMap.put(stackerInfo.getStackerId(), stackerStatusDataItem); + if(status.getErrCode() != 0) { + newStackerError(stackerInfo, Integer.valueOf(status.getErrCode())); + } + return; + } + // 已经存在这个堆垛机的信息 + // ---- 检测是否报警 + if(!Objects.equals(stackerStatusData.getStatus().getErrCode(), status.getErrCode()) && status.getErrCode() != 0) { + newStackerError(stackerInfo, Integer.valueOf(status.getErrCode())); + } + // 插入新信息 + stackerStatusData.setStackerId(stackerInfo.getStackerId()); + stackerStatusData.setStackerName(stackerInfo.getStackerName()); + stackerStatusData.setUpdateTime(LocalDateTime.now()); + stackerStatusData.setStatus(status); + stackerStatusDataMap.put(stackerInfo.getStackerId(), stackerStatusData); + } + + /** + * 堆垛机报警 + * @param stackerInfo 堆垛机信息 + * @param errorCode 报警码 + */ + private void newStackerError(AppStackerInfo stackerInfo, Integer errorCode) { + AppThreadUtils.startNewThread(() -> { + log.info("堆垛机{}报警,报警码:{}", stackerInfo.getStackerName(), errorCode); + dataRecorder.recordStackerErr(stackerInfo.getStackerName(), String.valueOf(stackerInfo.getStackerId()), errorCode); + sseHelper.SendEventToAll(SseEventTypeEnum.SYSTEM_INFO, String.format("%s 发生报警:%d", stackerInfo.getStackerName(), errorCode)); + }); + } + + + +} diff --git a/wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java b/wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java new file mode 100644 index 0000000..34ef316 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java @@ -0,0 +1,242 @@ +package org.wcs.business.stacker; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.wcs.constant.enums.plc.StackerTaskTypeEnum; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.model.po.app.AppStackerLocation; +import org.wcs.model.po.app.AppStackerStand; +import org.wcs.plugin.plc.model.StackerTask; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppObjectUtils; + +import java.util.List; + +/** + * 堆垛机任务创建者 + */ +@Component +@RequiredArgsConstructor +public class StackerTaskCreator { + + private final AppStackerLocationService stackerLocationDao; + private final AppStackerStandService stackerStandDao; + + + /** + * 创建堆垛机入库任务 + * @param plcTaskId PLC任务ID + * @param origin 起点 + * @param destination 终点 + * @param vehicleNo 载具号 + * @param vehicleSize 载具大小 + * @param weight 载具重量 + * @return 堆垛机入库任务 + */ + public StackerTask createStackerInTask(Integer plcTaskId, String origin, String destination, String vehicleNo, Short vehicleSize, Short weight) + { + try { + if(plcTaskId == null || plcTaskId <= 0 || AppStringUtils.isEmpty(origin) || AppStringUtils.isEmpty(destination)) { + return null; + } + List stackerStands = stackerStandDao.queryStandInfo(origin); + if(stackerStands == null || stackerStands.isEmpty()) { + return null; + } + List destinationLocations = stackerLocationDao.queryStackerLocationById(destination); + if(destinationLocations == null || destinationLocations.isEmpty()) { + return null; + } + AppStackerStand originLocation = stackerStands.getFirst(); // 起点信息 + String[] originLocationData = originLocation.getStandLocation().replace("(","").replace(")","").split(","); + AppStackerLocation destinationLocation = destinationLocations.getFirst(); // 终点信息 + StackerTask task = new StackerTask(); + task.setPlcTaskId(plcTaskId); + task.setTaskType(StackerTaskTypeEnum.IN.getCode().shortValue()); + task.setGetStand(AppStringUtils.forceToShort(origin)); + task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetDepth(destinationLocation.getLaneId().shortValue()); + task.setSetStand(AppStringUtils.forceToShort(destination)); + task.setGetRow(AppObjectUtils.stringToInteger(originLocationData.length > 0, originLocationData[0]).shortValue()); + task.setGetLine(AppObjectUtils.stringToInteger(originLocationData.length > 1, originLocationData[1]).shortValue()); + task.setGetLayer(AppObjectUtils.stringToInteger(originLocationData.length > 2, originLocationData[2]).shortValue()); + task.setGetDepth(AppObjectUtils.stringToInteger(originLocationData.length > 3, originLocationData[3]).shortValue()); + task.setSetRow(destinationLocation.getLRow().shortValue()); + task.setSetLine(destinationLocation.getLLine().shortValue()); + task.setSetLayer(destinationLocation.getLLayer().shortValue()); + task.setSetDepth(destinationLocation.getLDepth().shortValue()); + task.setVehicleSize(vehicleSize); + task.setWeight(weight); + task.setVehicleNo(AppStringUtils.forceToInt(vehicleNo)); + return task; + } catch (Exception e) { + return null; + } + } + + /** + * 创建堆垛机入库任务 + * @param plcTaskId PLC任务ID + * @param origin 起点 + * @param destination 终点 + * @param vehicleNo 载具号 + * @return 堆垛机入库任务 + */ + public StackerTask createStackerInTask(Integer plcTaskId, String origin, String destination, String vehicleNo) { + return createStackerInTask(plcTaskId, origin, destination, vehicleNo, (short) 0, (short) 0); + } + + /** + * 创建堆垛机入口异常搬出任务 + * @param plcTaskId PLC任务ID + * @param origin 起点 + * @param destination 终点 + * @param vehicleNo 载具号 + * @return 堆垛机错误任务 + */ + public StackerTask createStackerErrTask(Integer plcTaskId, String origin, String destination, String vehicleNo) { + try { + if(plcTaskId == null || plcTaskId <= 0 || AppStringUtils.isEmpty(origin) || AppStringUtils.isEmpty(destination)) { + return null; + } + List stackerOriginStands = stackerStandDao.queryStandInfo(origin); + if(stackerOriginStands == null || stackerOriginStands.isEmpty()) { + return null; + } + List stackerDestinationStands = stackerStandDao.queryStandInfo(destination); + if(stackerDestinationStands == null || stackerDestinationStands.isEmpty()) { + return null; + } + AppStackerStand originLocation = stackerOriginStands.getFirst(); // 起点信息 + String[] originLocationData = originLocation.getStandLocation().replace("(","").replace(")","").split(","); + AppStackerStand destinationLocation = stackerOriginStands.getFirst(); // 终点信息 + String[] destinationLocationData = originLocation.getStandLocation().replace("(","").replace(")","").split(","); + StackerTask task = new StackerTask(); + task.setPlcTaskId(plcTaskId); + task.setTaskType(StackerTaskTypeEnum.ERROR.getCode().shortValue()); + task.setGetStand(AppStringUtils.forceToShort(origin)); + task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetDepth(destinationLocation.getLaneId().shortValue()); + task.setSetStand(AppStringUtils.forceToShort(destination)); + task.setGetRow(AppObjectUtils.stringToInteger(originLocationData.length > 0, originLocationData[0]).shortValue()); + task.setGetLine(AppObjectUtils.stringToInteger(originLocationData.length > 1, originLocationData[1]).shortValue()); + task.setGetLayer(AppObjectUtils.stringToInteger(originLocationData.length > 2, originLocationData[2]).shortValue()); + task.setGetDepth(AppObjectUtils.stringToInteger(originLocationData.length > 3, originLocationData[3]).shortValue()); + task.setSetRow(AppObjectUtils.stringToInteger(destinationLocationData.length > 0, destinationLocationData[0]).shortValue()); + task.setSetLine(AppObjectUtils.stringToInteger(destinationLocationData.length > 1, destinationLocationData[1]).shortValue()); + task.setSetLayer(AppObjectUtils.stringToInteger(destinationLocationData.length > 2, destinationLocationData[2]).shortValue()); + task.setSetDepth(AppObjectUtils.stringToInteger(destinationLocationData.length > 3, destinationLocationData[3]).shortValue()); + task.setVehicleSize((short)0); + task.setWeight((short)0); + task.setVehicleNo(AppStringUtils.forceToInt(vehicleNo)); + return task; + } catch (Exception e) { + return null; + } + } + + /** + * 创建堆垛机出库任务 + * @param plcTaskId PLC任务ID + * @param origin 起点 + * @param destination 终点 + * @param vehicleNo 载具号 + * @param vehicleSize 载具尺寸 + * @param weight 载具重量 + * @return 堆垛机出库任务 + */ + public StackerTask createStackerOutTask(Integer plcTaskId, String origin, String destination, String vehicleNo, Short vehicleSize, Short weight) + { + try { + if(plcTaskId == null || plcTaskId <= 0 || AppStringUtils.isEmpty(origin) || AppStringUtils.isEmpty(destination)) { + return null; + } + // 起点 + List originLocations = stackerLocationDao.queryStackerLocationById(origin); + if(originLocations == null || originLocations.isEmpty()) { + return null; + } + // 终点 + List stackerStands = stackerStandDao.queryStandInfo(destination); + if(stackerStands == null || stackerStands.isEmpty()) { + return null; + } + AppStackerStand destinationLocation = stackerStands.getFirst(); // 终点信息 + String[] destinationLocationData = destinationLocation.getStandLocation().replace("(","").replace(")","").split(","); + AppStackerLocation originLocation = originLocations.getFirst(); // 起点信息 + StackerTask task = new StackerTask(); + task.setPlcTaskId(plcTaskId); + task.setTaskType(StackerTaskTypeEnum.OUT.getCode().shortValue()); + task.setGetStand(AppStringUtils.forceToShort(origin)); + task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetDepth(destinationLocation.getLaneId().shortValue()); + task.setSetStand(AppStringUtils.forceToShort(destination)); + task.setGetRow(originLocation.getLRow().shortValue()); + task.setGetLine(originLocation.getLLine().shortValue()); + task.setGetLayer(originLocation.getLLayer().shortValue()); + task.setGetDepth(originLocation.getLDepth().shortValue()); + task.setSetRow(AppObjectUtils.stringToInteger(destinationLocationData.length > 0, destinationLocationData[0]).shortValue()); + task.setSetLine(AppObjectUtils.stringToInteger(destinationLocationData.length > 1, destinationLocationData[1]).shortValue()); + task.setSetLayer(AppObjectUtils.stringToInteger(destinationLocationData.length > 2, destinationLocationData[2]).shortValue()); + task.setSetDepth(AppObjectUtils.stringToInteger(destinationLocationData.length > 3, destinationLocationData[3]).shortValue()); + task.setVehicleSize(vehicleSize); + task.setWeight(weight); + task.setVehicleNo(AppStringUtils.forceToInt(vehicleNo)); + return task; + } catch (Exception e) { + return null; + } + } + + /** + * 创建堆垛机移库任务 + * @param plcTaskId PLC任务ID + * @param origin 起点 + * @param destination 终点 + * @param vehicleNo 载具号 + * @param vehicleSize 载具尺寸 + * @param weight 载具重量 + * @return 堆垛机移库任务 + */ + public StackerTask createStackerMoveTask(Integer plcTaskId, String origin, String destination, String vehicleNo, Short vehicleSize, Short weight) { + try { + if(plcTaskId == null || plcTaskId <= 0 || AppStringUtils.isEmpty(origin) || AppStringUtils.isEmpty(destination)) { + return null; + } + // 起点 + List originLocations = stackerLocationDao.queryStackerLocationById(origin); + if(originLocations == null || originLocations.isEmpty()) { + return null; + } + // 终点 + List destinationLocations = stackerLocationDao.queryStackerLocationById(destination); + if(destinationLocations == null || destinationLocations.isEmpty()) { + return null; + } + AppStackerLocation destinationLocation = destinationLocations.getFirst(); // 终点信息 + AppStackerLocation originLocation = originLocations.getFirst(); // 起点信息 + StackerTask task = new StackerTask(); + task.setPlcTaskId(plcTaskId); + task.setTaskType(StackerTaskTypeEnum.MOVE.getCode().shortValue()); + task.setGetStand(AppStringUtils.forceToShort(origin)); + task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetDepth(destinationLocation.getLaneId().shortValue()); + task.setSetStand(AppStringUtils.forceToShort(destination)); + task.setGetRow(originLocation.getLRow().shortValue()); + task.setGetLine(originLocation.getLLine().shortValue()); + task.setGetLayer(originLocation.getLLayer().shortValue()); + task.setGetDepth(originLocation.getLDepth().shortValue()); + task.setSetRow(destinationLocation.getLRow().shortValue()); + task.setSetLine(destinationLocation.getLLine().shortValue()); + task.setSetLayer(destinationLocation.getLLayer().shortValue()); + task.setSetDepth(destinationLocation.getLDepth().shortValue()); + task.setVehicleSize(vehicleSize); + task.setWeight(weight); + task.setVehicleNo(AppStringUtils.forceToInt(vehicleNo)); + return task; + } catch (Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/business/stacker/impl/ExecuteStackerTaskService.java b/wcs/src/main/java/org/wcs/business/stacker/impl/ExecuteStackerTaskService.java new file mode 100644 index 0000000..411c50f --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stacker/impl/ExecuteStackerTaskService.java @@ -0,0 +1,570 @@ +package org.wcs.business.stacker.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.stacker.StackerTaskCreator; +import org.wcs.business.stacker.intf.IExecuteStackerTaskService; +import org.wcs.business.stock.intf.IStockSingleTaskExecuteEvent; +import org.wcs.constant.ConstantData; +import org.wcs.constant.enums.business.SseEventTypeEnum; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.StackerStandInTypeEnum; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.constant.enums.database.StockSingleTaskTypeEnum; +import org.wcs.helper.PlcTaskIdHelper; +import org.wcs.helper.SseHelper; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppStackerInfo; +import org.wcs.model.po.app.AppStackerStand; +import org.wcs.model.po.app.AppStockSingleTask; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.StackerTask; +import org.wcs.plugin.plc.model.TaskConveyStatus; +import org.wcs.utils.AppListUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +/** + * 执行堆垛机任务方法 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class ExecuteStackerTaskService implements IExecuteStackerTaskService { + + + private final AppStockSingleTaskService stockSingleTaskDao; // 任务表操作类 + private final AppStackerStandService stackerStandDao; // 堆垛机站台表操作类 + private final StackerTaskCreator stackerTaskCreator; // 堆垛机任务创建类 + private final PlcTaskIdHelper plcTaskIdHelper; // PLC任务ID生成类 + private final IStockSingleTaskExecuteEvent stockSingleTaskExecuteEvent; // 独立任务执行 事件 + private final SseHelper sseHelper; // SSE连接 + + + + /** + * 执行堆垛机入库任务 + * @param stackerInfo 堆垛机信息 + * @return 是否执行了任务 + */ + @Override + public boolean executeStackerInTask(AppStackerInfo stackerInfo) { + List stockSingleTasks = stockSingleTaskDao.queryTask(StockSingleTaskStatusEnum.CREATE.getCode()); + if(stockSingleTasks == null || stockSingleTasks.isEmpty()) { + return false; // 查询失败或者没有任务,不执行下面动作 + } + // 查找这个堆垛机所有的入库站台 + List stackerStands = stackerStandDao.queryStackerStand(stackerInfo.getStackerId()); + if(stackerStands == null || stackerStands.isEmpty()) { + return false; // 堆垛机没有站台,不执行下面动作 + } + List stackerInStands = stackerStands.stream().filter(stand -> stand.getAllowIn() == TrueOrFalseEnum.TRUE.getCode()).toList(); + if(stackerInStands.isEmpty()) { + return false; // 堆垛机没有入库站台,不执行下面动作 + } + for (AppStackerStand stackerInStand : stackerInStands) { + if(stackerInStand.getInType().equals(StackerStandInTypeEnum.CHECK_CODE.getCode())) { + // 根据站台条码入库 + var isexe = executeStackerCheckCodeTask(stackerInfo, stackerInStand); + if(isexe) { + return true; + } + } + if(stackerInStand.getInType().equals(StackerStandInTypeEnum.IMMEDIATELY.getCode())) { + // 站台检测有货立即入库 + var isexe = executeStackerImmediatelyTask(stackerInfo, stackerInStand); + if(isexe) { + return true; + } + } + } + return false; + } + + + /** + * 执行堆垛机出库任务 + * @param stackerInfo 堆垛机信息 + * @return 是否执行了任务 + */ + @Override + public boolean executeStackerOutTask(AppStackerInfo stackerInfo) { + Integer stackerId = stackerInfo.getStackerId(); + /* 判断出库最高优先级和移库最高优先级哪个高 */ + List stockSingleOutTasks = stockSingleTaskDao.queryStackerTask(stackerId, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_OUT.getCode()); + if(stockSingleOutTasks == null || stockSingleOutTasks.isEmpty()) { + return false; // 查询失败或者没有任务,不执行下面动作 + } + Integer outPriority = stockSingleOutTasks.getFirst().getPriority(); + List stockSingleMoveTasks = stockSingleTaskDao.queryStackerTask(stackerId, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_MOVE.getCode()); + Integer movePriority = stockSingleMoveTasks == null || stockSingleMoveTasks.isEmpty() ? 0 : stockSingleMoveTasks.getFirst().getPriority(); + if(outPriority.compareTo(movePriority) < 0) { + // 出库优先级低于移库优先级,出库暂停执行 + return false; + } + /* 校验货叉状态 */ + String forkStatus = stackerInfo.getForkStatus(); + if(AppStringUtils.isEmpty(forkStatus)) { + return false; + } + // 查询站台信息 + List stackerStands = stackerStandDao.queryStackerStand(stackerId); + if(stackerStands == null || stackerStands.isEmpty()) { + return false; // 堆垛机站台信息查询失败 + } + List outStands = stackerStands.stream().filter(stand -> stand.getAllowOut() == TrueOrFalseEnum.TRUE.getCode()).toList(); + if(outStands.isEmpty()) { + return false; // 堆垛机没有出库站台 + } + /* 处理拉取到的任务 */ + // 查找需要执行的任务 + Tuple2, AppStackerStand> needOutTaskListTuple = getExecuteStackerOutTasks(stockSingleOutTasks, outStands, forkStatus.length()); + List needOutTaskList = needOutTaskListTuple.item1; + AppStackerStand standInfo = needOutTaskListTuple.item2; + if(needOutTaskList == null || needOutTaskList.isEmpty()) { + return false; // 没有要执行的 + } + List executeTasks = new ArrayList<>(); // 将要执行的任务 + List tasks = new ArrayList<>(); // 即将要写入堆垛机的任务 + for (int i = 0; i < forkStatus.length(); i++) { + if (needOutTaskList.size() <= i || !String.valueOf(forkStatus.charAt(i)).equals(String.valueOf(TrueOrFalseEnum.TRUE.getCode()))) { + tasks.add(null); + continue; + } + AppStockSingleTask stockSingleTask = needOutTaskList.get(i); // 获取该游标的任务 + StackerTask task = stackerTaskCreator.createStackerOutTask(stockSingleTask.getPlcTaskId(), stockSingleTask.getOrigin(), standInfo.getStandId(), stockSingleTask.getVehicleNo(), stockSingleTask.getVehicleSize().shortValue(), stockSingleTask.getWeight().shortValue()); + if(task == null) { + tasks.add(null); + } else { + tasks.add(task); + executeTasks.add(stockSingleTask); + } + } + // 校验任务是不是都是 null 或者执行的任务是空 + if(tasks.stream().allMatch(Objects::isNull) || executeTasks.isEmpty()) { + return false; + } + // 写入任务 + StackerTask[] tasksArray = tasks.toArray(new StackerTask[0]); + String writeStackerTaskErrTask = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).writeStackerTask(stackerId, tasksArray); + if(AppStringUtils.isNotEmpty(writeStackerTaskErrTask)) { + log.info("堆垛机写入出库任务失败:{};写入的任务为:{}", writeStackerTaskErrTask, AppListUtils.listObjectToSting(tasks)); + sseHelper.SendEventToAll(SseEventTypeEnum.RUNNING_INFO, "堆垛机写入出库任务失败:" + tasks.getFirst().getPlcTaskId() + " 等" + tasks.size() + "个任务"); + return false; + } + // 堆垛机写入任务成功 + log.info("堆垛机写入出库任务成功:{}", AppListUtils.listObjectToSting(tasks)); + sseHelper.SendEventToAll(SseEventTypeEnum.RUNNING_INFO, "堆垛机写入出库任务:" + tasks.getFirst().getPlcTaskId() + " 等" + tasks.size() + "个任务"); + // 触发任务开始执行事件 + for (AppStockSingleTask executeTask : executeTasks) { + stockSingleTaskExecuteEvent.taskStart(executeTask, "任务开始执行"); + } + return true; + } + + /** + * 获取堆垛机出库任务 + * @param stockSingleTaskList 堆垛机任务列表 + * @param outStands 出库站台列表 + * @param selectNum 需要选择的数量 + * @return 堆垛机出库任务列表 + */ + private Tuple2, AppStackerStand> getExecuteStackerOutTasks(List stockSingleTaskList,List outStands, int selectNum) { + List returnList = new ArrayList<>(); // 需要返回的任务 + AppStackerStand standInfo = null; // 本次的出库站台 + for (AppStockSingleTask stockSingleTaskItem : stockSingleTaskList) { + if(returnList.size() >= selectNum) { + return new Tuple2<>(returnList, standInfo); // 已经选择够数量了 + } + if(AppStringUtils.isEmpty(stockSingleTaskItem.getDestination())) { // 纯空的 + // 获取一个可以出库的站台 + if(standInfo == null) { + standInfo = checkOutStandCanUse(outStands); + } + if(standInfo == null) { + return new Tuple2<>(returnList, standInfo); // 这种随便选的都没有满足条件的就表示所有的都不满足,直接返回了 + } + stockSingleTaskItem.setDestination(standInfo.getStandId()); + returnList.add(stockSingleTaskItem); + continue; + } + if(stockSingleTaskItem.getDestination().startsWith("?")) { // 问号开头的表示备选的站台已经确定,只能在这几个站台内选择 + String[] spareStands = stockSingleTaskItem.getDestination().replace("?", "").split(";"); // 备选站台 + AppStackerStand finalStandInfo = standInfo; + // 如果本次选择已经确定了站台,并且此任务也可以选择此站台则直接将此任务加入 + if(finalStandInfo != null && Arrays.stream(spareStands).anyMatch(standId -> standId.equals(finalStandInfo.getStandId()))) { + stockSingleTaskItem.setDestination(standInfo.getStandId()); + returnList.add(stockSingleTaskItem); + continue; + } + if(standInfo == null) { + standInfo = checkOutStandCanUseWithStandIdList(Arrays.stream(spareStands).toList()); + if(standInfo == null) { + continue; // 没找到合适位置 + } + // 找到了合适的位置 + stockSingleTaskItem.setDestination(standInfo.getStandId()); + returnList.add(stockSingleTaskItem); + continue; + } + // 本次寻找的站台已经确定,并且此任务可以出库的站台不是已经确定的站台 + continue; + } + // 任务终点内已经确定站台的出库 + String destination = stockSingleTaskItem.getDestination(); // 终点站台 + if(standInfo != null && !destination.equals(standInfo.getStandId())) { + continue; // 站台已经确定,但是终点站台和站台不匹配 + } + if(standInfo == null) { + standInfo = checkOutStandCanUseWithStandIdList(List.of(destination)); // 站台没确定,此处主要检验一下是否能出库 + } + if(standInfo == null) { + continue; // 站台不存在或者不允许出库 + } + stockSingleTaskItem.setDestination(standInfo.getStandId()); + returnList.add(stockSingleTaskItem); + continue; + } + return new Tuple2<>(returnList, standInfo); + } + + /** + * 执行堆垛机移库任务 + * @param stackerInfo 堆垛机信息 + * @return 是否执行了任务 + */ + @Override + public boolean executeStackerMoveTask(AppStackerInfo stackerInfo) { + Integer stackerId = stackerInfo.getStackerId(); + /* 判断移库最高优先级和出库最高优先级哪个高 */ + List stockSingleMoveTasks = stockSingleTaskDao.queryStackerTask(stackerId, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_MOVE.getCode()); + if(stockSingleMoveTasks == null || stockSingleMoveTasks.isEmpty()) { + return false; // 查询失败或者没有任务,不执行下面动作 + } + Integer movePriority = stockSingleMoveTasks.getFirst().getPriority(); + List stockSingleOutTasks = stockSingleTaskDao.queryStackerTask(stackerId, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_OUT.getCode()); + Integer outPriority = stockSingleOutTasks == null || stockSingleOutTasks.isEmpty() ? 0 : stockSingleOutTasks.getFirst().getPriority(); + if(movePriority.compareTo(outPriority) < 0) { + // 移库优先级低于出库优先级,移库暂停执行 + return false; + } + /* 校验货叉状态 */ + String forkStatus = stackerInfo.getForkStatus(); + if(AppStringUtils.isEmpty(forkStatus)) { + return false; + } + List executeTasks = new ArrayList<>(); // 执行的任务 + List tasks = new ArrayList<>(); // 即将要写入堆垛机的任务 + for(int i = 0; i < forkStatus.length(); i++) { + if (!String.valueOf(forkStatus.charAt(i)).equals(String.valueOf(TrueOrFalseEnum.TRUE.getCode())) || stockSingleMoveTasks.size() <= i) { + tasks.add(null); + continue; + } + AppStockSingleTask stockSingleTask = stockSingleMoveTasks.get(i); // 移库任务 + StackerTask task = stackerTaskCreator.createStackerMoveTask(stockSingleTask.getPlcTaskId(), stockSingleTask.getOrigin(), stockSingleTask.getDestination(), stockSingleTask.getVehicleNo(), stockSingleTask.getVehicleSize().shortValue(), stockSingleTask.getWeight().shortValue()); + if(task == null) { + tasks.add(null); + } else { + tasks.add(task); + executeTasks.add(stockSingleTask); + } + } + // 校验任务是不是都是 null + if(tasks.stream().allMatch(Objects::isNull) || executeTasks.isEmpty()) { + return false; + } + // 写入任务 + StackerTask[] tasksArray = tasks.toArray(new StackerTask[0]); + String writeStackerTaskErrTask = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).writeStackerTask(stackerId, tasksArray); + if(AppStringUtils.isNotEmpty(writeStackerTaskErrTask)) { + log.info("堆垛机写入移库任务失败:{};写入的任务为:{}", writeStackerTaskErrTask, AppListUtils.listObjectToSting(tasks)); + sseHelper.SendEventToAll(SseEventTypeEnum.RUNNING_INFO, "堆垛机写入移库任务失败:" + tasks.getFirst().getPlcTaskId() + " 等" + tasks.size() + "个任务"); + return false; + } + // 堆垛机写入任务成功 + log.info("堆垛机写入移库任务成功:{}", AppListUtils.listObjectToSting(tasks)); + sseHelper.SendEventToAll(SseEventTypeEnum.RUNNING_INFO, "堆垛机写入移库任务:" + tasks.getFirst().getPlcTaskId() + " 等" + tasks.size() + "个任务"); + // 触发任务开始执行事件 + for (AppStockSingleTask executeTask : executeTasks) { + stockSingleTaskExecuteEvent.taskStart(executeTask, "任务开始执行"); + } + return true; + } + + + /** + * 执行堆垛机入库任务 ---- 检验入库站台条码 + * @param stackerInfo 堆垛机信息 + * @param standInfo 站台信息 + * @return 是否执行了任务 + */ + private boolean executeStackerCheckCodeTask(AppStackerInfo stackerInfo, AppStackerStand standInfo) { + Integer stackerId = stackerInfo.getStackerId(); + /* 校验货叉状态 */ + String forkStatus = stackerInfo.getForkStatus(); + if(AppStringUtils.isEmpty(forkStatus)) { + return false; + } + Tuple2> multiConveyStatusResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(standInfo.getPlcId()).readTaskMultiConveyStatus(standInfo.getStandId()); + if(AppStringUtils.isNotEmpty(multiConveyStatusResult.item1)) { + return false; // 读取站台信息存在异常 + } + List conveyStatuses = multiConveyStatusResult.item2; + if(conveyStatuses.size() != forkStatus.length()) { + return false; // 站台信息数量和货叉数量不一致 + } + List executeTasks = new ArrayList<>(); // 执行的任务 + List tasks = new ArrayList<>(); // 即将要写入堆垛机的任务 + for (int i = 0; i < conveyStatuses.size(); i++) { + if (!String.valueOf(forkStatus.charAt(i)).equals(String.valueOf(TrueOrFalseEnum.TRUE.getCode()))) { + tasks.add(null); + continue; + } + TaskConveyStatus conveyStatus = conveyStatuses.get(i); + String vehicleNo = conveyStatus.getVehicleNo(); // 载具号 + if(conveyStatus.getPlcTaskId() != 0 || conveyStatus.getDeviceStatus().intValue() != 5 || conveyStatus.getTaskAllow().intValue() != TrueOrFalseEnum.TRUE.getCode() + || conveyStatus.getSensor().intValue() == TrueOrFalseEnum.TRUE.getCode() || AppStringUtils.isEmpty(vehicleNo)) { + // 任务号不为0;设备状态不为5;任务不允许;载具号为空 ---- 这些情况不搬运 + tasks.add(null); + continue; + } + /* 检查这个载具号的入库任务 */ + List stockSingleTasks = vehicleNo.equals(ConstantData.NO_READ) ? new ArrayList<>() : stockSingleTaskDao.queryStackerTask(stackerId, vehicleNo, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_IN.getCode()); + if(stockSingleTasks == null) { // 数据库查询失败 + tasks.add(null); + continue; + } + if(stockSingleTasks.isEmpty()) { // 这个载具没有任务或者读码失败 + AppStackerStand canUseOutStand = getCanUseOutStand(stackerId); // 获取一个出库站台 + if(canUseOutStand == null) { // 没有可用的出库站台 + return false; + } + Integer plcTaskId = plcTaskIdHelper.newTaskId(); // 获取一个 PLC任务ID + if(plcTaskId == null) { + return false; + } + // 构造异常搬出的任务 + StackerTask stackerErrTask = stackerTaskCreator.createStackerErrTask(plcTaskId, standInfo.getStandName(), canUseOutStand.getStandName(), vehicleNo); + tasks.add(stackerErrTask); + log.info("堆垛机:{} 载具:{} 在:{} 找不到入库任务,生成异常任务,搬运到:{}", stackerId, vehicleNo, standInfo.getStandId(), canUseOutStand.getStandId()); + continue; + } + // 载具存在入库任务 + AppStockSingleTask stockSingleTask = stockSingleTasks.getFirst(); // 要执行的入库任务 + StackerTask stackerInTask = stackerTaskCreator.createStackerInTask(stockSingleTask.getPlcTaskId(), standInfo.getStandName(), stockSingleTask.getDestination(), vehicleNo, stockSingleTask.getVehicleSize().shortValue(), stockSingleTask.getWeight().shortValue()); + if(stackerInTask == null) { + tasks.add(null); + } else { + tasks.add(stackerInTask); + executeTasks.add(stockSingleTask); + } + } + // 校验任务是不是都是 null + if(tasks.stream().allMatch(Objects::isNull) || executeTasks.isEmpty()) { + return false; + } + // 写入堆垛机任务 + StackerTask[] tasksArray = tasks.toArray(new StackerTask[0]); + String writeStackerTaskErrTask = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).writeStackerTask(stackerId, tasksArray); + if(AppStringUtils.isNotEmpty(writeStackerTaskErrTask)) { + log.info("堆垛机写入入库任务失败:{};写入的任务为:{}", writeStackerTaskErrTask, AppListUtils.listObjectToSting(tasks)); + return false; + } + // 堆垛机写入任务成功 + log.info("堆垛机写入入库任务成功:{}", AppListUtils.listObjectToSting(tasks)); + // 触发任务开始执行事件 + for (AppStockSingleTask executeTask : executeTasks) { + stockSingleTaskExecuteEvent.taskStart(executeTask, "任务开始执行"); + } + return true; + } + + /** + * 执行堆垛机入库任务 ---- 立即入库 + * @param stackerInfo 堆垛机信息 + * @param standInfo 站台信息 + * @return 是否执行了任务 + */ + private boolean executeStackerImmediatelyTask(AppStackerInfo stackerInfo, AppStackerStand standInfo) { + Integer stackerId = stackerInfo.getStackerId(); + /* 查询入库任务 */ + List stockSingleTasks = stockSingleTaskDao.queryStackerTask(stackerId, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_IN.getCode()); + if(stockSingleTasks == null || stockSingleTasks.isEmpty()) { + return false; + } + /* 检查各种任务优先级 */ + Integer inMaxPriority = stockSingleTasks.getFirst().getPriority(); // 入库最高优先级 + List stockSingleOutTasks = stockSingleTaskDao.queryStackerTask(stackerId, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_OUT.getCode()); + Integer outPriority = stockSingleOutTasks == null || stockSingleOutTasks.isEmpty() ? 0 : stockSingleOutTasks.getFirst().getPriority(); // 出库高优先级 + List stockSingleMoveTasks = stockSingleTaskDao.queryStackerTask(stackerId, StockSingleTaskStatusEnum.CREATE.getCode(), StockSingleTaskTypeEnum.STACKER_MOVE.getCode()); + Integer movePriority = stockSingleMoveTasks == null || stockSingleMoveTasks.isEmpty() ? 0 : stockSingleMoveTasks.getFirst().getPriority(); // 移库最高优先级 + if(inMaxPriority.compareTo(outPriority) < 0 || inMaxPriority.compareTo(movePriority) < 0) { + return false; // 入库优先级低,先不执行 + } + /* 校验货叉状态 */ + String forkStatus = stackerInfo.getForkStatus(); + if(AppStringUtils.isEmpty(forkStatus)) { + return false; + } + // 读取站台信息,这里考虑多工位会返回多个,单工位只会返回一个 + Tuple2> multiConveyStatusResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(standInfo.getPlcId()).readTaskMultiConveyStatus(standInfo.getStandId()); + if(AppStringUtils.isNotEmpty(multiConveyStatusResult.item1)) { + return false; // 读取站台信息存在异常 + } + List conveyStatuses = multiConveyStatusResult.item2; + if(conveyStatuses.size() != forkStatus.length()) { + return false; // 站台信息数量和货叉数量不一致 + } + List executeTasks = new ArrayList<>(); // 执行的任务 + List tasks = new ArrayList<>(); // 即将要写入堆垛机的任务 + for(int i = 0; i < forkStatus.length(); i++) { + // 货叉开放检查 + if (!String.valueOf(forkStatus.charAt(i)).equals(String.valueOf(TrueOrFalseEnum.TRUE.getCode()))) { + tasks.add(null); + continue; + } + TaskConveyStatus conveyStatus = conveyStatuses.get(i); + //String vehicleNo = conveyStatus.getVehicleNo(); // 载具号 + if(conveyStatus.getPlcTaskId() != 0 || conveyStatus.getDeviceStatus().intValue() != 5 || conveyStatus.getTaskAllow().intValue() != TrueOrFalseEnum.TRUE.getCode() + || conveyStatus.getSensor().intValue() == TrueOrFalseEnum.TRUE.getCode() || conveyStatus.getErrCode() != 0) { + // 任务号不为0;设备状态不为5;任务不允许;载具号为空,存在AGV ---- 这些情况不搬运 + tasks.add(null); + continue; + } + StackerTask stackerInTask = null; // 要写入的任务 + // 查询站台数量 + List stackerStands = stackerStandDao.queryStackerStand(stackerId); + if(stackerStands == null) { + return false; // 堆垛机查询站台失败 + } + int standCount = stackerStands.size(); + // 轮询任务 + for (AppStockSingleTask stockSingleTask : stockSingleTasks) { + // 检查任务是否上回已经添加进去了 + List checkIsExecute = executeTasks.stream().filter(task -> task.getTaskId().equals(stockSingleTask.getTaskId())).toList(); + if(!checkIsExecute.isEmpty()) { + continue; + } + /* 校验入库位置是否为空,若不为空则判断入库位置是否和现在站台一致 */ + String origin = stockSingleTask.getOrigin(); + // 入库站台为空,判断这个堆垛机是否只有一个入库站台,不是则跳过 + if(AppStringUtils.isEmpty(origin) && standCount > 1) { + continue; + } + // 不是空 + if(AppStringUtils.isNotEmpty(origin) && !origin.equals(standInfo.getStandId())) { + continue; // 不是空但是入库站台不对应跳过 + } + stackerInTask = stackerTaskCreator.createStackerInTask(stockSingleTask.getPlcTaskId(), standInfo.getStandId(), stockSingleTask.getDestination(), stockSingleTask.getVehicleNo(), stockSingleTask.getVehicleSize().shortValue(), stockSingleTask.getWeight().shortValue()); + if(stackerInTask == null) { + continue; + } + tasks.add(stackerInTask); + executeTasks.add(stockSingleTask); + break; + } + if(stackerInTask == null) { + tasks.add(null); + } + } + // 校验任务是不是都是 null + if(tasks.stream().allMatch(Objects::isNull) || executeTasks.isEmpty()) { + return false; + } + // 写入堆垛机任务 + StackerTask[] tasksArray = tasks.toArray(new StackerTask[0]); + String writeStackerTaskErrTask = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).writeStackerTask(stackerId, tasksArray); + if(AppStringUtils.isNotEmpty(writeStackerTaskErrTask)) { + log.info("堆垛机写入直入式入库任务失败:{};写入的任务为:{}", writeStackerTaskErrTask, AppListUtils.listObjectToSting(tasks)); + sseHelper.SendEventToAll(SseEventTypeEnum.RUNNING_INFO, "堆垛机写入入库任务失败:" + tasks.getFirst().getPlcTaskId() + " 等" + tasks.size() + "个任务"); + return false; + } + // 堆垛机写入任务成功 + log.info("堆垛机写入直入式入库任务成功:{}", AppListUtils.listObjectToSting(tasks)); + sseHelper.SendEventToAll(SseEventTypeEnum.RUNNING_INFO, "堆垛机写入入库任务:" + tasks.getFirst().getPlcTaskId() + " 等" + tasks.size() + "个任务"); + // 触发任务开始执行事件 + for (AppStockSingleTask executeTask : executeTasks) { + stockSingleTaskExecuteEvent.taskStart(executeTask, "任务开始执行"); + } + return true; + } + + + /* ************************************* 外部工具方法 ****************************************** */ + + /** + * 获取可出库的站台信息 + * @param stackerId 堆垛机ID + * @return 可出库的站台信息 + */ + private AppStackerStand getCanUseOutStand(Integer stackerId) { + List stackerStands = stackerStandDao.queryStackerStand(stackerId); + return checkOutStandCanUse(stackerStands); + } + + + /** + * 获取可出库的站台信息 + * @param standInfoList 站台信息列表 + * @return 可出库的站台信息 + */ + private AppStackerStand checkOutStandCanUse(List standInfoList) { + if(standInfoList == null || standInfoList.isEmpty()) { + return null; + } + for (AppStackerStand standInfo : standInfoList) { + if(!standInfo.getAllowOut().equals(TrueOrFalseEnum.TRUE.getCode())) { + continue; // 站台不允许出库 + } + if(checkOutStandCanUse(standInfo)) { + return standInfo; + } + } + return null; + } + + /** + * 获取可出库的站台信息 + * @param standList 站台ID列表 + * @return 可出库的站台信息 + */ + private AppStackerStand checkOutStandCanUseWithStandIdList(List standList) { + List stackerStands = stackerStandDao.queryStackerStand(standList); + return checkOutStandCanUse(stackerStands); + } + + + /** + * 检查出库站台是否可用 + * @param standInfo 站台信息 + * @return 是否可用 + */ + private boolean checkOutStandCanUse(AppStackerStand standInfo) { + /* 检查站台状态是否可用 */ + Tuple2> multiConveyStatusResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(standInfo.getPlcId()).readTaskMultiConveyStatus(standInfo.getStandId()); + if(AppStringUtils.isNotEmpty(multiConveyStatusResult.item1) || multiConveyStatusResult.item2 == null || multiConveyStatusResult.item2.isEmpty()) { + return false; // 读取站台失败 + } + // 判断站台的状态 + boolean canUse = true; + List multiConveyStatus = multiConveyStatusResult.item2; + for(TaskConveyStatus conveyStatus : multiConveyStatus) { + if (conveyStatus.getPlcTaskId() == 0 && conveyStatus.getDeviceStatus().intValue() != 5 && conveyStatus.getTaskAllow().intValue() == TrueOrFalseEnum.TRUE.getCode() + && conveyStatus.getSensor().intValue() == TrueOrFalseEnum.FALSE.getCode() && conveyStatus.getErrCode().intValue() == 0) { + continue; // 站台状态可用 + } + canUse = false; + } + return canUse; + } + + + /* ************************************* 外部工具方法 END ****************************************** */ +} diff --git a/wcs/src/main/java/org/wcs/business/stacker/intf/IExecuteStackerTaskService.java b/wcs/src/main/java/org/wcs/business/stacker/intf/IExecuteStackerTaskService.java new file mode 100644 index 0000000..140bfc2 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stacker/intf/IExecuteStackerTaskService.java @@ -0,0 +1,31 @@ +package org.wcs.business.stacker.intf; + +import org.wcs.model.po.app.AppStackerInfo; + +/** + * 堆垛机任务执行方法接口 + */ +public interface IExecuteStackerTaskService { + + /** + * 执行堆垛机入库任务 + * @param stackerInfo 堆垛机编号 + * @return 是否执行了任务 + */ + boolean executeStackerInTask(AppStackerInfo stackerInfo); + + /** + * 执行堆垛机出库任务 + * @param stackerInfo 堆垛机编号 + * @return 是否执行了任务 + */ + boolean executeStackerOutTask(AppStackerInfo stackerInfo); + + /** + * 执行堆垛机移库任务 + * @param stackerInfo 堆垛机编号 + * @return 是否执行了任务 + */ + boolean executeStackerMoveTask(AppStackerInfo stackerInfo); + +} diff --git a/wcs/src/main/java/org/wcs/business/stock/LocationManage.java b/wcs/src/main/java/org/wcs/business/stock/LocationManage.java new file mode 100644 index 0000000..6379bbf --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/LocationManage.java @@ -0,0 +1,519 @@ +package org.wcs.business.stock; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.wcs.constant.ConstantData; +import org.wcs.constant.enums.business.LocationTypeEnum; +import org.wcs.mapper.intf.AppConveyPickStandService; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.mapper.intf.AppTrayConveyLocationService; +import org.wcs.model.bo.stock.StockLocation; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppConveyPickStand; +import org.wcs.model.po.app.AppStackerLocation; +import org.wcs.model.po.app.AppStackerStand; +import org.wcs.model.po.app.AppTrayConveyLocation; + +import java.util.*; + +/** + * 位置管理类 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class LocationManage { + + private final AppStackerLocationService stackerLocationService; // 堆垛机库位表操作类 + private final AppStackerStandService stackerStandService; // 堆垛机站台表操作类 + private final AppTrayConveyLocationService trayConveyLocationService; // 托盘传送位置表操作类 + private final AppConveyPickStandService conveyPickStandService; // 输送线捡货站台表操作类 + + + private boolean isLoad = false; + + private List stockLocationList; // 所有位置列表 + + /** + * 交界处列表 < 点位,区域> + */ + private List>> finalJunctionList; // 过度点位 + + /** + * 区域之间连接点位 < 区域,连接的其他区域> + */ + private Map> areaJunctionMap; // 区域之间连接点位 + + /** + * 加载一次位置信息 + */ + public void loadOnceLocation(){ + if(isLoad) { + return; + } + loadStackerLocation(); // 加载位置信息 + loadTrayConveyLocation(); // 加载托盘输送位置信息 + loadConveyStandLocation(); // 加载输送线站台位置信息 + + + calculateJunction(); // 计算交界处 + isLoad = true; + } + + /** + * 重新加载位置信息 + */ + public void reloadLocation(){ + stockLocationList = null; + loadOnceLocation(); // 加载信息 + } + + /** + * 判断位置是否存在 + * @param locationId 位置ID + * @return 是否存在 + */ + public boolean isLocationExist(String locationId) { + if(stockLocationList == null) { + loadOnceLocation(); + } + for (StockLocation stockLocation : stockLocationList) { + if(stockLocation.getLocationId().equals(locationId)) { + return true; + } + } + return false; + } + + /** + * 获取位置信息 + * @param locationId 位置ID + * @return 位置信息 + */ + public StockLocation getLocationInfo(String locationId) { + if(stockLocationList == null) { + loadOnceLocation(); + } + if(stockLocationList == null) { + return null; + } + for (StockLocation stockLocation : stockLocationList) { + if(stockLocation.getLocationId().equals(locationId)) { + return stockLocation; + } + } + return null; + } + + /** + * 判断两个位置是否在同一区域 + * @param locationId1 位置ID1 + * @param locationId2 位置ID2 + * @return 是否在同一区域 + */ + public Boolean isSameArea(String locationId1, String locationId2) { + if(stockLocationList == null) { + loadOnceLocation(); + } + if(stockLocationList == null) { + return null; + } + Optional stockLocation1 = stockLocationList.stream().filter(stockLocation -> stockLocation.getLocationId().equals(locationId1)).findFirst(); + Optional stockLocation2 = stockLocationList.stream().filter(stockLocation -> stockLocation.getLocationId().equals(locationId2)).findFirst(); + if(stockLocation1.isEmpty() || stockLocation2.isEmpty()) { + return null; // 位置不存在 + } + return stockLocation1.get().getAreaId().equals(stockLocation2.get().getAreaId()); + } + + /** + * 路径计算 + * @param fromLocation 起始位置 + * @param toLocationId 目标位置 + * @return 路径信息 < 点位类型, 点位> + */ + public List> courseCalculate(String fromLocation, String toLocationId) { + if(fromLocation == null || toLocationId == null) { + return null; + } + if(stockLocationList == null) { + loadOnceLocation(); + } + if(stockLocationList == null) { + return null; + } + List> courseList = new ArrayList<>(); // 路径列表 + List fromLocationInfoList = stockLocationList.stream().filter(stockLocation -> stockLocation.getLocationId().equals(fromLocation)).toList(); + if(fromLocationInfoList.isEmpty()) { + return null; // 起始位置不存在 + } + Optional toLocationInfo = stockLocationList.stream().filter(stockLocation -> stockLocation.getLocationId().equals(toLocationId)).findFirst(); + if(toLocationInfo.isEmpty()) { + return null; // 目标位置不存在 + } + List areaList = new ArrayList<>(); // 存储区域的列表 + StockLocation fromLocationInfo = null; // 起点,动态决定的起点 + // 起点信息存在多个情况下 + if(fromLocationInfoList.size() > 1) { + // 判断是否有起点区域包含终点区域 + for (StockLocation fromLocationInfoItem : fromLocationInfoList) { + if(fromLocationInfoItem.getLocationType().equals(toLocationInfo.get().getLocationType())) { + Tuple2 firstLocation = new Tuple2<>(fromLocationInfoItem.getLocationType(), fromLocationInfoItem.getLocationId()); + courseList.add(firstLocation); // 第一个位置 + // 同样的区域,直接返回路径 + courseList.add(new Tuple2<>(toLocationInfo.get().getLocationType(), toLocationInfo.get().getLocationId())); + return courseList; + } + } + // 不包含终点区域 -- 需要计算区域路径 + for (StockLocation fromLocationInfoItem : fromLocationInfoList) { + // 不同区域 // 找出区域路径,即需要经过哪些区域 + List areaListTemp = calculateAreaCourse(fromLocationInfoItem.getAreaId(), toLocationInfo.get().getAreaId()); + if(areaListTemp != null && (areaList.isEmpty() || areaList.size() > areaListTemp.size())) { + areaList = areaListTemp; // 多个起点 取经过区域最少的点 + fromLocationInfo = fromLocationInfoItem; + courseList = new ArrayList<>(); + Tuple2 firstLocation = new Tuple2<>(fromLocationInfoItem.getLocationType(), fromLocationInfoItem.getLocationId()); + courseList.add(firstLocation); // 第一个位置 + } + } + } else { + fromLocationInfo = fromLocationInfoList.getFirst(); + Tuple2 firstLocation = new Tuple2<>(fromLocationInfo.getLocationType(), fromLocationInfo.getLocationId()); + courseList.add(firstLocation); // 第一个位置 + areaList = calculateAreaCourse(fromLocationInfo.getAreaId(), toLocationInfo.get().getAreaId()); + if(areaList == null) { + return null; + } + } + + if(areaList.isEmpty()) { + return null; // 区域路径计算失败 + } + for (int i = 0; i < areaList.size(); i++) { + if(i == areaList.size() - 1) { + // 最后一个区域 + courseList.add(new Tuple2<>(toLocationInfo.get().getLocationType(), toLocationInfo.get().getLocationId())); + } else { + // 其他区域 + String fromAreaItem = areaList.get(i); + String toAreaItem = areaList.get(i + 1); + // 查找这两区域的共同的点 + List>> junctionLocation = finalJunctionList.stream().filter(tuple2 -> tuple2.item2.contains(fromAreaItem) && tuple2.item2.contains(toAreaItem)).toList(); + if(junctionLocation.isEmpty()) { + return null; // 区域路径计算失败 ---- 两区域没有交接点,按道理不会 + } + if(junctionLocation.size() > 1) { + // 存在多个交接点,只生成 一个流程点,后续再动态生成 + StringBuilder junctionLocationId = new StringBuilder("?"); + for (Tuple2> junctionLocationItem : junctionLocation) { + junctionLocationId.append(junctionLocationItem.item1).append(";"); + } + junctionLocationId = new StringBuilder(junctionLocationId.substring(0, junctionLocationId.length() - 1)); + courseList.add(new Tuple2<>(fromLocationInfo.getLocationType(), junctionLocationId.toString())); // 类型设置为和起点一样 + return courseList; + } + // 找到区域交接点且只存在一个 + Tuple2> junctionLocationItem = junctionLocation.getFirst(); + List stockLocations = stockLocationList.stream().filter(stockLocation -> stockLocation.getLocationId().equals(junctionLocationItem.item1)).toList(); + if(stockLocations.isEmpty()) { + return null; // 区域交接点不存在 --- 正常不会出现 + } + for (StockLocation stockLocation : stockLocations) { + if(stockLocation.getAreaId().equals(fromAreaItem)) { + courseList.add(new Tuple2<>(stockLocation.getLocationType(), stockLocation.getLocationId())); + } + } + for (StockLocation stockLocation : stockLocations) { + if(stockLocation.getAreaId().equals(toAreaItem)) { + courseList.add(new Tuple2<>(stockLocation.getLocationType(), stockLocation.getLocationId())); + } + } + } + } + return courseList; + } + + /** + * 加载堆垛机位置信息 + */ + private void loadStackerLocation() { + // 库位信息 + List appStackerLocations = stackerLocationService.queryStackerLocationAll(); + if(appStackerLocations == null) { + log.error("堆垛机库位信息加载失败"); + return; + } + List stackerLocationList = new ArrayList<>(); + for (AppStackerLocation appStackerLocation : appStackerLocations) { + StockLocation stockLocation = new StockLocation(); + stockLocation.setLocationId(appStackerLocation.getLocationId()); + stockLocation.setLocationType(LocationTypeEnum.STACKER); + stockLocation.setAreaId(ConstantData.STACKER_AREA_PREFIX + appStackerLocation.getMachineId()); + stackerLocationList.add(stockLocation); + } + // 站台信息 + List appStackerStands = stackerStandService.queryAll(); + if(appStackerStands == null) { + log.error("堆垛机站台信息加载失败"); + return; + } + for (AppStackerStand appStackerStand : appStackerStands) { + StockLocation stockLocation = new StockLocation(); + stockLocation.setLocationId(appStackerStand.getStandId()); + stockLocation.setLocationType(LocationTypeEnum.STACKER); + stockLocation.setAreaId(ConstantData.STACKER_AREA_PREFIX + appStackerStand.getStackerId()); + stackerLocationList.add(stockLocation); + +// StockLocation stockLocationConvey = new StockLocation(); +// stockLocationConvey.setLocationId(appStackerStand.getStandId()); +// stockLocationConvey.setLocationType(LocationTypeEnum.CONVEY); +// stockLocationConvey.setAreaId(ConstantData.CONVEY_AREA_PREFIX + appStackerStand.getAreaId()); +// stackerLocationList.add(stockLocationConvey); + } + if(stockLocationList == null) { + stockLocationList = new ArrayList<>(); + } + stockLocationList.addAll(stackerLocationList); + } + + /** + * 加载托盘输送位置信息 + */ + private void loadTrayConveyLocation() { + List trayConveyLocations = trayConveyLocationService.queryAll(); + if(trayConveyLocations == null) { + log.error("托盘传送位置信息加载失败"); + return; + } + // 托盘输送位置信息 + List trayConveyLocationList = new ArrayList<>(); + for (AppTrayConveyLocation trayConveyLocation : trayConveyLocations) { + String areaId = trayConveyLocation.getAreaId(); + if(areaId == null) { + continue; + } + String[] areaIds = areaId.split(";"); // 存在多个区域情况下用分号隔开 + for (String areaIdItem : areaIds) { + StockLocation stockLocation = new StockLocation(); + stockLocation.setLocationId(trayConveyLocation.getLocationId()); + stockLocation.setLocationType(LocationTypeEnum.CONVEY); + stockLocation.setAreaId(ConstantData.CONVEY_AREA_PREFIX + areaIdItem); + trayConveyLocationList.add(stockLocation); + } + } + if(stockLocationList == null) { + stockLocationList = new ArrayList<>(); + } + stockLocationList.addAll(trayConveyLocationList); + } + + /** + * 加载输送线站台位置信息 + */ + private void loadConveyStandLocation() { + // 输送线捡货站台信息 + List conveyPickStands = conveyPickStandService.queryAll(); + if(conveyPickStands == null) { + log.error("输送线捡货站台信息加载失败"); + return; + } + List conveyPickStandLocationList = new ArrayList<>(); + for (AppConveyPickStand conveyPickStand : conveyPickStands) { + StockLocation stockLocation = new StockLocation(); + stockLocation.setLocationId(conveyPickStand.getStandId()); + stockLocation.setLocationType(LocationTypeEnum.CONVEY); + stockLocation.setAreaId(ConstantData.CONVEY_AREA_PREFIX + conveyPickStand.getAreaId()); + conveyPickStandLocationList.add(stockLocation); + } + if(stockLocationList == null) { + stockLocationList = new ArrayList<>(); + } + stockLocationList.addAll(conveyPickStandLocationList); + } + + + /** + * 计算交界处 + */ + private void calculateJunction() { + if(stockLocationList == null) { + loadOnceLocation(); + } + if(stockLocationList == null) { + return; + } + // <点位,所属的区域列表> ----- 过度信息 + List>> junctionList = new ArrayList<>(); + for (StockLocation stockLocation : stockLocationList) { + // 上述列表内是否存在这个点位 + Optional>> junctionData = junctionList.stream().filter(tuple2 -> + tuple2.item1.equals(stockLocation.getLocationId())).findFirst(); + if(junctionData.isEmpty()) { + // 不存在点位,创建个新的数据加进去 + List locationAreaList = new ArrayList<>(); + locationAreaList.add(stockLocation.getAreaId()); + junctionList.add(new Tuple2<>(stockLocation.getLocationId(), locationAreaList)); + continue; + } + junctionData.get().item2.add(stockLocation.getAreaId()); + } + // <点位,所属的区域列表> ----- 最终获取到的过渡点 + List>> finalJunctionList = new ArrayList<>(); + // 循环列表找出不止一种点位类型的元素 + for (Tuple2> junctionData : junctionList) { + if(junctionData.item2.size() > 1) { + finalJunctionList.add(junctionData); + } + } + this.finalJunctionList = finalJunctionList; + } + + /** + * 计算区域交界,即每个区域分别和那些区域相连接 + * 区域权重暂定为1,即任意两个区域之间连接的权重为1 + */ + private void calculateAreaJunction() { + if(stockLocationList == null) { + loadOnceLocation(); + } + if(stockLocationList == null) { + return; + } + if(finalJunctionList == null) { + calculateJunction(); + } + if(finalJunctionList == null) { + return; + } + // 寻找点位列表中不同的区域 + List areaList = stockLocationList.stream().map(StockLocation::getAreaId).toList(); + // 区域连接关系暂存 + areaJunctionMap = new HashMap<>(); + // 轮询区域,寻找区域之间的连接关系 + for (String areaItem : areaList) { + List junctionList = new ArrayList<>(); + for (Tuple2> finalJunction : finalJunctionList) { + List locationAreaList = finalJunction.item2; + // 不包含该区域 + if(!locationAreaList.contains(areaItem)) { + continue; + } + // 包含区域,则添加 + for (String areaItem2 : locationAreaList) { + if(areaItem.equals(areaItem2)) { + continue; + } + junctionList.add(areaItem2); + } + } + areaJunctionMap.put(areaItem, junctionList); + } + } + + /** + * 计算区域路径 + * @param startAreaId 起点区域 + * @param endAreaId 终点区域 + * @return 区域路径 + */ + private List calculateAreaCourse(String startAreaId, String endAreaId) { + if(startAreaId.equals(endAreaId)) { + return List.of(startAreaId); + } + if(areaJunctionMap == null) { + calculateAreaJunction(); + } + if(areaJunctionMap == null) { + return null; + } + // 正是开始计算 + List usedAreaList = new ArrayList<>(); // 已处理过的区域 + // 权重map + Map areaWeightMap = createAreaWeightMap(startAreaId); + // 前驱map + Map beforeAreaMap = createBeforeAreaMap(); + // 优先队列 + List> priorityQueue = new ArrayList<>(); + priorityQueue.add(new Tuple2<>(0, startAreaId)); + // Dijkstra算法 + while (!priorityQueue.isEmpty()) { + // 队列按照权重进行排序 + priorityQueue.sort(Comparator.comparingInt(Tuple2::getItem1)); + // 取出第一个,应该是最小权重的 + Tuple2 priorityQueueItem = priorityQueue.getFirst(); + priorityQueue.remove(priorityQueueItem); + // 如果该区域已处理过,则跳过 + if(usedAreaList.contains(priorityQueueItem.item2)) { + continue; + } + usedAreaList.add(priorityQueueItem.item2); + // 获取该区域连接的区域 + List junctionList = areaJunctionMap.get(priorityQueueItem.item2); + for (String junctionItem : junctionList) { + // 如果该区域已处理过,则跳过 + if(usedAreaList.contains(junctionItem)) { + continue; + } + // 如果该区域权重比当前区域权重更小,则更新 + if(areaWeightMap.get(junctionItem) > areaWeightMap.get(priorityQueueItem.item2) + 1) { + areaWeightMap.put(junctionItem, areaWeightMap.get(priorityQueueItem.item2) + 1); + } + // 添加到优先队列中 + priorityQueue.add(new Tuple2<>(areaWeightMap.get(junctionItem), junctionItem)); + // 添加前驱 + beforeAreaMap.put(junctionItem, priorityQueueItem.item2); + // 找到终点 + if(junctionItem.equals(endAreaId)) { + // 找到终点,返回路径 + List courseList = new ArrayList<>(); + String currentArea = junctionItem; + // 倒序 + while (currentArea != null) { + courseList.add(currentArea); + currentArea = beforeAreaMap.get(currentArea); + } + // 倒序 + return courseList.reversed(); + } + } + } + return null; + } + + /** + * 创建区域权重Map + * @param startAreaId 开始区域 + * @return 区域权重Map + */ + private Map createAreaWeightMap(String startAreaId) { + Map areaWeightMap = new HashMap<>(); + // 寻找点位列表中不同的区域 + List areaList = stockLocationList.stream().map(StockLocation::getAreaId).toList(); + for (String areaItem : areaList) { + if(areaItem.equals(startAreaId)) { + areaWeightMap.put(areaItem, 0); + continue; + } + areaWeightMap.put(areaItem, Integer.MAX_VALUE); + } + return areaWeightMap; + } + + /** + * 创建区域前驱Map + * @return 区域前驱Map + */ + private Map createBeforeAreaMap() { + Map beforeAreaMap = new HashMap<>(); + // 寻找点位列表中不同的区域 + List areaList = stockLocationList.stream().map(StockLocation::getAreaId).toList(); + for (String areaItem : areaList) { + beforeAreaMap.put(areaItem, null); + } + return beforeAreaMap; + } + +} diff --git a/wcs/src/main/java/org/wcs/business/stock/StockComposeTaskManage.java b/wcs/src/main/java/org/wcs/business/stock/StockComposeTaskManage.java new file mode 100644 index 0000000..9c51d1c --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/StockComposeTaskManage.java @@ -0,0 +1,905 @@ +package org.wcs.business.stock; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Component; +import org.wcs.constant.enums.business.LocationTypeEnum; +import org.wcs.constant.enums.business.SimpleTaskEnum; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.StockComposeTaskTypeEnum; +import org.wcs.constant.enums.database.StockExecuteEquipmentEnum; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.constant.enums.database.StockSingleTaskTypeEnum; +import org.wcs.helper.PlcTaskIdHelper; +import org.wcs.mapper.intf.AppConveyLocationService; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.mapper.intf.AppTrayConveyLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.*; +import org.wcs.model.pojo.task.SimpleTask; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * 【核心】仓库组合任务管理,数据处理, + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class StockComposeTaskManage { + + private final StringRedisTemplate stringRedisTemplate; + private final AppStackerLocationService stackerLocationService; + private final AppStackerStandService stackerStandService; + private final AppTrayConveyLocationService trayConveyLocationService; + private final AppConveyLocationService conveyLocationService; + private final PlcTaskIdHelper plcTaskIdHelper; + private final LocationManage locationManage; // 位置管理 + + // 点位暂存区,存放点位信息 <点位, 基础资料> + Map stackerLocationMap = new ConcurrentHashMap<>(); + Map stackerStandMap = new ConcurrentHashMap<>(); + Map trayConveyLocationMap = new ConcurrentHashMap<>(); + Map conveyLocationMap = new ConcurrentHashMap<>(); + + String areaLocationRedisKey = "WCS:Location:Area"; // 存储每个区域所包含的位置 + Map> locationAreaMap = new ConcurrentHashMap<>(); // <位置号,所属的区域列表> + List areas = new ArrayList<>(); // 存储所有的区域 + List locations = new ArrayList<>(); // 存储所有的点位信息 + + + + + /** + * 初始化 + */ + public void initialize() { + long deleteDataCount = deleteLocationIdArea(); // 删除Redis中的位置区域信息 + log.info("删除Redis中的位置区域信息:{}", deleteDataCount); + addStackerLocationIdToRedisList(); // 添加堆垛机位置信息到Redis中 + addStackerStandIdToRedisList(); // 添加堆垛机站台信息到Redis中 + addTrayLocationIdToRedisList(); // 添加托盘位置信息到Redis中 + addConveyLocationToRedisList(); // 添加普通输送信息到Redis中 + summaryLocationArea(); // 汇总位置区域信息 + summaryLocation(); // 汇总位置信息 + } + + /** + * 将堆垛机位置添加到Redis和系统缓存中,按区域添加 + */ + public void addStackerLocationIdToRedisList() { + List appStackerLocations = stackerLocationService.queryStackerLocationAll(); + if(appStackerLocations == null) { + log.error("堆垛机点位数据库查询失败"); + return; // 数据库查询失败 + } + // 添加到缓存中 + stackerLocationMap = appStackerLocations.stream().collect(Collectors.toMap(AppStackerLocation::getBusinessLocation, appStackerLocation -> appStackerLocation)); + // 添加到 redis 中 + Map> machineLocation = appStackerLocations.stream().collect(Collectors.groupingBy(AppStackerLocation::getMachineId)); + machineLocation.forEach((machineId, locations) -> { + // 拿出locations里面所有的 businessLocationId形成list + List businessLocationIds = locations.stream().map(AppStackerLocation::getBusinessLocation).toList(); + stringRedisTemplate.opsForList().leftPushAll(areaLocationRedisKey + ":" + machineId, businessLocationIds); + }); + + } + + /** + * 添加堆垛机站台信息到redis和系统缓存中 + */ + public void addStackerStandIdToRedisList() { + List stackerStands = stackerStandService.queryAll(); + if(stackerStands == null) { + log.error("堆垛机站台信息数据库访问异常"); + return; // 堆垛机信息数据库访问异常 + } + // 添加到缓存中 + stackerStandMap = stackerStands.stream().collect(Collectors.toMap(AppStackerStand::getStandId, stackerStand -> stackerStand)); + // 按堆垛机区域添加 + Map> stackerGroup = stackerStands.stream().collect(Collectors.groupingBy(AppStackerStand::getStackerId)); + stackerGroup.forEach((stackerId, stackerStandList) -> { + List trayLocationIds = stackerStands.stream().map(AppStackerStand::getStandId).collect(Collectors.toList()); + stringRedisTemplate.opsForList().leftPushAll(areaLocationRedisKey + ":" + stackerId, trayLocationIds); + }); + // 按区域添加 + Map> areaGroup = stackerStands.stream().collect(Collectors.groupingBy(AppStackerStand::getAreaId)); + areaGroup.forEach((areaId, stackerStandList) -> { + List trayLocationIds = stackerStands.stream().map(AppStackerStand::getStandId).collect(Collectors.toList()); + stringRedisTemplate.opsForList().leftPushAll(areaLocationRedisKey + ":" + areaId, trayLocationIds); + }); + } + + /** + * 添加托盘位置id到redis和系统缓存中 + */ + public void addTrayLocationIdToRedisList() { + List trayConveyLocations = trayConveyLocationService.queryAll(); + if(trayConveyLocations == null) { + log.error("托盘输送点位数据库加载失败"); + return; + } + // 添加到缓存中 + trayConveyLocationMap = trayConveyLocations.stream().collect(Collectors.toMap(AppTrayConveyLocation::getBusinessLocationId, trayConveyLocation -> trayConveyLocation)); + // 添加到redis中 + Map> trayConveyLocation = trayConveyLocations.stream().collect(Collectors.groupingBy(AppTrayConveyLocation::getAreaId)); + trayConveyLocation.forEach((areaId, trayConveyLocationList) -> { + List businessLocationIds = trayConveyLocationList.stream().map(AppTrayConveyLocation::getBusinessLocationId).toList(); + stringRedisTemplate.opsForList().leftPushAll(areaLocationRedisKey + ":" + areaId, businessLocationIds); + }); + } + + /** + * 添加普通输送点位到 Redis和系统缓存中 + */ + public void addConveyLocationToRedisList() { + List appConveyLocations = conveyLocationService.queryAll(); + if(appConveyLocations == null) { + log.error("普通输送点位数据库加载失败"); + return; + } + // 添加到缓存中 + conveyLocationMap = appConveyLocations.stream().collect(Collectors.toMap(AppConveyLocation::getBusinessLocationId, v -> v)); + // 添加到 Redis 中 + Map> conveyLocationList = appConveyLocations.stream().collect(Collectors.groupingBy(AppConveyLocation::getAreaId)); + conveyLocationList.forEach((areaId, conveyLocations) -> { + List businessLocationIds = conveyLocations.stream().map(AppConveyLocation::getBusinessLocationId).toList(); + stringRedisTemplate.opsForList().leftPushAll(areaLocationRedisKey + ":" + areaId, businessLocationIds); + }); + } + + /** + * 删除redis中所有点位 + * @return 删除数量 + */ + public long deleteLocationIdArea() { + Set keys = stringRedisTemplate.keys(areaLocationRedisKey + ":*"); + return stringRedisTemplate.delete(keys); + } + + /** + * 计算汇总哪些点对应的不止一个区域, + * 这些点就是中转点,单独存到map里面,方便后续处理 + */ + public void summaryLocationArea() { + Set keys = stringRedisTemplate.keys(areaLocationRedisKey + ":*"); + if(keys.isEmpty()) { + log.warn("汇总点位区域时 无区域点位"); + return; + } + // 获取所有区域 + List areas = new ArrayList<>(); // 所有的区域 + keys.forEach(key -> { + String[] strings = key.split(":"); + areas.add(strings[strings.length - 1]); + }); + // 计算区域共同点位 + if(areas.size() == 1) { + return; + } + List>> areaLocationList = new ArrayList<>(); + /* 将每一个点位列表和其他列表对比,找出相同的,这里找出的结果必然有重复的,下面会重新去重并组合 */ + for (int i = 0; i < areas.size() - 1; i++) { + String key1 = areaLocationRedisKey + areas.get(i); + for(int p = i + 1; p < areas.size(); p++) { + String key2 = areaLocationRedisKey + areas.get(p); + List area1List = stringRedisTemplate.opsForList().range(key1, 0, -1); + List area2List = stringRedisTemplate.opsForList().range(key2, 0, -1); + if(area1List == null || area2List == null) { + continue; + } + // 查找两个list的相同的项 + List sameLocation = area1List.stream().filter(area2List::contains).toList(); + if(sameLocation.isEmpty()) { + continue; + } + for(String location : sameLocation) { + Tuple2> tuple2 = new Tuple2<>(location, List.of(areas.get(i), areas.get(p))); + areaLocationList.add(tuple2); + } + } + } + this.areas = areas; // 赋值给全局变量 + // -- 去重并组合 + List distinctLocationList = areaLocationList.stream().map(tuple2 -> tuple2.item1).distinct().toList(); + for (String distinctLocation : distinctLocationList) { + List>> areaDataList = areaLocationList.stream().filter(tuple2 -> tuple2.item1.equals(distinctLocation)).toList(); + List locationAreas = areaDataList.stream().map(tuple2 -> tuple2.item2).flatMap(List::stream).distinct().toList(); + locationAreaMap.put(distinctLocation, locationAreas); + } + } + + /** + * 汇总所有点位信息 + */ + public void summaryLocation() { + if(areas.isEmpty()) { + return; + } + areas.forEach(area -> { + String key = areaLocationRedisKey + ":" + area; + List locationList = stringRedisTemplate.opsForList().range(key, 0, -1); + if(locationList == null || locationList.isEmpty()) { + return; + } + locationList.forEach(location -> { + if(!locations.contains(location)) { + locations.add(location); + } + }); + }); + } + + /** + * 检查某一点位是否存在 + * @param location 位点 + * @return 是否存在 + */ + public boolean checkLocationExist(String location) { + if(location == null || location.trim().isEmpty()) { + return false; + } + if(locations.isEmpty()) { + summaryLocation(); + } + return locations.contains(location); + } + + /** + * 检查一个点位的区域,若这个点位在多个区域中,则返回多个 + * @param location 待检查的点位 + * @return 该点位的区域 + */ + private List getLocationArea(String location) { + if(AppStringUtils.isEmpty(location)) { + return null; + } + List locationAreaList = new ArrayList<>(); + // 检查是否是堆垛机点位 + AppStackerLocation stackerLocation = stackerLocationMap.get(location); + if(stackerLocation != null) { + locationAreaList.add(stackerLocation.getMachineId().toString()); + } + // 检查是否是站台点位 + AppStackerStand standLocation = stackerStandMap.get(location); + if(standLocation != null) { + locationAreaList.add(standLocation.getStackerId().toString()); + locationAreaList.add(standLocation.getAreaId()); + } + // 检查是否是托盘输送点位 + AppTrayConveyLocation trayConveyLocation = trayConveyLocationMap.get(location); + if(trayConveyLocation != null) { + locationAreaList.add(trayConveyLocation.getAreaId()); + } + // 检查是否是普通输送任务 + AppConveyLocation conveyLocation = conveyLocationMap.get(location); + if(conveyLocation != null) { + locationAreaList.add(conveyLocation.getAreaId()); + } + if(locationAreaList.isEmpty()) { + return null; + } + return locationAreaList.stream().distinct().toList(); + } + + /** + * 获取两个区域的中转点 + * @param originArea 起点区域 + * @param destinationArea 终点区域 + * @return 中转点 + */ + private String getTransferLocation(String originArea, String destinationArea) { + final String[] transferLocation = {null}; + locationAreaMap.forEach((location, areaList) -> { + if(transferLocation[0] != null) { + return; + } + if(areaList.contains(originArea) && areaList.contains(destinationArea)) { + transferLocation[0] = location; + } + }); + return transferLocation[0]; + } + + + + /** + * 检查一个点位的类型,若这个点位在多个类型中,则返回多个 + * @param location 待检查的点位 + * @return 该点位的类型 + */ + private List getLocationType(String location) { + if(AppStringUtils.isEmpty(location)) { + return List.of(LocationTypeEnum.UNKNOWN); + } + List locationTypeList = new ArrayList<>(); + // 检查是否是堆垛机点位 + AppStackerLocation stackerLocation = stackerLocationMap.get(location); + if(stackerLocation != null) { + locationTypeList.add(LocationTypeEnum.STACKER); + } + // 检查是否是站台点位 + AppStackerStand standLocation = stackerStandMap.get(location); + if(standLocation != null) { + locationTypeList.add(LocationTypeEnum.STACKER); + locationTypeList.add(LocationTypeEnum.CONVEY); + } + // 检查是否是托盘输送点位 + AppTrayConveyLocation trayConveyLocation = trayConveyLocationMap.get(location); + if(trayConveyLocation != null) { + locationTypeList.add(LocationTypeEnum.TRAY_CONVEY); + } + // 检查是否是普通输送任务 + AppConveyLocation conveyLocation = conveyLocationMap.get(location); + if(conveyLocation != null) { + locationTypeList.add(LocationTypeEnum.CONVEY); + } + if(locationTypeList.isEmpty()) { + return List.of(LocationTypeEnum.UNKNOWN); + } + return locationTypeList.stream().distinct().toList(); + } + + /** + * 计算任务路径 ---- 目前仅支持一个中转点 + * @param origin 起点 + * @param destination 终点 + * @return 任务路径 <计算结果,路径>,若正常则计算结果为 null,不为 null则返回错误 + */ + public Tuple2> calculateTask(String origin, String destination) { + if(AppStringUtils.isEmpty(origin) || AppStringUtils.isEmpty(destination)) { + return new Tuple2<>("起点或者终点为空", null); + } + if(areas.isEmpty()) { + return new Tuple2<>("没有区域信息,请先初始化或者检查基础资料", null); + } + /* 校验起点终点是否存在 */ + if(locations.isEmpty()) { + summaryLocation(); // 获取位置 + } + if(locations.isEmpty()) { + return new Tuple2<>("没有位置信息,请先初始化或者检查基础资料", null); + } + if(!locations.contains(origin)) { + return new Tuple2<>("起点不存在", null); + } + if(!locations.contains(destination)) { + return new Tuple2<>("终点不存在", null); + } + List originLocationAreas = getLocationArea(origin); + if(originLocationAreas == null) { + return new Tuple2<>("起点是不受支持的点位", null); + } + List destinationLocationAreas = getLocationArea(destination); + if(destinationLocationAreas == null) { + return new Tuple2<>("终点是不受支持的点位", null); + } + // 判断起点和终点是否是同一种点位类型 + List sameAreaList = originLocationAreas.stream().filter(destinationLocationAreas::contains).toList(); + if(!sameAreaList.isEmpty()) { + // 不是空的,说明是同一种类型 + List originLocationTypes = getLocationType(origin); + List destinationLocationTypes = getLocationType(destination); + if(originLocationTypes.contains(LocationTypeEnum.UNKNOWN) || destinationLocationTypes.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("起点和终点属于同一区域,但检索不到点位类型,请检查基础资料", null); // 正常不会发生 + } + // 查找两个list中相同的项 + List sameLocationType = originLocationTypes.stream().filter(destinationLocationTypes::contains).toList(); + if(sameLocationType.isEmpty()) { + return new Tuple2<>("起点和终点属于同一区域,其点位类型不一致,不允许此设置,请检查区域设置是否合法", null); + } + SimpleTask simpleTask = new SimpleTask(); + simpleTask.setTaskType(SimpleTaskEnum.getSimpleTaskEnum(sameLocationType.getFirst())); + simpleTask.setOrigin(origin); + simpleTask.setDestination(destination); + simpleTask.setTaskIndex(1); + return new Tuple2<>(null, List.of(simpleTask)); + } + // 不是同一类型的点位,跨区任务 ----- 目前仅支持一个中转点(葛林强:2025年8月13日) + String transferLocation = null; + for (String originLocationArea : originLocationAreas) { + if(transferLocation != null) { + break; + } + for (String destinationLocationArea : destinationLocationAreas) { + transferLocation = getTransferLocation(originLocationArea, destinationLocationArea); + if(transferLocation != null) { + break; + } + } + } + if(AppStringUtils.isEmpty(transferLocation)) { + log.info("无法找到中转位置,目前仅支持一个中专点,起点:{}, 终点:{},起点区域:{}, 终点区域:{}", origin, destination, String.join(";", originLocationAreas), String.join(";", destinationLocationAreas)); + return new Tuple2<>("无法找到中转位置", null); + } + // origin ---> transferLocation ---> destination + List simpleTasks = new ArrayList<>(); + // 起点 ---> 中转 + // 不是空的,说明是同一种类型 + List originLocationTypes = getLocationType(origin); + List transferLocationTypes = getLocationType(transferLocation); + if(originLocationTypes.contains(LocationTypeEnum.UNKNOWN) || transferLocationTypes.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("起点和中转点属于同一区域,但检索不到点位类型,请检查基础资料", null); // 正常不会发生 + } + // 查找两个list中相同的项 + List sameLocationType = originLocationTypes.stream().filter(transferLocationTypes::contains).toList(); + if(sameLocationType.isEmpty()) { + return new Tuple2<>("起点和中转点属于同一区域,其点位类型不一致,不允许此设置,请检查区域设置是否合法", null); + } + SimpleTask simpleTask1 = new SimpleTask(); + simpleTask1.setOrigin(origin); + simpleTask1.setDestination(transferLocation); + simpleTask1.setTaskType(SimpleTaskEnum.getSimpleTaskEnum(sameLocationType.getFirst())); + simpleTask1.setTaskIndex(1); + simpleTasks.add(simpleTask1); + // 中转点 ---> 目标点 + // 不是空的,说明是同一种类型 + List destinationLocationTypes = getLocationType(destination); + if(originLocationTypes.contains(LocationTypeEnum.UNKNOWN) || transferLocationTypes.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("终点和中转点属于同一区域,但检索不到点位类型,请检查基础资料", null); // 正常不会发生 + } + // 查找两个list中相同的项 + List sameLocationType2 = destinationLocationTypes.stream().filter(transferLocationTypes::contains).toList(); + if(sameLocationType2.isEmpty()) { + return new Tuple2<>("终点和中转点属于同一区域,其点位类型不一致,不允许此设置,请检查区域设置是否合法", null); + } + SimpleTask simpleTask2 = new SimpleTask(); + simpleTask1.setOrigin(origin); + simpleTask1.setDestination(transferLocation); + simpleTask1.setTaskType(SimpleTaskEnum.getSimpleTaskEnum(sameLocationType.getFirst())); + simpleTask1.setTaskIndex(2); + simpleTasks.add(simpleTask2); + return new Tuple2<>(null, simpleTasks); + } + + /** + * 创建第一个自动任务的子任务 + * @param composeTask 组合任务 + * @return < 异常信息, 子任务 > + */ + public Tuple2 createFirstAutoStockSingleTask(AppStockComposeTask composeTask) { + Tuple2> calculateTaskResult = calculateTask(composeTask.getOrigin(), composeTask.getDestination()); + if(calculateTaskResult.getItem1() != null) { + return new Tuple2<>(calculateTaskResult.getItem1(), null); + } + List simpleTaskList = calculateTaskResult.getItem2(); + if(simpleTaskList == null || simpleTaskList.isEmpty()) { + return new Tuple2<>("任务路径无法计算", null); + } + SimpleTask simpleTask = simpleTaskList.getFirst(); + StockSingleTaskTypeEnum simpleTaskType = StockSingleTaskTypeEnum.getBySimpleTaskType(simpleTask.getTaskType()); + if(simpleTaskType == null || simpleTaskType == StockSingleTaskTypeEnum.UNKNOWN) { + return new Tuple2<>("任务类型无法识别", null); + } + Integer newTaskId = plcTaskIdHelper.newTaskId(); + if(newTaskId == null || newTaskId == 0) { + return new Tuple2<>("数据服务异常", null); + } + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(0); + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_AUTO.getCode()); // 暂时赋值,下面会重新具体赋值 + appStockSingleTask.setOrigin(simpleTask.getOrigin()); + appStockSingleTask.setDestination(simpleTask.getDestination()); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + // 堆垛机任务 + if(simpleTaskType == StockSingleTaskTypeEnum.STACKER_AUTO) { + List originLocationType = getLocationType(simpleTask.getOrigin()); + List destinationLocationType = getLocationType(simpleTask.getDestination()); + if(originLocationType.contains(LocationTypeEnum.UNKNOWN) || destinationLocationType.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("任务起点或目标位置未知", null); + } + // 检查其起点和终点是什么类型 + if(originLocationType.contains(LocationTypeEnum.STACKER) && destinationLocationType.contains(LocationTypeEnum.STACKER)) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_MOVE.getCode()); + } else if(originLocationType.contains(LocationTypeEnum.CONVEY) && destinationLocationType.contains(LocationTypeEnum.STACKER)) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_IN.getCode()); + }else if(originLocationType.contains(LocationTypeEnum.STACKER) && destinationLocationType.contains(LocationTypeEnum.CONVEY)) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_OUT.getCode()); + } + return new Tuple2<>(null, appStockSingleTask); + } else if (simpleTaskType == StockSingleTaskTypeEnum.CONVEY_MOVE) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.CONVEY_MOVE.getCode()); + return new Tuple2<>(null, appStockSingleTask); + } else if (simpleTaskType == StockSingleTaskTypeEnum.AGV) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.AGV.getCode()); + return new Tuple2<>(null, appStockSingleTask); + } else if (simpleTaskType == StockSingleTaskTypeEnum.SHUTTLE) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.SHUTTLE.getCode()); + return new Tuple2<>(null, appStockSingleTask); + } + return new Tuple2<>("任务类型异常", null); + } + + /** + * 创建下一个自动任务的子任务 + * @param composeTask 组合任务 + * @param lastStockSingleTask 上一个子任务 + * @return < 错误信息, 子任务 > + */ + public Tuple2 createNextAutoStockSingleTask(AppStockComposeTask composeTask, AppStockSingleTask lastStockSingleTask) { + Tuple2> calculateTaskResult = calculateTask(lastStockSingleTask.getDestination(), composeTask.getDestination()); + if(calculateTaskResult.getItem1() != null) { + return new Tuple2<>(calculateTaskResult.getItem1(), null); + } + List simpleTaskList = calculateTaskResult.getItem2(); + if(simpleTaskList == null || simpleTaskList.isEmpty()) { + return new Tuple2<>("任务路径无法计算", null); + } + SimpleTask simpleTask = simpleTaskList.getFirst(); + StockSingleTaskTypeEnum simpleTaskType = StockSingleTaskTypeEnum.getBySimpleTaskType(simpleTask.getTaskType()); + if(simpleTaskType == null || simpleTaskType == StockSingleTaskTypeEnum.UNKNOWN) { + return new Tuple2<>("任务类型无法识别", null); + } + Integer newTaskId = plcTaskIdHelper.newTaskId(); + if(newTaskId == null || newTaskId == 0) { + return new Tuple2<>("数据服务异常", null); + } + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(0); + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_AUTO.getCode()); // 暂时赋值,下面会重新具体赋值 + appStockSingleTask.setOrigin(simpleTask.getOrigin()); + appStockSingleTask.setDestination(simpleTask.getDestination()); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + // 堆垛机任务 + if(simpleTaskType == StockSingleTaskTypeEnum.STACKER_AUTO) { + List originLocationType = getLocationType(simpleTask.getOrigin()); + List destinationLocationType = getLocationType(simpleTask.getDestination()); + if(originLocationType.contains(LocationTypeEnum.UNKNOWN) || destinationLocationType.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("任务起点或目标位置未知", null); + } + // 检查其起点和终点是什么类型 + if(originLocationType.contains(LocationTypeEnum.STACKER) && destinationLocationType.contains(LocationTypeEnum.STACKER)) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_MOVE.getCode()); + } else if(originLocationType.contains(LocationTypeEnum.CONVEY) && destinationLocationType.contains(LocationTypeEnum.STACKER)) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_IN.getCode()); + }else if(originLocationType.contains(LocationTypeEnum.STACKER) && destinationLocationType.contains(LocationTypeEnum.CONVEY)) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_OUT.getCode()); + } + return new Tuple2<>(null, appStockSingleTask); + } else if (simpleTaskType == StockSingleTaskTypeEnum.CONVEY_MOVE) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.CONVEY_MOVE.getCode()); + return new Tuple2<>(null, appStockSingleTask); + } else if (simpleTaskType == StockSingleTaskTypeEnum.AGV) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.AGV.getCode()); + return new Tuple2<>(null, appStockSingleTask); + } else if (simpleTaskType == StockSingleTaskTypeEnum.SHUTTLE) { + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.SHUTTLE.getCode()); + return new Tuple2<>(null, appStockSingleTask); + } + return new Tuple2<>("任务类型异常", null); + } + + /** + * 创建子任务 --- 如果不是入库任务需要判断起点是不是为空,如果为空则不调用此方法 + * @param composeTask 组合任务 + * @param origin 起点 + * @param destination 目标位置 + * @return 子任务 + */ + public Tuple2 createStockSingleTask(AppStockComposeTask composeTask, String origin, String destination) { + Integer newTaskId = plcTaskIdHelper.newTaskId(); // 获取PLC任务ID + if(newTaskId == null || newTaskId == 0) { + return new Tuple2<>("数据服务异常", null); + } + if(composeTask.getTaskType().equals(StockComposeTaskTypeEnum.IN.getCode()) && AppStringUtils.isEmpty(composeTask.getOrigin()) && AppStringUtils.isNotEmpty(destination)) { // 入库任务并且起点是空的默认只生成一个堆垛机入库任务 + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(StockExecuteEquipmentEnum.STACKER.getCode()); + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_IN.getCode()); + appStockSingleTask.setOrigin(origin); + appStockSingleTask.setDestination(destination); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + return new Tuple2<>(null, appStockSingleTask); + } + if(composeTask.getTaskType().equals(StockComposeTaskTypeEnum.OUT.getCode()) && AppStringUtils.isEmpty(composeTask.getDestination()) && AppStringUtils.isNotEmpty(origin)) { // 出库任务并且终点是空的默认只生成一个堆垛机出库任务 + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(StockExecuteEquipmentEnum.STACKER.getCode()); + appStockSingleTask.setTaskType(StockSingleTaskTypeEnum.STACKER_OUT.getCode()); + appStockSingleTask.setOrigin(origin); + appStockSingleTask.setDestination(destination); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + return new Tuple2<>(null, appStockSingleTask); + } + if(AppStringUtils.isEmpty(destination)) { + return new Tuple2<>("目标位置不能为空", null); + } + // 其他任务,动态计算路径 ---- 注意:此处算的如果是输送线任务是直接到独立任务表,不是到单独的 输送线任务表 + if(AppStringUtils.isEmpty(origin)) { + return new Tuple2<>("起点位置不能为空", null); // 该判断需在调用本方法之前判断,否则任务会被以异常状态取消 + } + List> courseCalculateResult = locationManage.courseCalculate(origin, destination); + if(courseCalculateResult == null || courseCalculateResult.isEmpty()) { + return new Tuple2<>("无法计算路径", null); + } + if(courseCalculateResult.size() < 2) { + return new Tuple2<>("计算的路径不正确", null); + } + Tuple2 originCourseInfo = courseCalculateResult.getFirst(); // 取第一个路径 + Tuple2 destinationCourseInfo = courseCalculateResult.get(1); + // 生成任务 + StockExecuteEquipmentEnum executeEquipment = StockExecuteEquipmentEnum.getExecuteEquipment(originCourseInfo.getItem1()); + StockSingleTaskTypeEnum simpleTaskType = StockSingleTaskTypeEnum.getByComposeTaskTypeAndExecuteMachine(StockComposeTaskTypeEnum.getByCode(composeTask.getTaskType()), executeEquipment); + + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(executeEquipment.getCode()); + appStockSingleTask.setTaskType(simpleTaskType.getCode()); + appStockSingleTask.setOrigin(originCourseInfo.getItem2()); + appStockSingleTask.setDestination(destinationCourseInfo.getItem2()); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + return new Tuple2<>(null, appStockSingleTask); + } + + + /** + * 创建入库任务 + * + * @param composeTask 组合任务 + * @return 入库任务结果 + */ + public Tuple2 createStockInSingleTask(AppStockComposeTask composeTask) { + String origin = composeTask.getOrigin(); + String destination = composeTask.getDestination(); + if(AppStringUtils.isEmpty(origin) && AppStringUtils.isEmpty(destination)) { + return new Tuple2<>("起点或者终点都为空", null); + } + List originLocationAreas = getLocationArea(origin); + List destinationLocationAreas = getLocationArea(destination); + if(originLocationAreas == null && destinationLocationAreas == null) { + return new Tuple2<>("起点和终点均是不受支持的点位", null); + } + // 入库任务,以终点为最终目标 + // 判断终点点位类型 + List destinationLocationTypes = getLocationType(destination); + if(destinationLocationTypes.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("终点点位类型未知", null); + } + // 这里终点只能有一个点位类型,多个计报错 + if(destinationLocationTypes.size() > 1) { + return new Tuple2<>("终点点位类型不能为多个,请检查基础资料", null); + } + SimpleTaskEnum simpleTaskEnum = SimpleTaskEnum.getSimpleTaskEnum(destinationLocationTypes.getFirst()); + StockSingleTaskTypeEnum simpleTaskType = StockSingleTaskTypeEnum.getBySimpleTaskType(simpleTaskEnum); + if(simpleTaskEnum.equals(SimpleTaskEnum.STACKER)) { + simpleTaskType = StockSingleTaskTypeEnum.STACKER_IN; + } + Integer newTaskId = plcTaskIdHelper.newTaskId(); + if(newTaskId == null || newTaskId == 0) { + return new Tuple2<>("数据服务异常", null); + } + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(StockExecuteEquipmentEnum.STACKER.getCode()); + appStockSingleTask.setTaskType(simpleTaskType.getCode()); + appStockSingleTask.setOrigin(origin); + appStockSingleTask.setDestination(destination); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + return new Tuple2<>(null, appStockSingleTask); + } + + + /** + * 创建出库任务 + * + * @param composeTask 组合任务 + * @return 出库任务结果 + */ + public Tuple2 createStockOutSingleTask(AppStockComposeTask composeTask) { + String origin = composeTask.getOrigin(); + String destination = composeTask.getDestination(); + if(AppStringUtils.isEmpty(origin) && AppStringUtils.isEmpty(destination)) { + return new Tuple2<>("起点或者终点都为空", null); + } + List originLocationAreas = getLocationArea(origin); + List destinationLocationAreas = getLocationArea(destination); + if(originLocationAreas == null && destinationLocationAreas == null) { + return new Tuple2<>("起点和终点均是不受支持的点位", null); + } + // 出库任务,以起点为最终数据 + // 判断起点点位类型 + List originLocationTypes = getLocationType(origin); + if(originLocationTypes.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("起点点位类型未知", null); + } + // 这里起点只能有一个点位类型,多个计报错 + if(originLocationTypes.size() > 1) { + return new Tuple2<>("起点点位类型不能为多个,请检查基础资料", null); + } + SimpleTaskEnum simpleTaskEnum = SimpleTaskEnum.getSimpleTaskEnum(originLocationTypes.getFirst()); + StockSingleTaskTypeEnum simpleTaskType = StockSingleTaskTypeEnum.getBySimpleTaskType(simpleTaskEnum); + if(simpleTaskEnum.equals(SimpleTaskEnum.STACKER)) { + simpleTaskType = StockSingleTaskTypeEnum.STACKER_OUT; + } + Integer newTaskId = plcTaskIdHelper.newTaskId(); + if(newTaskId == null || newTaskId == 0) { + return new Tuple2<>("数据服务异常", null); + } + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(StockExecuteEquipmentEnum.STACKER.getCode()); + appStockSingleTask.setTaskType(simpleTaskType.getCode()); + appStockSingleTask.setOrigin(origin); + appStockSingleTask.setDestination(destination); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + return new Tuple2<>(null, appStockSingleTask); + } + + /** + * 创建移库任务 + * + * @param composeTask 组合任务 + * @return 移库任务结果 + */ + public Tuple2 createStockMoveSingleTask(AppStockComposeTask composeTask) { + String origin = composeTask.getOrigin(); + String destination = composeTask.getDestination(); + if(AppStringUtils.isEmpty(origin) && AppStringUtils.isEmpty(destination)) { + return new Tuple2<>("起点或者终点都为空", null); + } + // 移库任务 + List originLocationAreas = getLocationArea(origin); + if(originLocationAreas == null) { + return new Tuple2<>("起点是不受支持的点位", null); + } + List destinationLocationAreas = getLocationArea(destination); + if(destinationLocationAreas == null) { + return new Tuple2<>("终点是不受支持的点位", null); + } + // 判断起点和终点是否是同一种点位区域 + List sameAreaList = originLocationAreas.stream().filter(destinationLocationAreas::contains).toList(); + if(sameAreaList.isEmpty()) { + return new Tuple2<>("起点和终点不是同区域点位", null); + } + // 不是空的,说明是同一种类型 + List originLocationTypes = getLocationType(origin); + List destinationLocationTypes = getLocationType(destination); + if(originLocationTypes.contains(LocationTypeEnum.UNKNOWN) || destinationLocationTypes.contains(LocationTypeEnum.UNKNOWN)) { + return new Tuple2<>("起点和终点属于同一区域,但检索不到点位类型,请检查基础资料", null); // 正常不会发生 + } + // 查找两个list中相同的项 + List sameLocationType = originLocationTypes.stream().filter(destinationLocationTypes::contains).toList(); + if(sameLocationType.isEmpty()) { + return new Tuple2<>("起点和终点属于同一区域,其点位类型不一致,不允许此设置,请检查区域设置是否合法", null); + } + SimpleTaskEnum simpleTaskEnum = SimpleTaskEnum.getSimpleTaskEnum(sameLocationType.getFirst()); + StockSingleTaskTypeEnum simpleTaskType = StockSingleTaskTypeEnum.getBySimpleTaskType(simpleTaskEnum); + if(simpleTaskEnum.equals(SimpleTaskEnum.STACKER)) { + simpleTaskType = StockSingleTaskTypeEnum.STACKER_MOVE; + } + Integer newTaskId = plcTaskIdHelper.newTaskId(); + if(newTaskId == null || newTaskId == 0) { + return new Tuple2<>("数据服务异常", null); + } + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + appStockSingleTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockSingleTask.setTaskGroup(composeTask.getTaskGroup()); + appStockSingleTask.setPlcTaskId(newTaskId); + appStockSingleTask.setUpperTaskId(composeTask.getTaskId()); + appStockSingleTask.setExecuteMachine(StockExecuteEquipmentEnum.STACKER.getCode()); + appStockSingleTask.setTaskType(simpleTaskType.getCode()); + appStockSingleTask.setOrigin(origin); + appStockSingleTask.setDestination(destination); + appStockSingleTask.setComposeDestination(composeTask.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(composeTask.getPriority()); + appStockSingleTask.setVehicleNo(composeTask.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(composeTask.getVehicleNo())); + appStockSingleTask.setVehicleSize(composeTask.getVehicleSize()); + appStockSingleTask.setWeight(composeTask.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource(composeTask.getTaskSource()); + appStockSingleTask.setCreatePerson(composeTask.getCreatePerson()); + return new Tuple2<>(null, appStockSingleTask); + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/ComposeTaskStatusReporter.java b/wcs/src/main/java/org/wcs/business/stock/impl/ComposeTaskStatusReporter.java new file mode 100644 index 0000000..3ba6d43 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/ComposeTaskStatusReporter.java @@ -0,0 +1,233 @@ +package org.wcs.business.stock.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.stock.intf.IComposeTaskStatusReporter; +import org.wcs.constant.ConstantData; +import org.wcs.constant.enums.http.StockCallBackStatusEnum; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.client.StockTaskStatusUploadReq; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.plugin.webHttpClient.WebHttpClient; +import org.wcs.plugin.webHttpClient.model.HttpRequest; +import org.wcs.plugin.webHttpClient.model.HttpResponse; +import org.wcs.utils.AppStringUtils; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ComposeTaskStatusReporter implements IComposeTaskStatusReporter { + + private static final String callBackAddressKey = "_STOCK_TASK_STATUS_CALLBACK"; + + /** + * 任务开始 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + @Override + public Tuple2 taskStart(AppStockComposeTask composeTask, String message) { + if(composeTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) { + return new Tuple2<>(null, "内部任务不上报"); // WCS 系统自己创建的不执行上传动作 + } + StockTaskStatusUploadReq stockTaskStatusUploadReq = new StockTaskStatusUploadReq(); + stockTaskStatusUploadReq.setTaskId(composeTask.getUpperTaskId()); + stockTaskStatusUploadReq.setTaskStatus(StockCallBackStatusEnum.START.getCode()); + stockTaskStatusUploadReq.setDestination(""); + stockTaskStatusUploadReq.setVehicleNo(composeTask.getVehicleNo()); + stockTaskStatusUploadReq.setMessage(message); + /* 构造请求体 */ + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(composeTask.getTaskSource() + callBackAddressKey) + .setBody(AppStringUtils.objectToString(stockTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + log.info("{} 任务开始上报上位系统,请求结果:{}", composeTask.getUpperTaskId(), httpResponse.isSuccess()); + if(!httpResponse.isBaseDataError() && httpResponse.isSuccess()) { + return new Tuple2<>(null, httpResponse.getResponseText()); + } + String errText = ""; + if(AppStringUtils.isNotEmpty(httpResponse.getErrText())) { + errText += httpResponse.getErrText(); + } + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return new Tuple2<>(errText, null); + } + + /** + * 任务完成 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + @Override + public Tuple2 taskFinish(AppStockComposeTask composeTask, String message) { + if(composeTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) { + return new Tuple2<>(null, "内部任务不上报"); // WCS 系统自己创建的不执行上传动作 + } + StockTaskStatusUploadReq stockTaskStatusUploadReq = new StockTaskStatusUploadReq(); + stockTaskStatusUploadReq.setTaskId(composeTask.getUpperTaskId()); + stockTaskStatusUploadReq.setTaskStatus(StockCallBackStatusEnum.FINISH.getCode()); + stockTaskStatusUploadReq.setDestination(""); + stockTaskStatusUploadReq.setVehicleNo(composeTask.getVehicleNo()); + stockTaskStatusUploadReq.setMessage(message); + /* 构造请求体 */ + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(composeTask.getTaskSource() + callBackAddressKey) + .setBody(AppStringUtils.objectToString(stockTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + log.info("{} 任务完成上报上位系统,请求结果:{}", composeTask.getUpperTaskId(), httpResponse.isSuccess()); + if(!httpResponse.isBaseDataError() && httpResponse.isSuccess()) { + return new Tuple2<>(null, httpResponse.getResponseText()); + } + String errText = ""; + if(AppStringUtils.isNotEmpty(httpResponse.getErrText())) { + errText += httpResponse.getErrText(); + } + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return new Tuple2<>(errText, null); + } + + /** + * 任务错误 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + @Override + public Tuple2 taskError(AppStockComposeTask composeTask, String message) { + if(composeTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) { + return new Tuple2<>(null, "内部任务不上报"); // WCS 系统自己创建的不执行上传动作 + } + StockTaskStatusUploadReq stockTaskStatusUploadReq = new StockTaskStatusUploadReq(); + stockTaskStatusUploadReq.setTaskId(composeTask.getUpperTaskId()); + stockTaskStatusUploadReq.setTaskStatus(StockCallBackStatusEnum.ERROR.getCode()); + stockTaskStatusUploadReq.setDestination(""); + stockTaskStatusUploadReq.setVehicleNo(composeTask.getVehicleNo()); + stockTaskStatusUploadReq.setMessage(message); + /* 构造请求体 */ + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(composeTask.getTaskSource() + callBackAddressKey) + .setBody(AppStringUtils.objectToString(stockTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + log.info("{} 任务错误上报上位系统,请求结果:{}", composeTask.getUpperTaskId(), httpResponse.isSuccess()); + if(!httpResponse.isBaseDataError() && httpResponse.isSuccess()) { + return new Tuple2<>(null, httpResponse.getResponseText()); + } + String errText = ""; + if(AppStringUtils.isNotEmpty(httpResponse.getErrText())) { + errText += httpResponse.getErrText(); + } + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return new Tuple2<>(errText, null); + } + + /** + * 任务取消 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + @Override + public Tuple2 taskCancel(AppStockComposeTask composeTask, String message) { + if(composeTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) { + return new Tuple2<>(null, "内部任务不上报"); // WCS 系统自己创建的不执行上传动作 + } + StockTaskStatusUploadReq stockTaskStatusUploadReq = new StockTaskStatusUploadReq(); + stockTaskStatusUploadReq.setTaskId(composeTask.getUpperTaskId()); + stockTaskStatusUploadReq.setTaskStatus(StockCallBackStatusEnum.CANCEL.getCode()); + stockTaskStatusUploadReq.setDestination(""); + stockTaskStatusUploadReq.setVehicleNo(composeTask.getVehicleNo()); + stockTaskStatusUploadReq.setMessage(message); + /* 构造请求体 */ + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(composeTask.getTaskSource() + callBackAddressKey) + .setBody(AppStringUtils.objectToString(stockTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + log.info("{} 任务取消上报上位系统,请求结果:{}", composeTask.getUpperTaskId(), httpResponse.isSuccess()); + if(!httpResponse.isBaseDataError() && httpResponse.isSuccess()) { + return new Tuple2<>(null, httpResponse.getResponseText()); + } + String errText = ""; + if(AppStringUtils.isNotEmpty(httpResponse.getErrText())) { + errText += httpResponse.getErrText(); + } + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return new Tuple2<>(errText, null); + } + + /** + * 任务重复入库 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + @Override + public Tuple2 taskDoubleIn(AppStockComposeTask composeTask, String message) { + if(composeTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) { + return new Tuple2<>(null, "内部任务不上报"); // WCS 系统自己创建的不执行上传动作 + } + StockTaskStatusUploadReq stockTaskStatusUploadReq = new StockTaskStatusUploadReq(); + stockTaskStatusUploadReq.setTaskId(composeTask.getUpperTaskId()); + stockTaskStatusUploadReq.setTaskStatus(StockCallBackStatusEnum.DOUBLE_IN.getCode()); + stockTaskStatusUploadReq.setDestination(""); + stockTaskStatusUploadReq.setVehicleNo(composeTask.getVehicleNo()); + stockTaskStatusUploadReq.setMessage(message); + /* 构造请求体 */ + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(composeTask.getTaskSource() + callBackAddressKey) + .setBody(AppStringUtils.objectToString(stockTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + log.info("{} 任务重复入库上报上位系统,请求结果:{}", composeTask.getUpperTaskId(), httpResponse.isSuccess()); + if(!httpResponse.isBaseDataError() && httpResponse.isSuccess()) { + return new Tuple2<>(null, httpResponse.getResponseText()); + } + String errText = ""; + if(AppStringUtils.isNotEmpty(httpResponse.getErrText())) { + errText += httpResponse.getErrText(); + } + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return new Tuple2<>(errText, null); + } + + /** + * 任务空出库 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + @Override + public Tuple2 taskEmptyOut(AppStockComposeTask composeTask, String message) { + if(composeTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) { + return new Tuple2<>(null, "内部任务不上报"); // WCS 系统自己创建的不执行上传动作 + } + StockTaskStatusUploadReq stockTaskStatusUploadReq = new StockTaskStatusUploadReq(); + stockTaskStatusUploadReq.setTaskId(composeTask.getUpperTaskId()); + stockTaskStatusUploadReq.setTaskStatus(StockCallBackStatusEnum.EMPTY_OUT.getCode()); + stockTaskStatusUploadReq.setDestination(""); + stockTaskStatusUploadReq.setVehicleNo(composeTask.getVehicleNo()); + stockTaskStatusUploadReq.setMessage(message); + /* 构造请求体 */ + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(composeTask.getTaskSource() + callBackAddressKey) + .setBody(AppStringUtils.objectToString(stockTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + log.info("{} 任务空出库上报上位系统,请求结果:{}", composeTask.getUpperTaskId(), httpResponse.isSuccess()); + if(!httpResponse.isBaseDataError() && httpResponse.isSuccess()) { + return new Tuple2<>(null, httpResponse.getResponseText()); + } + String errText = ""; + if(AppStringUtils.isNotEmpty(httpResponse.getErrText())) { + errText += httpResponse.getErrText(); + } + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return new Tuple2<>(errText, null); + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/ScanMethod.java b/wcs/src/main/java/org/wcs/business/stock/impl/ScanMethod.java new file mode 100644 index 0000000..2381bb5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/ScanMethod.java @@ -0,0 +1,393 @@ +package org.wcs.business.stock.impl; + +import com.alibaba.fastjson2.JSONObject; +import com.alibaba.fastjson2.TypeReference; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.annotation.ScanMethodTag; +import org.wcs.business.stock.intf.IScanMethod; +import org.wcs.constant.ConstantData; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.StackerLocationStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskStepStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskTypeEnum; +import org.wcs.helper.PlcTaskIdHelper; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.mapper.intf.AppStockComposeTaskService; +import org.wcs.model.dto.client.StockLoginDataResp; +import org.wcs.model.dto.client.StockLoginReq; +import org.wcs.model.dto.client.UpperSystemDataResponse; +import org.wcs.model.po.app.AppStackerLocation; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.model.po.app.AppStockScan; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.ScanInfo; +import org.wcs.plugin.plc.model.ScanTask; +import org.wcs.plugin.webHttpClient.WebHttpClient; +import org.wcs.plugin.webHttpClient.model.HttpRequest; +import org.wcs.plugin.webHttpClient.model.HttpResponse; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 扫码方法 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class ScanMethod implements IScanMethod { + + private final PlcTaskIdHelper plcTaskIdHelper; + private final AppStockComposeTaskService stockComposeTaskService; + private final AppStackerLocationService stackerLocationService; + + /** + * 注册堆垛机任务,仅注册,成功则继续执行,失败则退回,成功写1,失败写2 + * @param stockScan 扫码器信息 + * @param scanInfo 扫码信息 + */ + @Override + @ScanMethodTag("LOGIN_STACKER") + public void loginStackerTask(AppStockScan stockScan, ScanInfo scanInfo) { + if(stockScan == null || scanInfo == null) { + log.info("堆垛机 注册扫码器信息数据为空"); + return; + } + if(scanInfo.getTag() != TrueOrFalseEnum.TRUE.getCode()) { + return; + } + log.info("注册扫码器信息: {},获得扫码数据:{}", stockScan, scanInfo); + // 检查是否扫码失败 + String code = scanInfo.getVehicleNo(); + if(AppStringUtils.isEmpty(code)) { + return; + } + code = code.trim().replaceAll("\\W+", ""); // 获取条码简单处理 + // 读码失败 + if(code.equals(ConstantData.NO_READ)) { + log.info("扫码:{},扫码失败,条码:{}",stockScan.getScanId(), code); + writeSimpleScanTask(stockScan, (short)2); + return; + } + // 读码成功 + // 检查是否有该条码的任务 + AppStockComposeTask stockComposeTaskCheck = new AppStockComposeTask(); + stockComposeTaskCheck.setVehicleNo(code); + List stockComposeTaskCheckList = stockComposeTaskService.query(stockComposeTaskCheck); + if(stockComposeTaskCheckList == null) { + log.info("扫码:{},检索堆垛机任务失败,条码:{}",stockScan.getScanId(), code); + writeSimpleScanTask(stockScan, (short)2); + return; + } + // -- 找出是否存在未执行的堆垛机入库任务 + List stockComposeTasks = stockComposeTaskCheckList.stream().filter(task -> StockComposeTaskStatusEnum.getAllNotExecuteStatus().contains(task.getTaskStatus()) && + (task.getTaskType().equals(StockComposeTaskTypeEnum.AUTO.getCode()) || task.getTaskType().equals(StockComposeTaskTypeEnum.IN.getCode()))).toList(); + if(!stockComposeTasks.isEmpty()) { + // 存在任务,直接放行 + log.info("箱号:{} 在注册位置:{},存在任务,直接放行", code, stockScan.getScanId()); + writeSimpleScanTask(stockScan, (short)1); + return; + } + // 请求上位系统 + StockLoginReq stockLoginReq = new StockLoginReq(); + stockLoginReq.setRequestId(AppUUIDUtils.getNewUUID()); + stockLoginReq.setVehicleNo(scanInfo.getVehicleNo()); + stockLoginReq.setLocation(stockScan.getScanId()); + stockLoginReq.setSize(Integer.valueOf(scanInfo.getVehicleSize() == null ? 0 : scanInfo.getVehicleSize())); + stockLoginReq.setLength(scanInfo.getLength() == null ? 0 : scanInfo.getLength()); + stockLoginReq.setWidth(scanInfo.getWidth() == null ? 0 : scanInfo.getWidth()); + stockLoginReq.setHeight(scanInfo.getHeight() == null ? 0 : scanInfo.getHeight()); + stockLoginReq.setWeight(scanInfo.getWeight() == null ? 0 : scanInfo.getWeight()); + HttpRequest httpRequest = HttpRequest.buildStart() + .post() + .setAddressKey(stockScan.getParam1() + "_LOGIN_STACKER") + .setBody(AppStringUtils.objectToString(stockLoginReq)) + .buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + if(!httpResponse.isSuccess()) { + log.info("扫码:{} 申请堆垛机任务失败,异常信息:{}", stockScan.getScanId(), httpResponse.getException().toString()); + writeSimpleScanTask(stockScan, (short)2); + return; + } + String responseText = httpResponse.getResponseText(); + UpperSystemDataResponse upperSystemDataResponse = JSONObject.parseObject(responseText, new TypeReference<>(){}); + if(upperSystemDataResponse == null) { + log.info("扫码:{} 申请堆垛机任务失败,返回的数据无法解析,返回信息:{}", stockScan.getScanId(), responseText); + writeSimpleScanTask(stockScan, (short)2); + return; + } + if(!upperSystemDataResponse.isOk()) { + log.info("扫码:{} 申请堆垛机任务失败,返回信息:{}", stockScan.getScanId(), upperSystemDataResponse.getMessage()); + writeSimpleScanTask(stockScan, (short)2); + return; + } + log.info("扫码:{} 申请堆垛机任务成功,信息:{}", stockScan.getScanId(), upperSystemDataResponse.getMessage()); + writeSimpleScanTask(stockScan, (short)1); + // 生成任务 + StockLoginDataResp returnData = upperSystemDataResponse.getReturnData(); + if(returnData == null) { + return; + } + // 检查任务格式是否正确 + if(AppStringUtils.isEmpty(returnData.getTaskId()) + || returnData.getTaskType() == null + || (AppStringUtils.isEmpty(returnData.getOrigin()) && AppStringUtils.isEmpty(returnData.getDestination()))) { + log.info("扫码:{} 注册堆垛机任务,任务数据不正确,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(returnData)); + return; + } + if(StockComposeTaskTypeEnum.getByCode(returnData.getTaskType()).equals(StockComposeTaskTypeEnum.UNKNOWN)) { + log.info("扫码:{} 注册堆垛机任务,任务类型不正确,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(returnData)); + return; + } + // 检查任务是否存在 + List stockComposeTaskList = stockComposeTaskService.queryByUpperTaskId(returnData.getTaskId()); + if(stockComposeTaskList == null) { + log.info("扫码:{} 注册堆垛机任务查询任务失败", stockScan.getScanId()); + return; + } + if(!stockComposeTaskList.isEmpty()) { + log.info("扫码:{} 注册堆垛机任务,任务已经已存在,任务ID:{}", stockScan.getScanId(), returnData.getTaskId()); + return; + } + AppStockComposeTask stockComposeTask = new AppStockComposeTask(); + stockComposeTask.setTaskId(AppUUIDUtils.getNewUUID()); + stockComposeTask.setTaskGroup(AppStringUtils.isEmptyOr(returnData.getTaskGroup(), returnData.getTaskId())); + stockComposeTask.setUpperTaskId(returnData.getTaskId()); + stockComposeTask.setTaskType(returnData.getTaskType()); + stockComposeTask.setOrigin(returnData.getOrigin()); + stockComposeTask.setDestination(returnData.getDestination()); + stockComposeTask.setTaskStatus(StockComposeTaskStatusEnum.CREATE.getCode()); + stockComposeTask.setStepStatus(StockComposeTaskStepStatusEnum.CREATE.getCode()); + stockComposeTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + stockComposeTask.setPriority(returnData.getPriority() == null ? 5 : returnData.getPriority()); + stockComposeTask.setVehicleNo(returnData.getVehicleNo()); + stockComposeTask.setVehicleSize(returnData.getSize() == null ? 0 : returnData.getSize()); + stockComposeTask.setWeight(BigDecimal.valueOf(returnData.getWeight() == null ? 0 : returnData.getWeight())); + stockComposeTask.setCreateTime(LocalDateTime.now()); + stockComposeTask.setUpdateTime(LocalDateTime.now()); + stockComposeTask.setTaskSource(returnData.getSysName()); + stockComposeTask.setCreatePerson("?"); + int insertResult = stockComposeTaskService.insert(stockComposeTask); + if(insertResult <= 0) { + log.info("扫码:{} 注册堆垛机任务,任务插入失败,任务数据:{}", returnData.getVehicleNo(), AppStringUtils.objectToString(stockComposeTask)); + return; + } + log.info("扫码:{} 注册堆垛机任务,任务插入成功,任务数据:{}", returnData.getVehicleNo(), AppStringUtils.objectToString(stockComposeTask)); + } + + /** + * 注册任务并根据返回值确定该进那个堆垛机 + * @param stockScan 扫码器信息 + * @param scanInfo 扫码信息 + */ + @Override + @ScanMethodTag("LOGIN_STACKER_SEED") + public void loginStackerTaskSeed(AppStockScan stockScan, ScanInfo scanInfo) { + if(stockScan == null || scanInfo == null) { + log.info("堆垛机 注册扫码器信息数据为空"); + return; + } + if(scanInfo.getTag() != TrueOrFalseEnum.TRUE.getCode()) { + return; + } + log.info("注册扫码器信息: {},获得扫码数据:{}", stockScan, scanInfo); + // 检查是否扫码失败 + String code = scanInfo.getVehicleNo(); + if(AppStringUtils.isEmpty(code)) { + return; + } + code = code.trim().replaceAll("\\W+", ""); // 获取条码简单处理 + short errRouter = Short.parseShort(AppStringUtils.isEmptyOr(stockScan.getParam2(), "999")); // 异常路向值 + // 读码失败 + if(code.equals(ConstantData.NO_READ)) { + log.info("扫码:{},扫码失败,条码:{}",stockScan.getScanId(), code); + writeSimpleScanTask(stockScan, errRouter); + return; + } + // 读码成功 + // 检查是否有该条码的任务 + AppStockComposeTask stockComposeTaskCheck = new AppStockComposeTask(); + stockComposeTaskCheck.setVehicleNo(code); + List stockComposeTaskCheckList = stockComposeTaskService.query(stockComposeTaskCheck); + if(stockComposeTaskCheckList == null) { + log.info("扫码:{},检索堆垛机任务失败,条码:{}",stockScan.getScanId(), code); + writeSimpleScanTask(stockScan, errRouter); + return; + } + // -- 找出是否存在未执行的堆垛机入库任务 + List stockComposeTasks = stockComposeTaskCheckList.stream().filter(task -> StockComposeTaskStatusEnum.getAllNotExecuteStatus().contains(task.getTaskStatus()) && + (task.getTaskType().equals(StockComposeTaskTypeEnum.AUTO.getCode()) || task.getTaskType().equals(StockComposeTaskTypeEnum.IN.getCode()))).toList(); + if(!stockComposeTasks.isEmpty()) { + // 存在任务 + AppStockComposeTask stockComposeTask = stockComposeTasks.getFirst(); + List stackerLocations = stackerLocationService.queryStackerLocationById(stockComposeTask.getDestination()); + if(stackerLocations == null) { + log.info("扫码:{} 注册堆垛机任务,终点位置查询数据库失败,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, errRouter); + return; + } + if(stackerLocations.isEmpty()) { + log.info("扫码:{} 注册堆垛机任务,终点位置不存在,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, errRouter); + return; + } + AppStackerLocation stackerLocation = stackerLocations.getFirst(); + short router = stackerLocation.getLaneId().shortValue(); + log.info("箱号:{} 在注册位置:{},存在入库任务任务,巷道:{}", code, stockScan.getScanId(), router); + writeSimpleScanTask(stockScan, router); + return; + } + /* 没有任务,注册任务 */ + // 请求上位系统 + StockLoginReq stockLoginReq = new StockLoginReq(); + stockLoginReq.setRequestId(AppUUIDUtils.getNewUUID()); + stockLoginReq.setVehicleNo(scanInfo.getVehicleNo()); + stockLoginReq.setLocation(stockScan.getScanId()); + stockLoginReq.setSize(Integer.valueOf(scanInfo.getVehicleSize() == null ? 0 : scanInfo.getVehicleSize())); + stockLoginReq.setLength(scanInfo.getLength() == null ? 0 : scanInfo.getLength()); + stockLoginReq.setWidth(scanInfo.getWidth() == null ? 0 : scanInfo.getWidth()); + stockLoginReq.setHeight(scanInfo.getHeight() == null ? 0 : scanInfo.getHeight()); + stockLoginReq.setWeight(scanInfo.getWeight() == null ? 0 : scanInfo.getWeight()); + HttpRequest httpRequest = HttpRequest.buildStart() + .post() + .setAddressKey(stockScan.getParam1() + "_LOGIN_STACKER") + .setBody(AppStringUtils.objectToString(stockLoginReq)) + .buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + if(!httpResponse.isSuccess()) { + log.info("扫码:{} 申请堆垛机任务失败,异常信息:{}", stockScan.getScanId(), httpResponse.getException().toString()); + writeSimpleScanTask(stockScan, errRouter); + return; + } + String responseText = httpResponse.getResponseText(); + UpperSystemDataResponse upperSystemDataResponse = JSONObject.parseObject(responseText, new TypeReference<>(){}); + if(upperSystemDataResponse == null) { + log.info("扫码:{} 申请堆垛机任务失败,返回的数据无法解析,返回信息:{}", stockScan.getScanId(), responseText); + writeSimpleScanTask(stockScan, errRouter); + return; + } + if(!upperSystemDataResponse.isOk()) { + log.info("扫码:{} 申请堆垛机任务失败,返回信息:{}", stockScan.getScanId(), upperSystemDataResponse.getMessage()); + writeSimpleScanTask(stockScan, errRouter); + return; + } + log.info("扫码:{} 申请堆垛机任务成功,信息:{}", stockScan.getScanId(), upperSystemDataResponse.getMessage()); + // 生成任务 + StockLoginDataResp returnData = upperSystemDataResponse.getReturnData(); + if(returnData == null) { + return; + } + // 检查任务格式是否正确 + if(AppStringUtils.isEmpty(returnData.getTaskId()) + || returnData.getTaskType() == null + || (AppStringUtils.isEmpty(returnData.getOrigin()) && AppStringUtils.isEmpty(returnData.getDestination()))) { + writeSimpleScanTask(stockScan, errRouter); + log.info("扫码:{} 注册堆垛机任务,任务数据不正确,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(returnData)); + return; + } + if(StockComposeTaskTypeEnum.getByCode(returnData.getTaskType()).equals(StockComposeTaskTypeEnum.UNKNOWN)) { + writeSimpleScanTask(stockScan, errRouter); + log.info("扫码:{} 注册堆垛机任务,任务类型不正确,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(returnData)); + return; + } + // 检查任务是否存在 + List stockComposeTaskList = stockComposeTaskService.queryByUpperTaskId(returnData.getTaskId()); + if(stockComposeTaskList == null) { + writeSimpleScanTask(stockScan, errRouter); + log.info("扫码:{} 注册堆垛机任务查询任务失败", stockScan.getScanId()); + return; + } + if(!stockComposeTaskList.isEmpty()) { + // 存在任务 + AppStockComposeTask stockComposeTask = stockComposeTasks.getFirst(); + List stackerLocations = stackerLocationService.queryStackerLocationById(stockComposeTask.getDestination()); + if(stackerLocations == null) { + log.info("扫码:{} 注册堆垛机任务,终点位置查询数据库失败,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, errRouter); + return; + } + if(stackerLocations.isEmpty()) { + log.info("扫码:{} 注册堆垛机任务,终点位置不存在,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, errRouter); + return; + } + AppStackerLocation stackerLocation = stackerLocations.getFirst(); + short router = stackerLocation.getLaneId().shortValue(); + log.info("箱号:{} 在注册位置:{},存在入库任务任务,申请是返回的任务存在,巷道:{}", code, stockScan.getScanId(), router); + writeSimpleScanTask(stockScan, router); + return; + } + AppStockComposeTask stockComposeTask = new AppStockComposeTask(); + stockComposeTask.setTaskId(AppUUIDUtils.getNewUUID()); + stockComposeTask.setTaskGroup(AppStringUtils.isEmptyOr(returnData.getTaskGroup(), returnData.getTaskId())); + stockComposeTask.setUpperTaskId(returnData.getTaskId()); + stockComposeTask.setTaskType(returnData.getTaskType()); + stockComposeTask.setOrigin(returnData.getOrigin()); + stockComposeTask.setDestination(returnData.getDestination()); + stockComposeTask.setTaskStatus(StockComposeTaskStatusEnum.CREATE.getCode()); + stockComposeTask.setStepStatus(StockComposeTaskStepStatusEnum.CREATE.getCode()); + stockComposeTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + stockComposeTask.setPriority(returnData.getPriority() == null ? 5 : returnData.getPriority()); + stockComposeTask.setVehicleNo(returnData.getVehicleNo()); + stockComposeTask.setVehicleSize(returnData.getSize() == null ? 0 : returnData.getSize()); + stockComposeTask.setWeight(BigDecimal.valueOf(returnData.getWeight() == null ? 0 : returnData.getWeight())); + stockComposeTask.setCreateTime(LocalDateTime.now()); + stockComposeTask.setUpdateTime(LocalDateTime.now()); + stockComposeTask.setTaskSource(returnData.getSysName()); + stockComposeTask.setCreatePerson("?"); + int insertResult = stockComposeTaskService.insert(stockComposeTask); + if(insertResult <= 0) { + log.info("扫码:{} 注册堆垛机任务,任务插入失败,任务数据:{}", returnData.getVehicleNo(), AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, errRouter); + return; + } + List stackerLocations = stackerLocationService.queryStackerLocationById(stockComposeTask.getDestination()); + if(stackerLocations == null) { + log.info("扫码:{} 注册堆垛机任务,终点位置查询数据库失败,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, errRouter); + return; + } + if(stackerLocations.isEmpty()) { + log.info("扫码:{} 注册堆垛机任务,终点位置不存在,任务数据:{}", stockScan.getScanId(), AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, errRouter); + return; + } + AppStackerLocation stackerLocation = stackerLocations.getFirst(); + short router = stackerLocation.getLaneId().shortValue(); + log.info("箱号:{} 在注册位置:{},任务插入成功,巷道:{},任务数据:{}", code, stockScan.getScanId(), router, AppStringUtils.objectToString(stockComposeTask)); + writeSimpleScanTask(stockScan, router); + } + + + + + + /* ***********常用方法*********** */ + + /** + * 写入一个简单任务 + * @param stockScan 扫描任务 + * @param router 路由 + */ + private void writeSimpleScanTask(AppStockScan stockScan, Short router) { + ScanTask scanTask = new ScanTask(); + scanTask.setPlcTaskId(plcTaskIdHelper.newTaskId()); + scanTask.setDestination(router); + String writePlcErrorMessage = PlcCommunicationFactory.getPlcCommunicationByPlcId(stockScan.getPlcId()).writeScannerTask(stockScan.getScanId(), scanTask); + if(AppStringUtils.isNotEmpty(writePlcErrorMessage)) { + log.error("扫码:{},写入扫码任务失败,任务:{},异常信息:{}",stockScan.getScanId(), AppStringUtils.objectToString(scanTask), writePlcErrorMessage); + return; + } + log.info("扫码:{},扫码写入任务成功,任务:{}",stockScan.getScanId(),AppStringUtils.objectToString(scanTask)); + return; + } + + + +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/StockSingleTaskExecuteEvent.java b/wcs/src/main/java/org/wcs/business/stock/impl/StockSingleTaskExecuteEvent.java new file mode 100644 index 0000000..bcb3a21 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/StockSingleTaskExecuteEvent.java @@ -0,0 +1,294 @@ +package org.wcs.business.stock.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.stock.intf.IComposeTaskStatusReporter; +import org.wcs.business.stock.intf.IStockSingleTaskExecuteEvent; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.*; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.mapper.intf.AppStockComposeTaskService; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.mapper.intf.AppTrayConveyLocationService; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.model.po.app.AppStockSingleTask; +import org.wcs.model.po.app.AppTrayConveyLocation; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.TaskConveyTask; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Objects; + +/** + * 独立任务执行事件 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class StockSingleTaskExecuteEvent implements IStockSingleTaskExecuteEvent { + + private final AppStockSingleTaskService stockSingleTaskService; + private final AppStockComposeTaskService stockComposeTaskService; + private final AppStackerLocationService stackerLocationService; + private final IComposeTaskStatusReporter composeTaskStatusReporter; + private final AppTrayConveyLocationService trayConveyLocationService; + + + /** + * 任务开始 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + @Override + public String taskStart(AppStockSingleTask appStockSingleTask, String message) { + // 更新任务为执行中 + AppStockSingleTask stockSingleTaskUpdate = new AppStockSingleTask(); + stockSingleTaskUpdate.setTaskId(appStockSingleTask.getTaskId()); + stockSingleTaskUpdate.setTaskStatus(StockSingleTaskStatusEnum.EXECUTING.getCode()); + stockSingleTaskUpdate.setStartTime(LocalDateTime.now()); + stockSingleTaskUpdate.setTaskMsg(message); + boolean singleTaskUpdated = stockSingleTaskService.update(stockSingleTaskUpdate); + log.info("独立任务开始执行更新独立任务数据库行:{} 更新结果:{}", AppStringUtils.objectToString(appStockSingleTask), singleTaskUpdated); + // 更新库位状态 + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_IN.getCode())) { + // 入库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getDestination(), StackerLocationStatusEnum.IN_ING.getCode(), appStockSingleTask.getVehicleNo()); + } + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_OUT.getCode())) { + // 出库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getOrigin(), StackerLocationStatusEnum.OUT_ING.getCode(), appStockSingleTask.getVehicleNo()); + } + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_MOVE.getCode())) { + // 移库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getOrigin(), StackerLocationStatusEnum.OUT_ING.getCode(), appStockSingleTask.getVehicleNo()); + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getDestination(), StackerLocationStatusEnum.IN_ING.getCode(), appStockSingleTask.getVehicleNo()); + } + if(AppStringUtils.isEmpty(appStockSingleTask.getUpperTaskId())) { + return null; + } + // 查看主任务状态 + AppStockComposeTask stockComposeTask = stockComposeTaskService.queryByTaskId(appStockSingleTask.getUpperTaskId()); + if(stockComposeTask == null) { + log.info("独立任务开始执行检索组合任务数据服务异常,上位任务号:{}", appStockSingleTask.getUpperTaskId()); + return null; + } + if(!Objects.equals(stockComposeTask.getTaskStatus(), StockComposeTaskStatusEnum.EXECUTING.getCode())) { + AppStockComposeTask stockComposeTaskUpdate = new AppStockComposeTask(); + stockComposeTaskUpdate.setTaskId(stockComposeTask.getTaskId()); + stockComposeTaskUpdate.setTaskStatus(StockComposeTaskStatusEnum.EXECUTING.getCode()); + stockComposeTaskUpdate.setStepStatus(StockComposeTaskStepStatusEnum.RUNNING.getCode()); + stockComposeTaskUpdate.setCanCancel(TrueOrFalseEnum.FALSE.getCode()); + stockComposeTaskUpdate.setStartTime(LocalDateTime.now()); + stockComposeTaskUpdate.setTaskMsg(message); + boolean composeTaskUpdated = stockComposeTaskService.update(stockComposeTaskUpdate); + log.info("独立任务开始执行更新组合任务数据库行:{} 状态:{} 更新结果:{}", AppStringUtils.objectToString(stockComposeTask), StockComposeTaskStatusEnum.EXECUTING.getCode(), composeTaskUpdated); + composeTaskStatusReporter.taskStart(stockComposeTask, message); + } + return null; + } + + /** + * 任务完成 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + @Override + public String taskFinish(AppStockSingleTask appStockSingleTask, String message) { + // 更新任务为完成 + AppStockSingleTask stockSingleTaskUpdate = new AppStockSingleTask(); + stockSingleTaskUpdate.setTaskId(appStockSingleTask.getTaskId()); + stockSingleTaskUpdate.setTaskStatus(StockSingleTaskStatusEnum.COMPLETE.getCode()); + stockSingleTaskUpdate.setStartTime(LocalDateTime.now()); + stockSingleTaskUpdate.setTaskMsg(message); + boolean singleTaskUpdated = stockSingleTaskService.update(stockSingleTaskUpdate); + log.info("独立任务完成更新独立任务数据库行:{} 更新结果:{}", AppStringUtils.objectToString(appStockSingleTask), singleTaskUpdated); + // 更新库位状态 + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_IN.getCode())) { // 堆垛机入库 + // 入库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getDestination(), StackerLocationStatusEnum.OCCUPY.getCode(), appStockSingleTask.getVehicleNo()); + } + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_OUT.getCode())) { // 堆垛机出库 + // 出库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getOrigin(), StackerLocationStatusEnum.EMPTY.getCode(), ""); + // 出库完成后绑定载具号到输送机 + List destinationInfoList = trayConveyLocationService.getDataByLocationId(appStockSingleTask.getDestination()); + if(destinationInfoList != null && !destinationInfoList.isEmpty()) { + AppTrayConveyLocation destinationInfo = destinationInfoList.getFirst(); + TaskConveyTask taskConveyTask = new TaskConveyTask(); + taskConveyTask.setPlcTaskId(appStockSingleTask.getPlcTaskId()); + taskConveyTask.setTaskType(StockSingleTaskTypeEnum.BINDING_VEHICLE_NO.getCode().shortValue()); + taskConveyTask.setOrigin((short)0); + taskConveyTask.setDestination((short)0); + taskConveyTask.setVehicleSize(appStockSingleTask.getVehicleSize().shortValue()); + taskConveyTask.setWeight(appStockSingleTask.getWeight().intValue()); + taskConveyTask.setVehicleNo(appStockSingleTask.getVehicleNo()); + String writeTaskResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(destinationInfo.getPlcId()).writeTaskConveyTask(appStockSingleTask.getDestination(), taskConveyTask); + if(AppStringUtils.isNotEmpty(writeTaskResult)) { + log.warn("托盘线:{} 写入绑定载具号任务失败,站台:{},载具号:{}。原因:{}", appStockSingleTask.getTaskId(), appStockSingleTask.getDestination(),appStockSingleTask.getVehicleNo(), writeTaskResult); + } else { + log.info("托盘线:{} 写入绑定载具号任务成功,站台:{},载具号:{}", appStockSingleTask.getTaskId(), appStockSingleTask.getDestination(),appStockSingleTask.getVehicleNo()); + } + } + } + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_MOVE.getCode())) { // 堆垛机移库 + // 移库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getOrigin(), StackerLocationStatusEnum.EMPTY.getCode(), ""); + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getDestination(), StackerLocationStatusEnum.OCCUPY.getCode(), appStockSingleTask.getVehicleNo()); + } + return null; + } + + /** + * 任务异常 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + @Override + public String taskError(AppStockSingleTask appStockSingleTask, String message) { + // 更新任务为异常 + AppStockSingleTask stockSingleTaskUpdate = new AppStockSingleTask(); + stockSingleTaskUpdate.setTaskId(appStockSingleTask.getTaskId()); + stockSingleTaskUpdate.setTaskStatus(StockSingleTaskStatusEnum.ERROR.getCode()); + stockSingleTaskUpdate.setStartTime(LocalDateTime.now()); + stockSingleTaskUpdate.setTaskMsg(message); + boolean singleTaskUpdated = stockSingleTaskService.update(stockSingleTaskUpdate); + log.info("独立任务异常更新独立任务数据库行:{} 更新结果:{}", AppStringUtils.objectToString(appStockSingleTask), singleTaskUpdated); + return null; + } + + /** + * 任务取消 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + @Override + public String taskCancel(AppStockSingleTask appStockSingleTask, String message) { + // 更新任务为取消 + AppStockSingleTask stockSingleTaskUpdate = new AppStockSingleTask(); + stockSingleTaskUpdate.setTaskId(appStockSingleTask.getTaskId()); + stockSingleTaskUpdate.setTaskStatus(StockSingleTaskStatusEnum.CANCEL.getCode()); + stockSingleTaskUpdate.setStartTime(LocalDateTime.now()); + stockSingleTaskUpdate.setTaskMsg(message); + boolean singleTaskUpdated = stockSingleTaskService.update(stockSingleTaskUpdate); + log.info("独立任务取消更新独立任务数据库行:{} 更新结果:{}", AppStringUtils.objectToString(appStockSingleTask), singleTaskUpdated); + // 更新库位状态 + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_IN.getCode())) { + // 入库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getDestination(), StackerLocationStatusEnum.EMPTY.getCode(), ""); + } + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_OUT.getCode())) { + // 出库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getOrigin(), StackerLocationStatusEnum.OCCUPY.getCode(), appStockSingleTask.getVehicleNo()); + } + if(appStockSingleTask.getTaskType().equals(StockSingleTaskTypeEnum.STACKER_MOVE.getCode())) { + // 移库更新库位状态 + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getOrigin(), StackerLocationStatusEnum.OCCUPY.getCode(), appStockSingleTask.getVehicleNo()); + stackerLocationService.updateStatusAndVehicleNoById(appStockSingleTask.getDestination(), StackerLocationStatusEnum.EMPTY.getCode(), ""); + } + return null; + } + + /** + * 任务重复入库 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + @Override + public String taskDoubleIn(AppStockSingleTask appStockSingleTask, String message) { + // 更新任务为重复入库 + AppStockSingleTask stockSingleTaskUpdate = new AppStockSingleTask(); + stockSingleTaskUpdate.setTaskId(appStockSingleTask.getTaskId()); + stockSingleTaskUpdate.setTaskStatus(StockSingleTaskStatusEnum.ERROR.getCode()); + stockSingleTaskUpdate.setStartTime(LocalDateTime.now()); + stockSingleTaskUpdate.setTaskMsg("[重复入库]" + message); + boolean singleTaskUpdated = stockSingleTaskService.update(stockSingleTaskUpdate); + log.info("独立任务重复入库更新独立任务数据库行:{} 更新结果:{}", AppStringUtils.objectToString(appStockSingleTask), singleTaskUpdated); + if(AppStringUtils.isEmpty(appStockSingleTask.getUpperTaskId())) { + return null; + } + // 查看主任务状态 + AppStockComposeTask stockComposeTask = stockComposeTaskService.queryByTaskId(appStockSingleTask.getUpperTaskId()); + if(stockComposeTask == null) { + log.info("独立任务重复入库检索组合任务数据服务异常,上位任务号:{}", appStockSingleTask.getUpperTaskId()); + return null; + } + if(!Objects.equals(stockComposeTask.getTaskStatus(), StockComposeTaskStatusEnum.ERROR.getCode())) { + AppStockComposeTask stockComposeTaskUpdate = new AppStockComposeTask(); + stockComposeTaskUpdate.setTaskId(stockComposeTask.getTaskId()); + stockComposeTaskUpdate.setTaskStatus(StockComposeTaskStatusEnum.ERROR.getCode()); + stockComposeTaskUpdate.setStepStatus(StockComposeTaskStepStatusEnum.ERROR.getCode()); + stockComposeTaskUpdate.setStartTime(LocalDateTime.now()); + stockComposeTaskUpdate.setTaskMsg("[重复入库]" + message); + boolean composeTaskUpdated = stockComposeTaskService.update(stockComposeTaskUpdate); + log.info("独立任务重复入库更新组合任务数据库行:{} 状态:{} 更新结果:{}", AppStringUtils.objectToString(stockComposeTask), StockComposeTaskStatusEnum.EXECUTING.getCode(), composeTaskUpdated); + composeTaskStatusReporter.taskDoubleIn(stockComposeTask, message); + } + return null; + } + + /** + * 任务空出库 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + @Override + public String taskEmptyOut(AppStockSingleTask appStockSingleTask, String message) { + // 更新任务为空出库 + AppStockSingleTask stockSingleTaskUpdate = new AppStockSingleTask(); + stockSingleTaskUpdate.setTaskId(appStockSingleTask.getTaskId()); + stockSingleTaskUpdate.setTaskStatus(StockSingleTaskStatusEnum.CANCEL.getCode()); + stockSingleTaskUpdate.setStartTime(LocalDateTime.now()); + stockSingleTaskUpdate.setTaskMsg("[空出库]" + message); + boolean singleTaskUpdated = stockSingleTaskService.update(stockSingleTaskUpdate); + log.info("独立任务空出库更新独立任务数据库行:{} 更新结果:{}", AppStringUtils.objectToString(appStockSingleTask), singleTaskUpdated); + if(AppStringUtils.isEmpty(appStockSingleTask.getUpperTaskId())) { + return null; + } + // 查看主任务状态 + AppStockComposeTask stockComposeTask = stockComposeTaskService.queryByTaskId(appStockSingleTask.getUpperTaskId()); + if(stockComposeTask == null) { + log.info("独立任务空出库检索组合任务数据服务异常,上位任务号:{}", appStockSingleTask.getUpperTaskId()); + return null; + } + if(!Objects.equals(stockComposeTask.getTaskStatus(), StockComposeTaskStatusEnum.CANCEL.getCode())) { + AppStockComposeTask stockComposeTaskUpdate = new AppStockComposeTask(); + stockComposeTaskUpdate.setTaskId(stockComposeTask.getTaskId()); + stockComposeTaskUpdate.setTaskStatus(StockComposeTaskStatusEnum.CANCEL.getCode()); + stockComposeTaskUpdate.setStepStatus(StockComposeTaskStepStatusEnum.ERROR.getCode()); + stockComposeTaskUpdate.setStartTime(LocalDateTime.now()); + stockComposeTaskUpdate.setTaskMsg("[空出库]" + message); + boolean composeTaskUpdated = stockComposeTaskService.update(stockComposeTaskUpdate); + log.info("独立任务空出库更新组合任务数据库行:{} 状态:{} 更新结果:{}", AppStringUtils.objectToString(stockComposeTask), StockComposeTaskStatusEnum.EXECUTING.getCode(), composeTaskUpdated); + composeTaskStatusReporter.taskEmptyOut(stockComposeTask, message); + } + return null; + } + + /** + * 任务超时 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + @Override + public String taskTimeOut(AppStockSingleTask appStockSingleTask, String message) { + // 更新任务为任务超时 + AppStockSingleTask stockSingleTaskUpdate = new AppStockSingleTask(); + stockSingleTaskUpdate.setTaskId(appStockSingleTask.getTaskId()); + stockSingleTaskUpdate.setTaskStatus(StockSingleTaskStatusEnum.TIMEOUT.getCode()); + stockSingleTaskUpdate.setStartTime(LocalDateTime.now()); + stockSingleTaskUpdate.setTaskMsg(message); + boolean singleTaskUpdated = stockSingleTaskService.update(stockSingleTaskUpdate); + log.info("独立任务超时更新独立任务数据库行:{} 更新结果:{}", AppStringUtils.objectToString(appStockSingleTask), singleTaskUpdated); + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/AutoStockTaskDataCheck.java b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/AutoStockTaskDataCheck.java new file mode 100644 index 0000000..1b2c52c --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/AutoStockTaskDataCheck.java @@ -0,0 +1,25 @@ +package org.wcs.business.stock.impl.StockTaskDataCheck; + +import org.wcs.business.stock.StockComposeTaskManage; +import org.wcs.business.stock.intf.IStockTaskDataCheck; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.utils.SpringUtils; + +/** + * 自动任务 的数据检查 + */ +public class AutoStockTaskDataCheck implements IStockTaskDataCheck { + @Override + public String checkStockTaskData(AppStockComposeTask composeTask) { + StockComposeTaskManage stockComposeTaskManage = SpringUtils.getBean(StockComposeTaskManage.class); + boolean originExist = stockComposeTaskManage.checkLocationExist(composeTask.getOrigin()); + if(!originExist) { + return "自动任务起点位置不能为空"; + } + boolean destinationExist = stockComposeTaskManage.checkLocationExist(composeTask.getDestination()); + if(!destinationExist) { + return "自动任务终点位置不能为空"; + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/ConveyStockTaskDataCheck.java b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/ConveyStockTaskDataCheck.java new file mode 100644 index 0000000..4710d2a --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/ConveyStockTaskDataCheck.java @@ -0,0 +1,21 @@ +package org.wcs.business.stock.impl.StockTaskDataCheck; + +import org.wcs.business.stock.StockComposeTaskManage; +import org.wcs.business.stock.intf.IStockTaskDataCheck; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.utils.SpringUtils; + +/** + * 输送搬运任务数据检查 + */ +public class ConveyStockTaskDataCheck implements IStockTaskDataCheck { + @Override + public String checkStockTaskData(AppStockComposeTask composeTask) { + StockComposeTaskManage stockComposeTaskManage = SpringUtils.getBean(StockComposeTaskManage.class); + boolean destinationExist = stockComposeTaskManage.checkLocationExist(composeTask.getDestination()); + if(!destinationExist) { + return "搬运任务终点位置不能为空"; + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/InStockTaskDataCheck.java b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/InStockTaskDataCheck.java new file mode 100644 index 0000000..cfadd9b --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/InStockTaskDataCheck.java @@ -0,0 +1,21 @@ +package org.wcs.business.stock.impl.StockTaskDataCheck; + +import org.wcs.business.stock.StockComposeTaskManage; +import org.wcs.business.stock.intf.IStockTaskDataCheck; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.utils.SpringUtils; + +/** + * 入库任务数据检查 + */ +public class InStockTaskDataCheck implements IStockTaskDataCheck { + @Override + public String checkStockTaskData(AppStockComposeTask composeTask) { + StockComposeTaskManage stockComposeTaskManage = SpringUtils.getBean(StockComposeTaskManage.class); + boolean destinationExist = stockComposeTaskManage.checkLocationExist(composeTask.getDestination()); + if(!destinationExist) { + return "入库任务终点位置不能为空"; + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/MoveStockTaskDataCheck.java b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/MoveStockTaskDataCheck.java new file mode 100644 index 0000000..6f3f77b --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/MoveStockTaskDataCheck.java @@ -0,0 +1,25 @@ +package org.wcs.business.stock.impl.StockTaskDataCheck; + +import org.wcs.business.stock.StockComposeTaskManage; +import org.wcs.business.stock.intf.IStockTaskDataCheck; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.utils.SpringUtils; + +/** + * 移库任务数据检查 + */ +public class MoveStockTaskDataCheck implements IStockTaskDataCheck { + @Override + public String checkStockTaskData(AppStockComposeTask composeTask) { + StockComposeTaskManage stockComposeTaskManage = SpringUtils.getBean(StockComposeTaskManage.class); + boolean originExist = stockComposeTaskManage.checkLocationExist(composeTask.getOrigin()); + if(!originExist) { + return "移库任务起点位置不能为空"; + } + boolean destinationExist = stockComposeTaskManage.checkLocationExist(composeTask.getDestination()); + if(!destinationExist) { + return "移库任务终点位置不能为空"; + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/OutStockTaskDataCheck.java b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/OutStockTaskDataCheck.java new file mode 100644 index 0000000..78d1079 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/OutStockTaskDataCheck.java @@ -0,0 +1,21 @@ +package org.wcs.business.stock.impl.StockTaskDataCheck; + +import org.wcs.business.stock.StockComposeTaskManage; +import org.wcs.business.stock.intf.IStockTaskDataCheck; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.utils.SpringUtils; + +/** + * 出库任务数据检查 + */ +public class OutStockTaskDataCheck implements IStockTaskDataCheck { + @Override + public String checkStockTaskData(AppStockComposeTask composeTask) { + StockComposeTaskManage stockComposeTaskManage = SpringUtils.getBean(StockComposeTaskManage.class); + boolean originExist = stockComposeTaskManage.checkLocationExist(composeTask.getOrigin()); + if(!originExist) { + return "出库任务起点位置不能为空"; + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/UnknownStockTaskDataCheck.java b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/UnknownStockTaskDataCheck.java new file mode 100644 index 0000000..ae91c62 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/impl/StockTaskDataCheck/UnknownStockTaskDataCheck.java @@ -0,0 +1,14 @@ +package org.wcs.business.stock.impl.StockTaskDataCheck; + +import org.wcs.business.stock.intf.IStockTaskDataCheck; +import org.wcs.model.po.app.AppStockComposeTask; + +/** + * 未知任务数据检查 + */ +public class UnknownStockTaskDataCheck implements IStockTaskDataCheck { + @Override + public String checkStockTaskData(AppStockComposeTask composeTask) { + return "任务类型不支持"; + } +} diff --git a/wcs/src/main/java/org/wcs/business/stock/intf/IComposeTaskStatusReporter.java b/wcs/src/main/java/org/wcs/business/stock/intf/IComposeTaskStatusReporter.java new file mode 100644 index 0000000..2cfd6d3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/intf/IComposeTaskStatusReporter.java @@ -0,0 +1,58 @@ +package org.wcs.business.stock.intf; + +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppStockComposeTask; + +/** + * 组合式任务状态上报者 + */ +public interface IComposeTaskStatusReporter { + + /** + * 任务开始 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + Tuple2 taskStart(AppStockComposeTask composeTask, String message); + + /** + * 任务结束 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + Tuple2 taskFinish(AppStockComposeTask composeTask, String message); + + /** + * 任务异常 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + Tuple2 taskError(AppStockComposeTask composeTask, String message); + + /** + * 任务取消 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + Tuple2 taskCancel(AppStockComposeTask composeTask, String message); + + /** + * 任务重复入库 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + Tuple2 taskDoubleIn(AppStockComposeTask composeTask, String message); + + /** + * 任务空出 + * @param composeTask 任务信息 + * @param message 消息 + * @return <错误信息,响应数据 > + */ + Tuple2 taskEmptyOut(AppStockComposeTask composeTask, String message); +} diff --git a/wcs/src/main/java/org/wcs/business/stock/intf/IScanMethod.java b/wcs/src/main/java/org/wcs/business/stock/intf/IScanMethod.java new file mode 100644 index 0000000..c2cd705 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/intf/IScanMethod.java @@ -0,0 +1,26 @@ +package org.wcs.business.stock.intf; + +import org.wcs.model.po.app.AppStockScan; +import org.wcs.plugin.plc.model.ScanInfo; + +public interface IScanMethod { + + + /* 这个所有方法只能是这两个参数,不得改变 */ + + /** + * 注册任务,仅注册,成功则继续执行,失败则退回,成功写1,失败写2 + * @param stockScan 扫码器信息 + * @param scanInfo 扫码信息 + */ + void loginStackerTask(AppStockScan stockScan, ScanInfo scanInfo); + + /** + * 注册任务并根据返回值确定该进那个堆垛机 + * @param stockScan 扫码器信息 + * @param scanInfo 扫码信息 + */ + void loginStackerTaskSeed(AppStockScan stockScan, ScanInfo scanInfo); + + +} diff --git a/wcs/src/main/java/org/wcs/business/stock/intf/IStockSingleTaskExecuteEvent.java b/wcs/src/main/java/org/wcs/business/stock/intf/IStockSingleTaskExecuteEvent.java new file mode 100644 index 0000000..b461b50 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/intf/IStockSingleTaskExecuteEvent.java @@ -0,0 +1,68 @@ +package org.wcs.business.stock.intf; + +import org.wcs.model.po.app.AppStockSingleTask; + +/** + * 独立任务执行事件 + */ +public interface IStockSingleTaskExecuteEvent { + + /** + * 任务开始 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + String taskStart(AppStockSingleTask appStockSingleTask, String message); + + /** + * 任务完成 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + String taskFinish(AppStockSingleTask appStockSingleTask, String message); + + /** + * 任务异常 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + String taskError(AppStockSingleTask appStockSingleTask, String message); + + /** + * 任务取消 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + String taskCancel(AppStockSingleTask appStockSingleTask, String message); + + /** + * 任务重复入库 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + String taskDoubleIn(AppStockSingleTask appStockSingleTask, String message); + + /** + * 任务空出库 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + String taskEmptyOut(AppStockSingleTask appStockSingleTask, String message); + + /** + * 任务超时 + * @param appStockSingleTask 开始的任务 + * @param message 信息 + * @return 执行结果 + */ + String taskTimeOut(AppStockSingleTask appStockSingleTask, String message); + + + +} diff --git a/wcs/src/main/java/org/wcs/business/stock/intf/IStockTaskDataCheck.java b/wcs/src/main/java/org/wcs/business/stock/intf/IStockTaskDataCheck.java new file mode 100644 index 0000000..7677e07 --- /dev/null +++ b/wcs/src/main/java/org/wcs/business/stock/intf/IStockTaskDataCheck.java @@ -0,0 +1,16 @@ +package org.wcs.business.stock.intf; + +import org.wcs.model.po.app.AppStockComposeTask; + +/** + * 综合任务检查接口 + */ +public interface IStockTaskDataCheck { + + /** + * 检查仓储任务数据,若有问题则返回异常信息,没问题返回 null + * @param composeTask 任务 + * @return 异常信息 + */ + String checkStockTaskData(AppStockComposeTask composeTask); +} diff --git a/wcs/src/main/java/org/wcs/config/CorsConfig.java b/wcs/src/main/java/org/wcs/config/CorsConfig.java new file mode 100644 index 0000000..4f37574 --- /dev/null +++ b/wcs/src/main/java/org/wcs/config/CorsConfig.java @@ -0,0 +1,22 @@ +package org.wcs.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * 添加全局跨域允许 -- 无需配置,有 saToken 配置代管 + */ +//@Configuration +public class CorsConfig implements WebMvcConfigurer { +// @Override +// public void addCorsMappings(CorsRegistry registry) { +// // 添加映射路径 +// registry.addMapping("/**") +// .allowedOriginPatterns("*") // 允许哪些域的请求,星号代表允许所有 +// .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE") // 允许的方法 +// .allowedHeaders("*") // 允许的头部设置 +// .allowCredentials(true) // 是否发送cookie +// .maxAge(168000); // 预检间隔时间 +// } +} diff --git a/wcs/src/main/java/org/wcs/config/MybatisPlusConfig.java b/wcs/src/main/java/org/wcs/config/MybatisPlusConfig.java new file mode 100644 index 0000000..75e0178 --- /dev/null +++ b/wcs/src/main/java/org/wcs/config/MybatisPlusConfig.java @@ -0,0 +1,22 @@ +package org.wcs.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MybatisPlusConfig { + + /** + * 添加分页插件 + */ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加 + // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType + return interceptor; + } +} diff --git a/wcs/src/main/java/org/wcs/config/SaTokenConfigure.java b/wcs/src/main/java/org/wcs/config/SaTokenConfigure.java new file mode 100644 index 0000000..0405521 --- /dev/null +++ b/wcs/src/main/java/org/wcs/config/SaTokenConfigure.java @@ -0,0 +1,60 @@ +package org.wcs.config; + +import cn.dev33.satoken.SaManager; +import cn.dev33.satoken.context.SaHolder; +import cn.dev33.satoken.filter.SaServletFilter; +import cn.dev33.satoken.interceptor.SaInterceptor; +import cn.dev33.satoken.router.SaHttpMethod; +import cn.dev33.satoken.router.SaRouter; +import cn.dev33.satoken.stp.StpUtil; +import cn.dev33.satoken.util.SaResult; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class SaTokenConfigure implements WebMvcConfigurer { + // 注册拦截器 + @Override + public void addInterceptors(InterceptorRegistry registry) { + // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。 + registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin())) + .addPathPatterns("/**") + .excludePathPatterns("/**/user/login", "/**/app/system/**", "/api/pub/**"); + } + + /** + * 注册 [Sa-Token 全局过滤器] + */ + @Bean + public SaServletFilter getSaServletFilter() { + return new SaServletFilter() + // 指定 [拦截路由] 与 [放行路由] + .addInclude("/**") + // 认证函数: 每次请求执行 + .setAuth(obj -> { +// SaManager.getLog().debug("----- 请求path={} 提交token={}", SaHolder.getRequest().getRequestPath(), StpUtil.getTokenValue()); + }) + // 异常处理函数:每次认证函数发生异常时执行此函数 + .setError(e -> { + return SaResult.error(e.getMessage()); + }) + // 前置函数:在每次认证函数之前执行 + .setBeforeAuth(obj -> {SaHolder.getResponse() + // ---------- 设置跨域响应头 ---------- + // 允许指定域访问跨域资源 + .setHeader("Access-Control-Allow-Origin", "*") + // 允许所有请求方式 + .setHeader("Access-Control-Allow-Methods", "*") + // 允许的header参数 + .setHeader("Access-Control-Allow-Headers", "*") + // 有效时间 + .setHeader("Access-Control-Max-Age", "3600"); + // 如果是预检请求,则立即返回到前端 + SaRouter.match(SaHttpMethod.OPTIONS) +// .free(r -> System.out.println("--------OPTIONS预检请求,不做处理")) + .back(); + }); + } +} diff --git a/wcs/src/main/java/org/wcs/constant/ConstantData.java b/wcs/src/main/java/org/wcs/constant/ConstantData.java new file mode 100644 index 0000000..82347ed --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/ConstantData.java @@ -0,0 +1,30 @@ +package org.wcs.constant; + +/** + * 系统常量 + */ +public class ConstantData { + + public static final String SYSTEM_NAME = "WCS"; + + /** + * 占位字符 + */ + public static final String OCCUPY_CHAR = "-"; + + /** + * 读码失败的返回值 + */ + public static final String NO_READ = "NoRead"; + + /** + * 堆垛机区域前缀 + */ + public static final String STACKER_AREA_PREFIX = "STACKER_AREA_"; + + /** + * 输送线区域前缀 + */ + public static final String CONVEY_AREA_PREFIX = "CONVEY_AREA_"; + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/business/LocationTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/business/LocationTypeEnum.java new file mode 100644 index 0000000..bee2091 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/business/LocationTypeEnum.java @@ -0,0 +1,23 @@ +package org.wcs.constant.enums.business; + +import lombok.Getter; + +@Getter +public enum LocationTypeEnum { + + UNKNOWN(0, "未知点位"), // 保底,未知点位 + STACKER(1, "堆垛机"), // 堆垛机 ---- 堆垛机站台也算 + CONVEY(2, "输送线"), // 箱式线 + TRAY_CONVEY(3, "托盘线"), // 托盘线 + AGV(4, "AGV"), // AGV + SHUTTLE(5, "四项车"); // 四项车 + + private final Integer code; + private final String desc; + + LocationTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/business/LxLedColor.java b/wcs/src/main/java/org/wcs/constant/enums/business/LxLedColor.java new file mode 100644 index 0000000..9b0718b --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/business/LxLedColor.java @@ -0,0 +1,20 @@ +package org.wcs.constant.enums.business; + +import lombok.Getter; + +@Getter +public enum LxLedColor { + + RED(0xFF, "红色"), + GREEN(0xFF00, "绿色"), + YELLOW(0xFFFF, "黄色"); + + private final int value; + private final String name; + + private LxLedColor(int value, String name) { + this.value = value; + this.name = name; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/business/SimpleTaskEnum.java b/wcs/src/main/java/org/wcs/constant/enums/business/SimpleTaskEnum.java new file mode 100644 index 0000000..00e0fc6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/business/SimpleTaskEnum.java @@ -0,0 +1,33 @@ +package org.wcs.constant.enums.business; + +import lombok.Getter; + +@Getter +public enum SimpleTaskEnum { + + UNKNOWN(0, "未知任务"), + STACKER(1, "堆垛机任务"), + CONVEY(2, "输送任务"), + TRAY_CONVEY(3, "托盘输送任务"), + AGV(4, "AGV任务"), + SHUTTLE(5, "穿梭车任务"); + + private final Integer taskType; + private final String taskName; + + SimpleTaskEnum(Integer taskType, String taskName) { + this.taskType = taskType; + this.taskName = taskName; + } + + public static SimpleTaskEnum getSimpleTaskEnum(LocationTypeEnum locationType) { + return switch (locationType) { + case LocationTypeEnum.STACKER -> STACKER; + case LocationTypeEnum.CONVEY -> CONVEY; + case LocationTypeEnum.TRAY_CONVEY -> TRAY_CONVEY; + case LocationTypeEnum.AGV -> AGV; + case LocationTypeEnum.SHUTTLE -> SHUTTLE; + default -> UNKNOWN; + }; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/business/SseEventTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/business/SseEventTypeEnum.java new file mode 100644 index 0000000..3973e6d --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/business/SseEventTypeEnum.java @@ -0,0 +1,23 @@ +package org.wcs.constant.enums.business; + +import lombok.Getter; + +/** + * SSE事件类型枚举 + */ +@Getter +public enum SseEventTypeEnum { + + RUNNING_INFO("RUNNING_INFO", "运行记录"), + SYSTEM_INFO("SYSTEM_INFO", "系统信息"); + + private final String code; + private final String desc; + + SseEventTypeEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/common/OnOrOffEnum.java b/wcs/src/main/java/org/wcs/constant/enums/common/OnOrOffEnum.java new file mode 100644 index 0000000..4c0958b --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/common/OnOrOffEnum.java @@ -0,0 +1,28 @@ +package org.wcs.constant.enums.common; + +import lombok.Getter; + +@Getter +public enum OnOrOffEnum { + + UNKNOWN(-1, "未知"), + TRUE(1, "启用"), + FALSE(0, "停用"); + + private final int code; + private final String msg; + + OnOrOffEnum(int code, String msg) { + this.code = code; + this.msg = msg; + } + + public static OnOrOffEnum getByCode(int code) { + for (OnOrOffEnum value : OnOrOffEnum.values()) { + if (value.code == code) { + return value; + } + } + return UNKNOWN; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/common/TrueOrFalseEnum.java b/wcs/src/main/java/org/wcs/constant/enums/common/TrueOrFalseEnum.java new file mode 100644 index 0000000..45bdbdf --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/common/TrueOrFalseEnum.java @@ -0,0 +1,29 @@ +package org.wcs.constant.enums.common; + +import lombok.Getter; + +@Getter +public enum TrueOrFalseEnum { + + UNKNOWN(-1, "未知"), + TRUE(1, "是"), + FALSE(0, "否"); + + private final int code; + private final String msg; + + TrueOrFalseEnum(int code, String msg) { + this.code = code; + this.msg = msg; + } + + public static TrueOrFalseEnum getByCode(int code) { + for (TrueOrFalseEnum value : TrueOrFalseEnum.values()) { + if (value.code == code) { + return value; + } + } + return UNKNOWN; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/BaseErroorEquipmentTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/BaseErroorEquipmentTypeEnum.java new file mode 100644 index 0000000..922e26e --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/BaseErroorEquipmentTypeEnum.java @@ -0,0 +1,31 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 基础资料里面的设备类型枚举 + */ +@Getter +public enum BaseErroorEquipmentTypeEnum { + STACKER(0, "堆垛机"), + TRAY_CONVEY(1, "托盘线"), + CONVEY(2, "箱式线"), + CAR(3, "小车"); + + private final Integer code; + private final String name; + + BaseErroorEquipmentTypeEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + + public static String getName(Integer code) { + for (BaseErroorEquipmentTypeEnum value : BaseErroorEquipmentTypeEnum.values()) { + if (value.code.equals(code)) { + return value.name; + } + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorLevelEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorLevelEnum.java new file mode 100644 index 0000000..3443644 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorLevelEnum.java @@ -0,0 +1,33 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 报警等级枚举 + */ +@Getter +public enum BaseErrorLevelEnum { + + NORMAL(0, "普通"), + WARNING(1, "注意"), + EMERGENCY(2, "紧急"), + FATAL(3, "致命"); + + private final Integer code; + private final String name; + + public static String getName(Integer code) { + for (BaseErrorLevelEnum value : BaseErrorLevelEnum.values()) { + if (value.code.equals(code)) { + return value.name; + } + } + return null; + } + + + BaseErrorLevelEnum(Integer code, String name) { + this.code = code; + this.name = name; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorTypeEnum.java new file mode 100644 index 0000000..e8f2e10 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/BaseErrorTypeEnum.java @@ -0,0 +1,32 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 报警类型枚举 + */ +@Getter +public enum BaseErrorTypeEnum { + + NET_ERROR(0, "网络异常"), + POWER_ERROR(3, "电源异常"), + EQUIPMENT_ERROR(2, "设备异常"); + + private final Integer code; + private final String name; + + BaseErrorTypeEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + + public static String getName(Integer code) { + for (BaseErrorTypeEnum value : BaseErrorTypeEnum.values()) { + if (value.code.equals(code)) { + return value.name; + } + } + return null; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/ConveyPickStandTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/ConveyPickStandTypeEnum.java new file mode 100644 index 0000000..8a905d6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/ConveyPickStandTypeEnum.java @@ -0,0 +1,21 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 输送线捡选站台类型枚举 + */ +@Getter +public enum ConveyPickStandTypeEnum { + + BOX(0, "箱式线"), + TRAY(1, "托盘线"); + + private final Integer code; + private final String message; + + ConveyPickStandTypeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskStatusEnum.java new file mode 100644 index 0000000..8fa21a6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskStatusEnum.java @@ -0,0 +1,30 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +@Getter +public enum ConveyTaskStatusEnum { + CREATED(0, "创建"), + PRINTED(1, "已打印"), + RUNNING(2, "运行中"), + ARRIVE(3, "已到达"), + ERROR(4, "错误"), + TIME_OUT(5, "超时"), + CANCEL(6, "取消"); + + private final Integer code; + private final String msg; + + ConveyTaskStatusEnum(Integer code, String msg) { + this.code = code; + this.msg = msg; + } + public static String getMsgByCode(Integer code) { + for (ConveyTaskStatusEnum value : ConveyTaskStatusEnum.values()) { + if (value.getCode().equals(code)) { + return value.getMsg(); + } + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskTypeEnum.java new file mode 100644 index 0000000..ed373dd --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/ConveyTaskTypeEnum.java @@ -0,0 +1,46 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 箱式线任务类型枚举 + */ +@Getter +public enum ConveyTaskTypeEnum { + PICK(1, "捡选任务"), + CHECK(2, "复核任务"), + SEND(3, "发货任务"), + PUT(4, "补货任务"); + + private final Integer code; + private final String msg; + + ConveyTaskTypeEnum(Integer code, String msg) { + this.code = code; + this.msg = msg; + } + + public static String getMsgByCode(Integer code) { + for (ConveyTaskTypeEnum value : ConveyTaskTypeEnum.values()) { + if (value.code.equals(code)) { + return value.msg; + } + } + return null; + } + + /** + * 判断是否存在 + * @param code 任务类型 + * @return 存在结果 + */ + public static boolean isExist(Integer code) { + for (ConveyTaskTypeEnum value : ConveyTaskTypeEnum.values()) { + if (value.code.equals(code)) { + return true; + } + } + return false; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/ETagTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/ETagTypeEnum.java new file mode 100644 index 0000000..9acd89d --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/ETagTypeEnum.java @@ -0,0 +1,26 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 电子标签种类 + */ +@Getter +public enum ETagTypeEnum { + + NUMBER_BUTTON_3(1, "3位数字带按钮"), + NUMBER_BUTTON_7(2, "7位数字带按钮"), + SCAN(3, "扫描枪"), + LIGHT(4, "单色灯"), + NUMBER_ENGLISH_BUTTON_12(5, "12位数字英文带按钮"), + NUMBER_CHINESE_BUTTON_12(6, "12位数字中文带按钮"); + + private final Integer code; + private final String desc; + + ETagTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/EquipmentTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/EquipmentTypeEnum.java new file mode 100644 index 0000000..0a505ba --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/EquipmentTypeEnum.java @@ -0,0 +1,23 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 设备类型枚举 + */ +@Getter +public enum EquipmentTypeEnum { + + STACKER(1, "堆垛机"), + CONVEY(2, "传送带"); + + private final Integer code; + private final String name; + + EquipmentTypeEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskLightModelEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskLightModelEnum.java new file mode 100644 index 0000000..64080e1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskLightModelEnum.java @@ -0,0 +1,21 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 电子标签任务点亮模式枚举类 + */ +@Getter +public enum EtagTaskLightModelEnum { + + IMMEDIATELY(1, "立即点亮"), + WAITING(2, "等待点亮"); + + private final Integer code; + private final String message; + + EtagTaskLightModelEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskStatusEnum.java new file mode 100644 index 0000000..c64e77d --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskStatusEnum.java @@ -0,0 +1,26 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 电子标签任务状态枚举类 + */ +@Getter +public enum EtagTaskStatusEnum { + + NOT_ACTIVATED(0, "未激活"), // 待处理 + ACTIVATED(1, "已激活"), // 待点亮 + LIGHTING(2, "正在点亮"), + CONFIRM(3, "已确认"), + ERROR(4, "异常"); + + private final Integer code; + private final String message; + + EtagTaskStatusEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskTypeEnum.java new file mode 100644 index 0000000..a466ba7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/EtagTaskTypeEnum.java @@ -0,0 +1,24 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 电子标签任务类型枚举类 + */ +@Getter +public enum EtagTaskTypeEnum { + + PICK(1, "拣货"), + PUT(2, "上架"), + CHECK(3, "盘点"), + CLEAN(4, "清点"), + OTHER(5, "其他"); + + private final Integer code; + private final String message; + + EtagTaskTypeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/PlcTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/PlcTypeEnum.java new file mode 100644 index 0000000..0dc8858 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/PlcTypeEnum.java @@ -0,0 +1,26 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +@Getter +public enum PlcTypeEnum { + + SIEMENS(1, "西门子"); + + private final Integer code; + private final String message; + + PlcTypeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + public static PlcTypeEnum getMessage(Integer code) { + for (PlcTypeEnum value : PlcTypeEnum.values()) { + if (value.code.equals(code)) { + return value; + } + } + return PlcTypeEnum.SIEMENS; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StackerLocationStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StackerLocationStatusEnum.java new file mode 100644 index 0000000..6bc04d9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StackerLocationStatusEnum.java @@ -0,0 +1,35 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; +import lombok.Setter; + +/** + * 堆垛机库位状态枚举 + */ +@Getter +public enum StackerLocationStatusEnum { + + UNKNOWN(-1, "未知"), + EMPTY(0, "空闲"), + IN_ING(1, "入库中"), + OUT_ING(2, "出库中"), + OCCUPY(3, "占用"), + FORBIDDEN(9, "禁用"); + + private final Integer code; + private final String message; + + StackerLocationStatusEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + public static StackerLocationStatusEnum getMessageByCode(Integer code) { + for (StackerLocationStatusEnum value : StackerLocationStatusEnum.values()) { + if (value.code.equals(code)) { + return value; + } + } + return StackerLocationStatusEnum.UNKNOWN; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StackerStandInTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StackerStandInTypeEnum.java new file mode 100644 index 0000000..5e6cd6c --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StackerStandInTypeEnum.java @@ -0,0 +1,20 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 入库站台的入库模式 + */ +@Getter +public enum StackerStandInTypeEnum { + IMMEDIATELY(0, "立即入库"), + CHECK_CODE(1, "验证条码入库"); + + private final Integer code; + private final String name; + + StackerStandInTypeEnum(Integer code, String name) { + this.code = code; + this.name = name; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStatusEnum.java new file mode 100644 index 0000000..277cb85 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStatusEnum.java @@ -0,0 +1,52 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +/** + * 组合式任务表任务状态枚举 + */ +@Getter +public enum StockComposeTaskStatusEnum { + + UNKNOWN(-1, "未知"), + CREATE(0, "新建待执行"), + QUEUE(1, "排队中"), + EXECUTING(2, "执行中"), + COMPLETE(3, "已完成"), + CANCEL(4, "已取消"), + ERROR(5, "任务异常"), + TIMEOUT(6, "任务超时"); + + private final Integer code; + private final String msg; + + StockComposeTaskStatusEnum(Integer code, String msg) { + this.code = code; + this.msg = msg; + } + + public static StockComposeTaskStatusEnum getByCode(Integer code) { + for (StockComposeTaskStatusEnum stockComposeTaskStatusEnum : StockComposeTaskStatusEnum.values()) { + if (stockComposeTaskStatusEnum.getCode().equals(code)) { + return stockComposeTaskStatusEnum; + } + } + return StockComposeTaskStatusEnum.UNKNOWN; + } + + /** + * 获取所有非执行状态 + * + * @return 未执行状态 + */ + public static List getAllNotExecuteStatus() { + return List.of(StockComposeTaskStatusEnum.CREATE.getCode(), StockComposeTaskStatusEnum.QUEUE.getCode()); + } + + + + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStepStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStepStatusEnum.java new file mode 100644 index 0000000..736da6d --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskStepStatusEnum.java @@ -0,0 +1,36 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 组合式任务步骤状态枚举 + */ +@Getter +public enum StockComposeTaskStepStatusEnum { + + UNKNOWN(-1, "未知"), + CREATE(0, "新建待执行"), + RUNNING(1, "执行中"), + COMPLETE(3, "已完成"), + CANCEL(4, "已取消"), + ERROR(5, "任务异常"), + LEVEL_ORIGIN(6, "离开起点"), + ARRIVE_DESTINATION(7, "到达终点"); + + private final Integer code; + private final String msg; + + StockComposeTaskStepStatusEnum(Integer code, String msg) { + this.code = code; + this.msg = msg; + } + + public static StockComposeTaskStepStatusEnum getByCode(Integer code) { + for (StockComposeTaskStepStatusEnum value : StockComposeTaskStepStatusEnum.values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return StockComposeTaskStepStatusEnum.UNKNOWN; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskTypeEnum.java new file mode 100644 index 0000000..8dbbb08 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StockComposeTaskTypeEnum.java @@ -0,0 +1,52 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; +import org.wcs.business.stock.impl.StockTaskDataCheck.*; +import org.wcs.business.stock.intf.IStockTaskDataCheck; + +import java.util.List; + +@Getter +public enum StockComposeTaskTypeEnum { + + UNKNOWN(-1, "未知", new UnknownStockTaskDataCheck()), + AUTO(0, "自动任务", new AutoStockTaskDataCheck()), + IN(1, "入库", new InStockTaskDataCheck()), + OUT(2, "出库", new OutStockTaskDataCheck()), + MOVE(9, "移库", new MoveStockTaskDataCheck()), + CONVEY(3, "输送搬运", new ConveyStockTaskDataCheck()); + + private final Integer code; + private final String msg; + private final IStockTaskDataCheck stockTaskDataCheck; + + StockComposeTaskTypeEnum(Integer code, String msg, IStockTaskDataCheck stockTaskDataCheck) { + this.code = code; + this.msg = msg; + this.stockTaskDataCheck = stockTaskDataCheck; + } + + public static StockComposeTaskTypeEnum getByCode(Integer code) { + for (StockComposeTaskTypeEnum value : StockComposeTaskTypeEnum.values()) { + if (value.code.equals(code)) { + return value; + } + } + return StockComposeTaskTypeEnum.UNKNOWN; + } + + /** + * 是否自动计算路径 + * + * @param code 组合任务类型 + * @return true:是 + */ + public static boolean autoCalculateCourseType(Integer code) { + if (code == null) { + return false; + } + return List.of(IN, OUT, MOVE).contains(StockComposeTaskTypeEnum.getByCode(code)); + } + + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StockExecuteEquipmentEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StockExecuteEquipmentEnum.java new file mode 100644 index 0000000..035363b --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StockExecuteEquipmentEnum.java @@ -0,0 +1,39 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; +import org.wcs.constant.enums.business.LocationTypeEnum; + +/** + * 订单执行设备枚举 + */ +@Getter +public enum StockExecuteEquipmentEnum { + UNKNOWN(0, "未知"), + STACKER(1, "堆垛机"), + CONVEYOR(2, "输送线"), + SHUTTLE(3, "穿梭车"), + STOCK_BOX(4, "货柜"), + RGV(5, "RGV"), + AGV(6, "AGV"), + TRAY(7, "托盘"); + + private final Integer code; + private final String name; + + StockExecuteEquipmentEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + + + public static StockExecuteEquipmentEnum getExecuteEquipment(LocationTypeEnum locationType) { + return switch (locationType) { + case STACKER -> STACKER; + case CONVEY -> CONVEYOR; + case AGV -> AGV; + case SHUTTLE -> SHUTTLE; + case TRAY_CONVEY -> TRAY; + default -> UNKNOWN; + }; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StockScanTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StockScanTypeEnum.java new file mode 100644 index 0000000..374dfc5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StockScanTypeEnum.java @@ -0,0 +1,17 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +@Getter +public enum StockScanTypeEnum { + PLC_SCAN(0, "plc转发"), + TCP_SCAN(1, "tcp直连"); + + private final Integer code; + private final String desc; + + StockScanTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskStatusEnum.java new file mode 100644 index 0000000..8633aac --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskStatusEnum.java @@ -0,0 +1,43 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +import java.util.List; + +@Getter +public enum StockSingleTaskStatusEnum { + + UNKNOWN(-1, "未知"), + CREATE(0, "新建待执行"), + QUEUE(1, "排队中"), + EXECUTING(2, "执行中"), + COMPLETE(3, "已完成"), + CANCEL(4, "已取消"), + ERROR(5, "任务异常"), + TIMEOUT(6, "任务超时"); + + private final Integer code; + private final String msg; + + StockSingleTaskStatusEnum(Integer code, String msg) { + this.code = code; + this.msg = msg; + } + + public static StockComposeTaskStatusEnum getByCode(int code) { + for (StockComposeTaskStatusEnum stockComposeTaskStatusEnum : StockComposeTaskStatusEnum.values()) { + if (stockComposeTaskStatusEnum.getCode().equals(code)) { + return stockComposeTaskStatusEnum; + } + } + return StockComposeTaskStatusEnum.UNKNOWN; + } + + /** + * 获取未完成状态码 + * @return 未完成状态码 + */ + public static List notFinishedCodes() { + return List.of(CREATE.getCode(), QUEUE.getCode(), EXECUTING.getCode(), TIMEOUT.getCode()); + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskTypeEnum.java new file mode 100644 index 0000000..68c538e --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/StockSingleTaskTypeEnum.java @@ -0,0 +1,123 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; +import org.wcs.constant.enums.business.SimpleTaskEnum; + +import java.util.List; + +/** + * 单项任务类型枚举 + */ +@Getter +public enum StockSingleTaskTypeEnum { + + STACKER_AUTO(-1, "堆垛机自动任务"), + + UNKNOWN(0, "未知任务"), + + STACKER_IN(1, "堆垛机入库"), + STACKER_OUT(2, "堆垛机出库"), + STACKER_MOVE(9, "堆垛机移库"), + CONVEY_IN(4, "输送入库"), + CONVEY_OUT(5, "输送出库"), + CONVEY_MOVE(6, "输送移动"), + CONVEY_PICK(7, "输送线捡选"), + CONVEY_CHECK(8, "输送线复核"), + + AGV(11, "AGV任务"), + SHUTTLE(10, "穿梭车任务"), + + BINDING_VEHICLE_NO(12, "绑定载具号任务"); // 这个一版时载具号搬运出来后将载具号绑定到输送机上 + + + + private final Integer code; + private final String desc; + + StockSingleTaskTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public static StockSingleTaskTypeEnum getByCode(Integer code) { + if (code == null) { + return UNKNOWN; + } + for (StockSingleTaskTypeEnum value : values()) { + if (value.code.equals(code)) { + return value; + } + } + return UNKNOWN; + } + + /** + * 获取所有堆垛机任务类型 + * @return 堆垛机任务类型 + */ + public static List getAllStackerTaskType() { + return List.of(STACKER_IN.getCode(), STACKER_OUT.getCode(), STACKER_MOVE.getCode()); + } + + /** + * 获取所有输送任务类型 + * @return 输送任务类型 + */ + public static List getAllConveyTaskType() { + return List.of(CONVEY_IN.getCode(), CONVEY_OUT.getCode(), CONVEY_MOVE.getCode()); + } + + /** + * 根据简单任务类型获取堆垛机任务类型 + * @param simpleTaskType 简单任务类型 + * @return 堆垛机任务类型 + */ + public static StockSingleTaskTypeEnum getBySimpleTaskType(SimpleTaskEnum simpleTaskType) { + return switch (simpleTaskType) { + case STACKER -> STACKER_AUTO; + case CONVEY, TRAY_CONVEY -> CONVEY_MOVE; + case AGV -> AGV; + case SHUTTLE -> SHUTTLE; + default -> UNKNOWN; + }; + } + + public static StockSingleTaskTypeEnum getByComposeTaskTypeAndExecuteMachine(StockComposeTaskTypeEnum composeTaskType, StockExecuteEquipmentEnum executeMachine) { + if(executeMachine == StockExecuteEquipmentEnum.STACKER && composeTaskType == StockComposeTaskTypeEnum.IN) { + return StockSingleTaskTypeEnum.STACKER_IN; // 入库 + } + if(executeMachine == StockExecuteEquipmentEnum.STACKER && composeTaskType == StockComposeTaskTypeEnum.OUT) { + return StockSingleTaskTypeEnum.STACKER_OUT; // 出库 + } + if(executeMachine == StockExecuteEquipmentEnum.STACKER && composeTaskType == StockComposeTaskTypeEnum.MOVE) { + return StockSingleTaskTypeEnum.STACKER_MOVE; // 移库 + } + if(executeMachine == StockExecuteEquipmentEnum.TRAY && composeTaskType == StockComposeTaskTypeEnum.IN) { + return StockSingleTaskTypeEnum.CONVEY_IN; + } + if(executeMachine == StockExecuteEquipmentEnum.TRAY && composeTaskType == StockComposeTaskTypeEnum.OUT) { + return StockSingleTaskTypeEnum.CONVEY_OUT; + } + if(executeMachine == StockExecuteEquipmentEnum.TRAY && composeTaskType == StockComposeTaskTypeEnum.MOVE) { + return StockSingleTaskTypeEnum.CONVEY_MOVE; + } + return UNKNOWN; + } + + /** + * 输送任务类型转换成PLC任务类型 + * @param taskType 输送任务类型 + * @return PLC任务类型 + */ + public static short conveyTaskTypeToPlc(Integer taskType) { + StockSingleTaskTypeEnum taskTypeEnum = getByCode(taskType); + return switch (taskTypeEnum) { + case CONVEY_IN -> 1; + case CONVEY_OUT -> 2; + case CONVEY_MOVE -> 3; + default -> 0; + }; + + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/TrayConveyLocationTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/TrayConveyLocationTypeEnum.java new file mode 100644 index 0000000..a6fc169 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/TrayConveyLocationTypeEnum.java @@ -0,0 +1,31 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; +import org.wcs.constant.enums.common.OnOrOffEnum; + +@Getter +public enum TrayConveyLocationTypeEnum { + + UNKNOWN(-1, "未知"), + TRUE(1, "任务点"), + FALSE(0, "普通点"); + + private final int code; + private final String msg; + + TrayConveyLocationTypeEnum(int code, String msg) { + this.code = code; + this.msg = msg; + } + + public static TrayConveyLocationTypeEnum getByCode(int code) { + for (TrayConveyLocationTypeEnum value : TrayConveyLocationTypeEnum.values()) { + if (value.code == code) { + return value; + } + } + return UNKNOWN; + } + + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/UserLevelEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/UserLevelEnum.java new file mode 100644 index 0000000..d15e036 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/UserLevelEnum.java @@ -0,0 +1,23 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 用户级别枚举 + */ +@Getter +public enum UserLevelEnum { + + NORMAL(0, "普通用户"), + MIDDLE(1, "中级用户"), + ADMIN(3, "管理员"), + TOP(4, "顶级用户"); + + private final Integer level; + private final String name; + + UserLevelEnum(Integer level, String name) { + this.level = level; + this.name = name; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/database/UserStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/database/UserStatusEnum.java new file mode 100644 index 0000000..7d7a1c8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/database/UserStatusEnum.java @@ -0,0 +1,23 @@ +package org.wcs.constant.enums.database; + +import lombok.Getter; + +/** + * 用户账户状态枚举 + */ +@Getter +public enum UserStatusEnum { + + CREATE(0, "创建"), + OK(1, "正常"), + DISABLE(2, "禁用"), + LOCK(3, "锁定"); + + private final Integer code; + private final String desc; + UserStatusEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/http/ConveyCallBackStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/http/ConveyCallBackStatusEnum.java new file mode 100644 index 0000000..7345f11 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/http/ConveyCallBackStatusEnum.java @@ -0,0 +1,22 @@ +package org.wcs.constant.enums.http; + +import lombok.Getter; + +/** + * 箱式线任务回传状态枚举 + */ +@Getter +public enum ConveyCallBackStatusEnum { + START(1, "开始"), + FINISH(2, "完成"), + ERROR(3, "错误"), + CANCEL(4, "取消"); + + private final Integer code; + private final String message; + + ConveyCallBackStatusEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/http/StockCallBackStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/http/StockCallBackStatusEnum.java new file mode 100644 index 0000000..eb5c661 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/http/StockCallBackStatusEnum.java @@ -0,0 +1,25 @@ +package org.wcs.constant.enums.http; + +import lombok.Getter; + +/** + * 仓库系统回调状态枚举 + */ +@Getter +public enum StockCallBackStatusEnum { + + START(1, "开始"), + FINISH(2, "完成"), + ERROR(3, "错误"), + CANCEL(4, "取消"), + DOUBLE_IN(5, "重复入库"), + EMPTY_OUT(6, "空出"); + + private final Integer code; + private final String message; + + StockCallBackStatusEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/plc/StackerControllerModelEnum.java b/wcs/src/main/java/org/wcs/constant/enums/plc/StackerControllerModelEnum.java new file mode 100644 index 0000000..fa8b72e --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/plc/StackerControllerModelEnum.java @@ -0,0 +1,26 @@ +package org.wcs.constant.enums.plc; + +import lombok.Getter; + +/** + * 堆垛机控制方式枚举 + */ +@Getter +public enum StackerControllerModelEnum { + + OFF_LINE(0, "离线"), + SELF_LEARNING(1, "自学习"), + DEBUG(2, "调试模式"), + MANUAL(3, "手动模式"), + ALONE(4, "单机模式"), + AUTO(5, "自动模式"); + + private final Integer code; + private final String desc; + + StackerControllerModelEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/plc/StackerDeviceStatusEnum.java b/wcs/src/main/java/org/wcs/constant/enums/plc/StackerDeviceStatusEnum.java new file mode 100644 index 0000000..8c71d4a --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/plc/StackerDeviceStatusEnum.java @@ -0,0 +1,34 @@ +package org.wcs.constant.enums.plc; + +import lombok.Getter; + +/** + * 堆垛机设备状态枚举 + */ +@Getter +public enum StackerDeviceStatusEnum { + + OFF_LINE(0, "离线"), + FREE(1, "空闲"), + ACCEPT_TASK(2, "接收任务"), + GET_MOVE(3, "取货移动"), + GETTING(4, "取货中"), + GET_COMPLETE(5, "取货完成"), + SET_MOVE(6, "放货移动"), + SETTING(7, "放货中"), + SET_COMPLETE(8, "放货完成"), + TASK_COMPLETE(9, "任务完成"), + DELETE_TASK(10, "删除任务"), + CHECKING(11, "盘点中"), + APPLY_TASK(21, "申请任务"); + + private final Integer code; + private final String desc; + + StackerDeviceStatusEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/plc/StackerTaskTypeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/plc/StackerTaskTypeEnum.java new file mode 100644 index 0000000..1d7c00e --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/plc/StackerTaskTypeEnum.java @@ -0,0 +1,32 @@ +package org.wcs.constant.enums.plc; + +import lombok.Getter; + +/** + * 堆垛机任务类型枚举 + */ +@Getter +public enum StackerTaskTypeEnum { + + ERROR(-1, "异常搬出"), + IN(1, "入库"), + OUT(2, "出库"), + MOVE(3, "移库"); + + private final Integer code; + private final String desc; + + StackerTaskTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public static StackerTaskTypeEnum getByCode(Integer code) { + for (StackerTaskTypeEnum value : values()) { + if (value.code.equals(code)) { + return value; + } + } + return null; + } +} diff --git a/wcs/src/main/java/org/wcs/constant/enums/serve/AppServeResponseCodeEnum.java b/wcs/src/main/java/org/wcs/constant/enums/serve/AppServeResponseCodeEnum.java new file mode 100644 index 0000000..a4a24a8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/constant/enums/serve/AppServeResponseCodeEnum.java @@ -0,0 +1,28 @@ +package org.wcs.constant.enums.serve; + +import lombok.Getter; + +/** + * 服务的响应码枚举 + */ +@Getter +public enum AppServeResponseCodeEnum { + + SUCCESS(200, "成功"), + DATA_REPEAT(201, "数据重复"), + FAIL(400, "失败"), + UNAUTHORIZED(401, "未授权"), + FORBIDDEN(403, "禁止访问"), + NOT_FOUND(404, "未找到"), + INTERNAL_SERVER_ERROR(500, "服务器内部错误"), + SERVICE_UNAVAILABLE(503, "服务不可用"); + + private final int code; + private final String msg; + + AppServeResponseCodeEnum(int code, String msg) { + this.code = code; + this.msg = msg; + } + +} diff --git a/wcs/src/main/java/org/wcs/factory/AppServeResponseFactory.java b/wcs/src/main/java/org/wcs/factory/AppServeResponseFactory.java new file mode 100644 index 0000000..5414a2a --- /dev/null +++ b/wcs/src/main/java/org/wcs/factory/AppServeResponseFactory.java @@ -0,0 +1,251 @@ +package org.wcs.factory; + +import org.wcs.constant.enums.serve.AppServeResponseCodeEnum; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; + +/** + * 此服务响应工厂类 + */ +public class AppServeResponseFactory { + + /** + * 返回一个普通的失败响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse fail(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.FAIL.getCode()); + response.setMsg(msg); + return response; + } + + /** + * 返回一个带数据的失败响应 + * @param msg 响应信息 + * @param data 数据 + * @return 响应 + * @param 数据范型 + */ + public static AppServeDataResponse fail(String msg, T data) { + AppServeDataResponse response = new AppServeDataResponse<>(); + response.setCode(AppServeResponseCodeEnum.FAIL.getCode()); + response.setMsg(msg); + response.setData(data); + return response; + } + + /** + * 返回一个成功的响应 + * @return 响应 + */ + public static AppServeResponse success() { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.SUCCESS.getCode()); + response.setMsg(AppServeResponseCodeEnum.SUCCESS.getMsg()); + return response; + } + + /** + * 返回一个成功的响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse success(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.SUCCESS.getCode()); + response.setMsg(msg); + return response; + } + + /** + * 返回一个成功的响应 + * @param data 数据 + * @return 响应 + * @param 数据范型 + */ + public static AppServeDataResponse success(T data) { + AppServeDataResponse response = new AppServeDataResponse<>(); + response.setCode(AppServeResponseCodeEnum.SUCCESS.getCode()); + response.setMsg(AppServeResponseCodeEnum.SUCCESS.getMsg()); + response.setData(data); + return response; + } + + /** + * 返回一个成功的响应 + * @param msg 响应信息 + * @param data 数据 + * @return 响应 + * @param 数据范型 + */ + public static AppServeDataResponse success(String msg, T data) { + AppServeDataResponse response = new AppServeDataResponse<>(); + response.setCode(AppServeResponseCodeEnum.SUCCESS.getCode()); + response.setMsg(msg); + response.setData(data); + return response; + } + + /** + * 返回一个数据重复的响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse dataRepeat(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.DATA_REPEAT.getCode()); + response.setMsg(msg); + return response; + } + + /** + * 返回一个未授权响应 + * @return 响应 + */ + public static AppServeResponse unauthorized() { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.UNAUTHORIZED.getCode()); + response.setMsg(AppServeResponseCodeEnum.UNAUTHORIZED.getMsg()); + return response; + } + + /** + * 返回一个未授权响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse unauthorized(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.UNAUTHORIZED.getCode()); + response.setMsg(msg); + return response; + } + + /** + * 返回一个带数据的未授权响应 + * @param msg 响应信息 + * @param data 数据 + * @return 结果 + * @param 范型 + */ + public static AppServeDataResponse unauthorized(String msg, T data) { + AppServeDataResponse response = new AppServeDataResponse<>(); + response.setCode(AppServeResponseCodeEnum.UNAUTHORIZED.getCode()); + response.setMsg(msg); + response.setData(data); + return response; + } + + /** + * 返回一个禁止访问响应 + * @return 响应 + */ + public static AppServeResponse forbidden() { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.FORBIDDEN.getCode()); + response.setMsg(AppServeResponseCodeEnum.FORBIDDEN.getMsg()); + return response; + } + + /** + * 返回一个禁止访问响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse forbidden(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.FORBIDDEN.getCode()); + response.setMsg(msg); + return response; + } + + /** + * 返回一个未找到响应 + * @return 响应 + */ + public static AppServeResponse notFound() { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.NOT_FOUND.getCode()); + response.setMsg(AppServeResponseCodeEnum.NOT_FOUND.getMsg()); + return response; + } + + /** + * 返回一个未找到响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse notFound(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.NOT_FOUND.getCode()); + response.setMsg(msg); + return response; + } + + /** + * 返回一个服务器内部错误响应 + * @return 响应 + */ + public static AppServeResponse internalServerError() { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.INTERNAL_SERVER_ERROR.getCode()); + response.setMsg(AppServeResponseCodeEnum.INTERNAL_SERVER_ERROR.getMsg()); + return response; + } + + /** + * 返回一个服务器内部错误响应 + * @param msg 响应信息 + * @param data 数据 + * @return 响应信息 + * @param 范型 + */ + public static AppServeDataResponse internalServerError(String msg, T data) { + AppServeDataResponse response = new AppServeDataResponse<>(); + response.setCode(AppServeResponseCodeEnum.INTERNAL_SERVER_ERROR.getCode()); + response.setMsg(msg); + response.setData(data); + return response; + } + + /** + * 返回一个服务器内部错误响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse internalServerError(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.INTERNAL_SERVER_ERROR.getCode()); + response.setMsg(msg); + return response; + } + + /** + * 返回一个服务不可用响应 + * @return 响应 + */ + public static AppServeResponse serviceUnavailable() { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.SERVICE_UNAVAILABLE.getCode()); + response.setMsg(AppServeResponseCodeEnum.SERVICE_UNAVAILABLE.getMsg()); + return response; + } + + /** + * 返回一个服务不可用响应 + * @param msg 响应信息 + * @return 响应 + */ + public static AppServeResponse serviceUnavailable(String msg) { + AppServeResponse response = new AppServeResponse(); + response.setCode(AppServeResponseCodeEnum.SERVICE_UNAVAILABLE.getCode()); + response.setMsg(msg); + return response; + } + + + + +} diff --git a/wcs/src/main/java/org/wcs/factory/PubServeResponseFactory.java b/wcs/src/main/java/org/wcs/factory/PubServeResponseFactory.java new file mode 100644 index 0000000..f4337a9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/factory/PubServeResponseFactory.java @@ -0,0 +1,125 @@ +package org.wcs.factory; + +import org.wcs.model.vo.pub.PubServeDataResponse; +import org.wcs.model.vo.pub.PubServeResponse; + +/** + * 公用服务响应工厂类 + */ +public class PubServeResponseFactory { + + /** + * 返回一个普通的失败响应 + * @param msg 响应信息 + * @return 响应 + */ + public static PubServeResponse fail(String msg) { + PubServeResponse response = new PubServeResponse(); + response.setCode(999); + response.setMessage(msg); + return response; + } + + /** + * 返回一个带数据的失败响应 + * @param msg 响应信息 + * @param data 数据 + * @return 响应 + * @param 数据范型 + */ + public static PubServeDataResponse fail(String msg, T data) { + PubServeDataResponse response = new PubServeDataResponse<>(); + response.setCode(999); + response.setMessage(msg); + response.setData(data); + return response; + } + + /** + * 返回一个成功的响应 + * @return 响应 + */ + public static PubServeResponse success() { + PubServeResponse response = new PubServeResponse(); + response.setCode(200); + response.setMessage("SUCCESS"); + return response; + } + + /** + * 返回一个成功的响应 + * @param msg 响应信息 + * @return 响应 + */ + public static PubServeResponse success(String msg) { + PubServeResponse response = new PubServeResponse(); + response.setCode(200); + response.setMessage(msg); + return response; + } + + /** + * 返回一个成功的响应 + * @param data 数据 + * @return 响应 + * @param 数据范型 + */ + public static PubServeDataResponse success(T data) { + PubServeDataResponse response = new PubServeDataResponse<>(); + response.setCode(200); + response.setMessage("SUCCESS"); + response.setData(data); + return response; + } + + /** + * 返回一个成功的响应 + * @param msg 响应信息 + * @param data 数据 + * @return 响应 + * @param 数据范型 + */ + public static PubServeDataResponse success(String msg, T data) { + PubServeDataResponse response = new PubServeDataResponse<>(); + response.setCode(200); + response.setMessage(msg); + response.setData(data); + return response; + } + + /** + * 返回一个未授权响应 + * @return 响应 + */ + public static PubServeResponse unauthorized() { + PubServeResponse response = new PubServeResponse(); + response.setCode(401); + response.setMessage("unauthorized"); + return response; + } + + + /** + * 返回一个禁止访问响应 + * @return 响应 + */ + public static PubServeResponse forbidden() { + PubServeResponse response = new PubServeResponse(); + response.setCode(403); + response.setMessage("Forbidden"); + return response; + } + + /** + * 响应系统错误 + * @param msg 错误信息 + * @return 响应 + */ + public static PubServeResponse systemError(String msg) { + PubServeResponse response = new PubServeResponse(); + response.setCode(500); + response.setMessage(msg); + return response; + } + +} diff --git a/wcs/src/main/java/org/wcs/helper/AppConfigHelper.java b/wcs/src/main/java/org/wcs/helper/AppConfigHelper.java new file mode 100644 index 0000000..156f61f --- /dev/null +++ b/wcs/src/main/java/org/wcs/helper/AppConfigHelper.java @@ -0,0 +1,69 @@ +package org.wcs.helper; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.wcs.mapper.intf.AppBaseConfigService; +import org.wcs.model.po.app.AppBaseConfig; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 系统配置的帮助类 + */ +@Component +@RequiredArgsConstructor +public class AppConfigHelper { + + private final AppBaseConfigService baseConfigService; + + + private Map configMap; // 存储配置的map + + /** + * 加载配置 + */ + public void loadConfig() { + List configs = baseConfigService.queryAll(); + if(configs == null) { + return; + } + configMap = new HashMap<>(); + for (AppBaseConfig config : configs) { + configMap.put(config.getConfigKey(), config.getConfigValue()); + } + } + + /** + * 获取配置 + * @param key 配置键 + * @return 配置值 + */ + public String getConfig(String key) { + if(configMap == null) { + loadConfig(); + } + return configMap.get(key); + } + + /** + * 设置配置 + * @param key 配置键 + * @param value 配置值 + * @return 设置结果 + */ + public synchronized String SetConfig(String key, String value) { + AppBaseConfig config = new AppBaseConfig(); + config.setConfigKey(key); + config.setConfigValue(value); + int update = baseConfigService.update(config); + if(update <= 0) { + return "更新 config 表 数据库操作失败"; + } + configMap.put(key, value); + return null; + } + + +} diff --git a/wcs/src/main/java/org/wcs/helper/HttpResponseHelper.java b/wcs/src/main/java/org/wcs/helper/HttpResponseHelper.java new file mode 100644 index 0000000..d56d874 --- /dev/null +++ b/wcs/src/main/java/org/wcs/helper/HttpResponseHelper.java @@ -0,0 +1,39 @@ +package org.wcs.helper; + +import lombok.RequiredArgsConstructor; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Component; + +import java.util.concurrent.TimeUnit; + +@Component +@RequiredArgsConstructor +public class HttpResponseHelper { + + private final StringRedisTemplate stringRedisTemplate; + + private static final String RECORD_ID_KEY = "WCS:HTTP:RESPONSE"; + + /** + * 获取响应结果 + * + * @param recordId 记录ID + * @return 响应结果 + */ + public String getResponse(String recordId) { + return stringRedisTemplate.opsForValue().get(RECORD_ID_KEY + ":" + recordId); + } + + /** + * 设置响应结果 + * + * @param recordId 响应结果 + * @param response 响应结果 + * @param timeout 超时时间 + */ + public void setResponse(String recordId, String response, long timeout) { + stringRedisTemplate.opsForValue().set(RECORD_ID_KEY + ":" + recordId, response, timeout, TimeUnit.SECONDS); + } + + +} diff --git a/wcs/src/main/java/org/wcs/helper/LedHelper.java b/wcs/src/main/java/org/wcs/helper/LedHelper.java new file mode 100644 index 0000000..c7fc367 --- /dev/null +++ b/wcs/src/main/java/org/wcs/helper/LedHelper.java @@ -0,0 +1,27 @@ +package org.wcs.helper; + +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.pojo.led.LedBaseInfo; + +import java.util.ArrayList; +import java.util.List; + +/** + * LED屏的操作帮助类 + */ +public class LedHelper { + + /** + * LED屏的通讯对象 <绑定的位置,Ip地址> + */ + private static List> ledLocationIpList = new ArrayList<>(); + + /** + * LED屏的通讯对象 + * 一般用于对外开放接口 + */ + private static List> ledIpCommunicationList = new ArrayList<>(); + + + +} diff --git a/wcs/src/main/java/org/wcs/helper/LocationHelper.java b/wcs/src/main/java/org/wcs/helper/LocationHelper.java new file mode 100644 index 0000000..2cedd31 --- /dev/null +++ b/wcs/src/main/java/org/wcs/helper/LocationHelper.java @@ -0,0 +1,116 @@ +package org.wcs.helper; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.wcs.mapper.intf.AppConveyLocationService; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.mapper.intf.AppTrayConveyLocationService; +import org.wcs.model.po.app.AppConveyLocation; +import org.wcs.model.po.app.AppStackerLocation; +import org.wcs.model.po.app.AppStackerStand; +import org.wcs.model.po.app.AppTrayConveyLocation; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 点位帮助类 + */ +@Component +@RequiredArgsConstructor +public class LocationHelper { + + private final AppStackerLocationService stackerLocationService; + private final AppStackerStandService stackerStandService; + private final AppTrayConveyLocationService trayConveyLocationService; + private final AppConveyLocationService conveyLocationService; + + /** + * 点位映射 < 业务点位,系统点位 > + */ + Map btLocationMap; + + + /** + * 点位映射 < 系统点位,业务点位 > + */ + Map tbLocationMap; + + /** + * 初始化数据 + */ + public synchronized void init() { + List stackerLocations = stackerLocationService.queryStackerLocationAll(); + if(stackerLocations == null) { + return; + } + List stackerStands = stackerStandService.queryAll(); + if(stackerStands == null) { + return; + } + List trayConveyLocations = trayConveyLocationService.queryAll(); + if(trayConveyLocations == null) { + return; + } + List conveyLocations = conveyLocationService.queryAll(); + if(conveyLocations == null) { + return; + } + btLocationMap = new ConcurrentHashMap<>(); + tbLocationMap = new ConcurrentHashMap<>(); + stackerLocations.forEach(stackerLocation -> { + btLocationMap.put(stackerLocation.getBusinessLocation(), stackerLocation.getLocationId()); + tbLocationMap.put(stackerLocation.getLocationId(), stackerLocation.getBusinessLocation()); + }); + stackerStands.forEach(stackerStand -> { + btLocationMap.put(stackerStand.getStandId(), stackerStand.getStandId()); + tbLocationMap.put(stackerStand.getStandId(), stackerStand.getStandId()); + }); + trayConveyLocations.forEach(trayConveyLocation -> { + btLocationMap.put(trayConveyLocation.getBusinessLocationId(), trayConveyLocation.getLocationId()); + tbLocationMap.put(trayConveyLocation.getLocationId(), trayConveyLocation.getBusinessLocationId()); + }); + conveyLocations.forEach(conveyLocation -> { + btLocationMap.put(conveyLocation.getBusinessLocationId(), conveyLocation.getLocationId()); + tbLocationMap.put(conveyLocation.getLocationId(), conveyLocation.getBusinessLocationId()); + }); + } + + /** + * 获取业务点位 + * @param appLocationId 系统点位 + * @return 业务点位 + */ + public String getBusinessLocationId(String appLocationId) { + if(tbLocationMap == null) { + init(); + } + if(tbLocationMap == null) { + return null; + } + return tbLocationMap.get(appLocationId); + } + + /** + * 获取系统点位 + * @param businessLocationId 业务点位 + * @return 系统点位 + */ + public String getAppLocationId(String businessLocationId) { + if(btLocationMap == null) { + init(); + } + if(btLocationMap == null) { + return null; + } + return btLocationMap.get(businessLocationId); + } + + + + + +} diff --git a/wcs/src/main/java/org/wcs/helper/PlcTaskIdHelper.java b/wcs/src/main/java/org/wcs/helper/PlcTaskIdHelper.java new file mode 100644 index 0000000..fc43061 --- /dev/null +++ b/wcs/src/main/java/org/wcs/helper/PlcTaskIdHelper.java @@ -0,0 +1,55 @@ +package org.wcs.helper; + +import lombok.RequiredArgsConstructor; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Component; +import org.wcs.constant.ConstantData; +import org.wcs.utils.AppStringUtils; + +@Component +@RequiredArgsConstructor +public class PlcTaskIdHelper { + + private final AppConfigHelper appConfigHelper; + private final StringRedisTemplate stringRedisTemplate; + + private static final int MAX_COUNT = 100; // 最大任务ID数 + private static final String KEY_TASK_ID = ConstantData.SYSTEM_NAME + ":config"; + + /** + * 获取新的任务ID + * @return 任务ID + */ + public Integer newTaskId() + { + String plcTaskIdRedisKet = KEY_TASK_ID + ":plcTaskId"; + Long size = stringRedisTemplate.opsForList().size(plcTaskIdRedisKet); + if(size == null || size < MAX_COUNT - 80) { + String plcTaskId = appConfigHelper.getConfig("PLC_TASK_ID"); + if (plcTaskId == null) { + return null; + } + if(!AppStringUtils.isNumber(plcTaskId)) { + return null; + } + int plcTaskIdInt = Integer.parseInt(plcTaskId); + if(plcTaskIdInt > 150000000) { + plcTaskIdInt = 100000; + } + int maxPlcTaskId = plcTaskIdInt + MAX_COUNT; + String setResult = appConfigHelper.SetConfig("PLC_TASK_ID", String.valueOf(maxPlcTaskId)); + if(AppStringUtils.isNotEmpty(setResult)) { + return null; // 设置数据库失败 + } + for(int i = plcTaskIdInt; i < plcTaskIdInt + MAX_COUNT; i++) { + stringRedisTemplate.opsForList().rightPush(plcTaskIdRedisKet, String.valueOf(i)); + } + } + String plcTaskIdString = stringRedisTemplate.opsForList().leftPop(plcTaskIdRedisKet); + if(plcTaskIdString == null) { + return null; // 获取redis数据失败 + } + return Integer.parseInt(plcTaskIdString); + } + +} diff --git a/wcs/src/main/java/org/wcs/helper/SseHelper.java b/wcs/src/main/java/org/wcs/helper/SseHelper.java new file mode 100644 index 0000000..46ef524 --- /dev/null +++ b/wcs/src/main/java/org/wcs/helper/SseHelper.java @@ -0,0 +1,103 @@ +package org.wcs.helper; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import org.wcs.constant.enums.business.SseEventTypeEnum; + +import java.util.Map; + +/** + * SSE 帮助类 + */ +@Slf4j +@Component +public class SseHelper { + + private static Map emitters; + + /** + * 设置 SSEEmitter + * @param key 键 + * @param emitter SSEEmitter + */ + public synchronized void setEmitter(String key, SseEmitter emitter) { + if(emitters == null) { + emitters = new java.util.concurrent.ConcurrentHashMap<>(); + } + if(emitters.containsKey(key)) { + SseEmitter sseEmitter = emitters.get(key); + try{ + sseEmitter.complete(); + emitters.remove(key); + log.info("已存在连接,已关闭,连接 Key: {}", key); + } catch (Exception ignored){ + } + } + emitters.put(key, emitter); + log.info("已创建连接,连接 Key: {}", key); + } + + /** + * 关闭所有 SSEEmitter + */ + public synchronized void closeAllEmitter() { + if(emitters == null) { + return; + } + for (Map.Entry entry : emitters.entrySet()) { + SseEmitter emitter = entry.getValue(); + try { + emitter.complete(); + emitters.remove(entry.getKey()); + } catch (Exception ex) { + emitter.complete(); + emitters.remove(entry.getKey()); + log.info("已关闭连接,连接 Key: {},异常信息:{}", entry.getKey(), ex.getMessage()); + } + } + } + + /** + * 移除 SSEEmitter + * @param key 键 + */ + public synchronized void removeEmitter(String key) { + if(emitters == null) { + return; + } + SseEmitter emitter = emitters.get(key); + if(emitter != null) { + emitters.remove(key); + emitter.complete(); + log.info("已关闭连接,连接 Key: {}", key); + } + } + + /** + * 发送事件给所有连接 + * @param eventName 事件名称 + * @param message 消息 + */ + public void SendEventToAll(SseEventTypeEnum eventName, String message) { + if(emitters == null) { + return; + } + for (Map.Entry entry : emitters.entrySet()) { + SseEmitter emitter = entry.getValue(); + try { + SseEmitter.SseEventBuilder event = SseEmitter.event() + .name(eventName.getCode()) + .reconnectTime(1000) + .data(message, MediaType.APPLICATION_JSON); + emitter.send(event); + } catch (Exception ex) { + emitter.complete(); + emitters.remove(entry.getKey()); + log.info("已关闭连接,因为无法发送数据,连接 Key: {},异常信息:{}", entry.getKey(), ex.getMessage()); + } + } + } + +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseApiInfoMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseApiInfoMapper.java new file mode 100755 index 0000000..32cd623 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseApiInfoMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseApiInfo; + +@Mapper +public interface AppBaseApiInfoMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseConfigMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseConfigMapper.java new file mode 100755 index 0000000..00de19b --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseConfigMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseConfig; + +@Mapper +public interface AppBaseConfigMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseDbMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseDbMapper.java new file mode 100644 index 0000000..5a4e509 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseDbMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseDb; + +@Mapper +public interface AppBaseDbMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseErrInfoMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseErrInfoMapper.java new file mode 100755 index 0000000..6f32be8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseErrInfoMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseErrInfo; + +@Mapper +public interface AppBaseErrInfoMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseGroupPermissionMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseGroupPermissionMapper.java new file mode 100755 index 0000000..eaa3c6c --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseGroupPermissionMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseGroupPermission; + +@Mapper +public interface AppBaseGroupPermissionMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseLedMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseLedMapper.java new file mode 100644 index 0000000..d454305 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseLedMapper.java @@ -0,0 +1,12 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseLed; + +/** + * LED 屏基础资料 + */ +@Mapper +public interface AppBaseLedMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseMaintenanceInfoMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseMaintenanceInfoMapper.java new file mode 100755 index 0000000..f424b39 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseMaintenanceInfoMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseMaintenanceInfo; + +@Mapper +public interface AppBaseMaintenanceInfoMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseMenuMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseMenuMapper.java new file mode 100755 index 0000000..1c46110 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseMenuMapper.java @@ -0,0 +1,17 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.wcs.model.po.app.AppBaseMenu; + +import java.util.List; + +@Mapper +public interface AppBaseMenuMapper extends BaseMapper { + + @Select("SELECT * FROM t_app_base_menu m LEFT JOIN t_app_base_group_permission p ON m.menu_id = p.menu_id WHERE (m.menu_status = 1 AND p.user_group = #{userGroup}) OR m.menu_level = 1 ORDER BY m.menu_id ASC") + List queryPermission(String userGroup); + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBasePlcMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBasePlcMapper.java new file mode 100755 index 0000000..54ec931 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBasePlcMapper.java @@ -0,0 +1,10 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBasePlc; + +@Mapper +public interface AppBasePlcMapper extends BaseMapper { + +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseScanMethodMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseScanMethodMapper.java new file mode 100644 index 0000000..e0ff675 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseScanMethodMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseScanMethod; + +@Mapper +public interface AppBaseScanMethodMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseUserGroupMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseUserGroupMapper.java new file mode 100755 index 0000000..32ae156 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseUserGroupMapper.java @@ -0,0 +1,11 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppBaseUserGroup; + +@Mapper +public interface AppBaseUserGroupMapper extends BaseMapper { + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppBaseUserMapper.java b/wcs/src/main/java/org/wcs/mapper/AppBaseUserMapper.java new file mode 100755 index 0000000..e6ba660 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppBaseUserMapper.java @@ -0,0 +1,17 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.wcs.model.po.app.AppBaseUser; +import org.wcs.model.po.app.JoinUserInfoWithGroupInfo; + +import java.util.List; + +@Mapper +public interface AppBaseUserMapper extends BaseMapper { + + @Select("SELECT u.*, g.group_name, g.group_level FROM t_app_base_user u LEFT JOIN t_app_base_user_group g ON u.user_group = g.user_group WHERE g.group_status = 1 AND u.user_id = #{userId}") + List queryUserInfoAndGroupInfo(String userId); + +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppConveyCheckStandMapper.java b/wcs/src/main/java/org/wcs/mapper/AppConveyCheckStandMapper.java new file mode 100644 index 0000000..5550a0c --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppConveyCheckStandMapper.java @@ -0,0 +1,12 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppConveyCheckStand; + +/** + * 输送线复核站台数据库操作类型 + */ +@Mapper +public interface AppConveyCheckStandMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppConveyLocationMapper.java b/wcs/src/main/java/org/wcs/mapper/AppConveyLocationMapper.java new file mode 100644 index 0000000..3bd71d9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppConveyLocationMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppConveyLocation; + +@Mapper +public interface AppConveyLocationMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppConveyPickStandMapper.java b/wcs/src/main/java/org/wcs/mapper/AppConveyPickStandMapper.java new file mode 100644 index 0000000..4b5e3b6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppConveyPickStandMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppConveyPickStand; + +@Mapper +public interface AppConveyPickStandMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppConveyTaskBakMapper.java b/wcs/src/main/java/org/wcs/mapper/AppConveyTaskBakMapper.java new file mode 100755 index 0000000..ac6a2d5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppConveyTaskBakMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppConveyTaskBak; + +@Mapper +public interface AppConveyTaskBakMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppConveyTaskEventMapper.java b/wcs/src/main/java/org/wcs/mapper/AppConveyTaskEventMapper.java new file mode 100755 index 0000000..23376fb --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppConveyTaskEventMapper.java @@ -0,0 +1,13 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.wcs.model.po.app.AppConveyTaskEvent; + +@Mapper +public interface AppConveyTaskEventMapper extends BaseMapper { + + int bakData(@Param("days") int days); + int deleteData(@Param("days") int days); +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppConveyTaskMapper.java b/wcs/src/main/java/org/wcs/mapper/AppConveyTaskMapper.java new file mode 100755 index 0000000..c934be5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppConveyTaskMapper.java @@ -0,0 +1,10 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.wcs.model.po.app.AppConveyTask; + +@Mapper +public interface AppConveyTaskMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppEtagControllerInfoMapper.java b/wcs/src/main/java/org/wcs/mapper/AppEtagControllerInfoMapper.java new file mode 100755 index 0000000..0844d4e --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppEtagControllerInfoMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppEtagControllerInfo; + +@Mapper +public interface AppEtagControllerInfoMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppEtagStockMapper.java b/wcs/src/main/java/org/wcs/mapper/AppEtagStockMapper.java new file mode 100755 index 0000000..314f015 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppEtagStockMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppEtagStock; + +@Mapper +public interface AppEtagStockMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppEtagTagInfoMapper.java b/wcs/src/main/java/org/wcs/mapper/AppEtagTagInfoMapper.java new file mode 100755 index 0000000..1c8ee38 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppEtagTagInfoMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppEtagTagInfo; + +@Mapper +public interface AppEtagTagInfoMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppEtagTagLocationMapper.java b/wcs/src/main/java/org/wcs/mapper/AppEtagTagLocationMapper.java new file mode 100755 index 0000000..89049b3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppEtagTagLocationMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppEtagTagLocation; + +@Mapper +public interface AppEtagTagLocationMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppEtagTaskBakMapper.java b/wcs/src/main/java/org/wcs/mapper/AppEtagTaskBakMapper.java new file mode 100644 index 0000000..3f524aa --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppEtagTaskBakMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppEtagTaskBak; + +@Mapper +public interface AppEtagTaskBakMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppEtagTaskEventMapper.java b/wcs/src/main/java/org/wcs/mapper/AppEtagTaskEventMapper.java new file mode 100755 index 0000000..f73b8ad --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppEtagTaskEventMapper.java @@ -0,0 +1,13 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.wcs.model.po.app.AppEtagTaskEvent; + +@Mapper +public interface AppEtagTaskEventMapper extends BaseMapper { + + int bakData(@Param("days") int days); + int deleteData(@Param("days") int days); +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppEtagTaskMapper.java b/wcs/src/main/java/org/wcs/mapper/AppEtagTaskMapper.java new file mode 100755 index 0000000..6c3aa05 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppEtagTaskMapper.java @@ -0,0 +1,11 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppEtagTask; + + +@Mapper +public interface AppEtagTaskMapper extends BaseMapper { + +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppQuartzConfigMapper.java b/wcs/src/main/java/org/wcs/mapper/AppQuartzConfigMapper.java new file mode 100644 index 0000000..25e9991 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppQuartzConfigMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppQuartzConfig; + +@Mapper +public interface AppQuartzConfigMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppRecordApiRequestMapper.java b/wcs/src/main/java/org/wcs/mapper/AppRecordApiRequestMapper.java new file mode 100755 index 0000000..f8a3e1e --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppRecordApiRequestMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppRecordApiRequest; + +@Mapper +public interface AppRecordApiRequestMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppRecordApiResponseMapper.java b/wcs/src/main/java/org/wcs/mapper/AppRecordApiResponseMapper.java new file mode 100755 index 0000000..8f456b6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppRecordApiResponseMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppRecordApiResponse; + +@Mapper +public interface AppRecordApiResponseMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppRecordErrMapper.java b/wcs/src/main/java/org/wcs/mapper/AppRecordErrMapper.java new file mode 100755 index 0000000..71cffd2 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppRecordErrMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppRecordErr; + +@Mapper +public interface AppRecordErrMapper extends MPJBaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppRecordMaintenanceMapper.java b/wcs/src/main/java/org/wcs/mapper/AppRecordMaintenanceMapper.java new file mode 100755 index 0000000..51a36b6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppRecordMaintenanceMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppRecordMaintenance; + +@Mapper +public interface AppRecordMaintenanceMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppRecordPlcInteractiveMapper.java b/wcs/src/main/java/org/wcs/mapper/AppRecordPlcInteractiveMapper.java new file mode 100755 index 0000000..6b7be1e --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppRecordPlcInteractiveMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppRecordPlcInteractive; + +@Mapper +public interface AppRecordPlcInteractiveMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppRecordScanMapper.java b/wcs/src/main/java/org/wcs/mapper/AppRecordScanMapper.java new file mode 100755 index 0000000..d555fbe --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppRecordScanMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppRecordScan; + +@Mapper +public interface AppRecordScanMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppRecordTaskMsgMapper.java b/wcs/src/main/java/org/wcs/mapper/AppRecordTaskMsgMapper.java new file mode 100644 index 0000000..6fbf4a1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppRecordTaskMsgMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppRecordTaskMag; + +@Mapper +public interface AppRecordTaskMsgMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStackerInfoMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStackerInfoMapper.java new file mode 100644 index 0000000..e586219 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStackerInfoMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppStackerInfo; + +@Mapper +public interface AppStackerInfoMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStackerLocationMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStackerLocationMapper.java new file mode 100644 index 0000000..543f3f3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStackerLocationMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppStackerLocation; + +@Mapper +public interface AppStackerLocationMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStackerStandMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStackerStandMapper.java new file mode 100644 index 0000000..51ecc80 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStackerStandMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppStackerStand; + +@Mapper +public interface AppStackerStandMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskBakMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskBakMapper.java new file mode 100644 index 0000000..564f3ad --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskBakMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppStockComposeTaskBak; + +@Mapper +public interface AppStockComposeTaskBakMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskMapper.java new file mode 100644 index 0000000..1f26dbd --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStockComposeTaskMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppStockComposeTask; + +@Mapper +public interface AppStockComposeTaskMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStockScanMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStockScanMapper.java new file mode 100644 index 0000000..5e49f9a --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStockScanMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppStockScan; + +@Mapper +public interface AppStockScanMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskBakMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskBakMapper.java new file mode 100644 index 0000000..9a74e15 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskBakMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppStockSingleTaskBak; + +@Mapper +public interface AppStockSingleTaskBakMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskMapper.java b/wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskMapper.java new file mode 100644 index 0000000..22a9cbe --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppStockSingleTaskMapper.java @@ -0,0 +1,37 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.wcs.model.po.app.AppStockSingleTask; + +import java.util.List; + +@Mapper +public interface AppStockSingleTaskMapper extends BaseMapper { + + /** + * 查询指定堆垛机指定箱号的任务 + * @param stackerId 堆垛机ID + * @param vehicleNo 载具号 + * @param taskStatus 任务状态 + * @param taskType 任务类型 + * @return 查询结果 + */ + @Select("select * from t_app_stock_single_task where vehicle_no = #{vehicleNo} and task_status = #{taskStatus} and task_type = #{taskType} and " + + "destination in (select business_location from t_app_stacker_location where machine_id = #{stackerId}) order by priority desc, create_time asc") + List queryStackerTaskWithVehicle(Integer stackerId, String vehicleNo, Integer taskStatus, Integer taskType); + + /** + * 查询指定堆垛机的任务 + * @param stackerId 堆垛机ID + * @param taskStatus 状态 + * @param taskType 任务类型 + * @return 堆垛机入库任务 + */ + @Select("select * from t_app_stock_single_task where task_status = #{taskStatus} and task_type = #{taskType} and " + + "destination in (select business_location from t_app_stacker_location where machine_id = #{stackerId}) order by priority desc, create_time asc") + List queryStackerTask(Integer stackerId, Integer taskStatus, Integer taskType); + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/AppTrayConveyLocationMapper.java b/wcs/src/main/java/org/wcs/mapper/AppTrayConveyLocationMapper.java new file mode 100644 index 0000000..99d5e5a --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/AppTrayConveyLocationMapper.java @@ -0,0 +1,9 @@ +package org.wcs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.wcs.model.po.app.AppTrayConveyLocation; + +@Mapper +public interface AppTrayConveyLocationMapper extends BaseMapper { +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseApiInfoDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseApiInfoDao.java new file mode 100755 index 0000000..da903ab --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseApiInfoDao.java @@ -0,0 +1,122 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseApiInfoMapper; +import org.wcs.mapper.intf.AppBaseApiInfoService; +import org.wcs.model.dto.serve.api.QueryApiBaseInfoReq; +import org.wcs.model.po.app.AppBaseApiInfo; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +/** + * API 信息的基础资料表操作类 + */ +@Service +public class AppBaseApiInfoDao extends ServiceImpl implements AppBaseApiInfoService { + + /** + * 查询所有API信息 + * @return 查询结果 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据条件查询API信息 + * @param queryApiBaseInfoReq 查询条件 + * @return 查询结果 + */ + @Override + public List query(QueryApiBaseInfoReq queryApiBaseInfoReq) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryApiBaseInfoReq.getApiName()), AppBaseApiInfo::getApiName, queryApiBaseInfoReq.getApiName()) + .like(AppStringUtils.isNotEmpty(queryApiBaseInfoReq.getApiKey()), AppBaseApiInfo::getApiKey, queryApiBaseInfoReq.getApiKey()); + queryWrapper.orderByAsc(AppBaseApiInfo::getApiKey); + try { + return super.list(queryWrapper); + } catch ( Exception e) { + return null; + } + } + + /** + * 根据API键查询API信息 + * @param apiKey API键 + * @return 查询结果 + */ + @Override + public List queryWithApiKey(String apiKey) { + if(AppStringUtils.isEmpty(apiKey)) { + return null; + } + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseApiInfo::getApiKey, apiKey); + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 新增API信息 + * @param appBaseApiInfo API信息 + * @return 新增结果 + */ + @Override + public boolean insert(AppBaseApiInfo appBaseApiInfo) { + if(appBaseApiInfo == null) { + return false; + } + try { + return super.save(appBaseApiInfo); + } catch (Exception e) { + return false; + } + } + + /** + * 删除API信息 + * @param apiKey API键 + * @return 删除结果 + */ + @Override + public boolean delete(String apiKey) { + try { + return super.removeById(apiKey); + } catch (Exception e) { + return false; + } + } + + /** + * 更新API信息 + * @param appBaseApiInfo API信息 + * @return 更新结果 + */ + @Override + public boolean update(AppBaseApiInfo appBaseApiInfo) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppBaseApiInfo::getApiKey, appBaseApiInfo.getApiKey()); + updateWrapper.set(AppStringUtils.isNotEmpty(appBaseApiInfo.getApiName()), AppBaseApiInfo::getApiName, appBaseApiInfo.getApiName()) + .set(AppStringUtils.isNotEmpty(appBaseApiInfo.getAddress()), AppBaseApiInfo::getAddress, appBaseApiInfo.getAddress()) + .set(AppStringUtils.isNotEmpty(appBaseApiInfo.getTag()), AppBaseApiInfo::getTag, appBaseApiInfo.getTag()) + .set(AppStringUtils.isNotEmpty(appBaseApiInfo.getRootKey()), AppBaseApiInfo::getRootKey, appBaseApiInfo.getRootKey()) + .set(AppStringUtils.isNotEmpty(appBaseApiInfo.getRemark()), AppBaseApiInfo::getRemark, appBaseApiInfo.getRemark()); + try { + return super.update(appBaseApiInfo, updateWrapper); + } catch (Exception e) { + return false; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseConfigDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseConfigDao.java new file mode 100755 index 0000000..761732b --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseConfigDao.java @@ -0,0 +1,86 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.mapper.AppBaseConfigMapper; +import org.wcs.mapper.intf.AppBaseConfigService; +import org.wcs.model.po.app.AppBaseConfig; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * config 表的操作类 + */ +@Service +@Slf4j +public class AppBaseConfigDao extends ServiceImpl implements AppBaseConfigService { + + /** + * 查询所有config数据 + * @return 查询结果 + */ + @Override + public List queryAll() { + try{ + return super.list(); + } catch (Exception e) { + return null; + } + } + + /** + * 模糊查询config表 + * + * @param ConfigKey 配置键 + * @param ConfigName 配置名称 + * @param isQueryAll 是否查询所有 + * @return 查询结果 + */ + @Override + public List queryIndistinct(String ConfigKey, String ConfigName, boolean isQueryAll) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(ConfigKey), AppBaseConfig::getConfigKey, ConfigKey); + queryWrapper.like(AppStringUtils.isNotEmpty(ConfigName), AppBaseConfig::getConfigName, ConfigName); + if(!isQueryAll) { + queryWrapper.eq(AppBaseConfig::getClientShow, TrueOrFalseEnum.TRUE.getCode()); + } + queryWrapper.orderByAsc(AppBaseConfig::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 更新config表 + * @param appBaseConfig 更新条件 + * @return 查询结果 + */ + @Override + public int update(AppBaseConfig appBaseConfig) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(appBaseConfig.getConfigKey() != null, AppBaseConfig::getConfigKey, appBaseConfig.getConfigKey()) + .set(AppStringUtils.isNotEmpty(appBaseConfig.getConfigName()), AppBaseConfig::getConfigName, appBaseConfig.getConfigName()) + .set(appBaseConfig.getConfigType() != null, AppBaseConfig::getConfigType, appBaseConfig.getConfigType()) + .set(appBaseConfig.getImmediately() != null, AppBaseConfig::getImmediately, appBaseConfig.getImmediately()) + .set(AppStringUtils.isNotEmpty(appBaseConfig.getConfigValue()), AppBaseConfig::getConfigValue, appBaseConfig.getConfigValue()) + .set(AppStringUtils.isNotEmpty(appBaseConfig.getTagText()), AppBaseConfig::getTagText, appBaseConfig.getTagText()) + .set(appBaseConfig.getClientShow() != null, AppBaseConfig::getClientShow, appBaseConfig.getClientShow()) + .set(AppStringUtils.isNotEmpty(appBaseConfig.getValueType()), AppBaseConfig::getValueType, appBaseConfig.getValueType()) + .set(AppBaseConfig::getUpdateTime, LocalDateTime.now()) + .set(AppStringUtils.isNotEmpty(appBaseConfig.getRemark()), AppBaseConfig::getRemark, appBaseConfig.getRemark()); + try { + return super.update(appBaseConfig, updateWrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseDbDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseDbDao.java new file mode 100644 index 0000000..b2d08a4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseDbDao.java @@ -0,0 +1,117 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseDbMapper; +import org.wcs.mapper.intf.AppBaseDbService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.siemensDb.QuerySiemensDbReq; +import org.wcs.model.po.app.AppBaseDb; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Service +public class AppBaseDbDao extends ServiceImpl implements AppBaseDbService { + + /** + * 查询所有数据 + * @return 查询结果 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch (Exception e) { + return null; + } + } + + /** + * 查询数据 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @param request 查询参数 + * @return 查询结果 + */ + @Override + public Tuple2> query(Integer pageIndex, Integer pageSize, QuerySiemensDbReq request) { + try { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(request.getDbName() != null, AppBaseDb::getDbName, request.getDbName()) + .like(request.getDbAddress() != null, AppBaseDb::getDbAddress, request.getDbAddress()) + .eq(request.getPlcId() != null && request.getPlcId() > 0, AppBaseDb::getPlcId, request.getPlcId()); + wrapper.orderByAsc(AppBaseDb::getPlcId); + Page page = new Page<>(pageIndex, pageSize); + Page pageResult = super.page(page, wrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 新增数据 + * @param db 新增参数 + * @return 新增结果 + */ + @Override + public int insert(AppBaseDb db) { + try { + return super.baseMapper.insert(db); + } catch (Exception e) { + return 0; + } + } + + /** + * 修改数据 + * @param db 修改参数 + * @return 修改结果 + */ + @Override + public int update(AppBaseDb db) { + try { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(AppBaseDb::getDbName, db.getDbName()); + return super.update(db, wrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 根据名称查询数据 + * @param dbName 数据库名称 + * @return 查询结果 + */ + @Override + public List queryByName(String dbName) { + try{ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(AppBaseDb::getDbName, dbName); + return super.list(wrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 根据名称删除数据 + * @param dbName 删除参数 + * @return 删除结果 + */ + @Override + public int deleteByName(String dbName) { + try{ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(AppBaseDb::getDbName, dbName); + return super.remove(wrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseErrInfoDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseErrInfoDao.java new file mode 100755 index 0000000..59e10e0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseErrInfoDao.java @@ -0,0 +1,191 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseErrInfoMapper; +import org.wcs.mapper.intf.AppBaseErrInfoService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.baseError.QueryBaseErrorReq; +import org.wcs.model.po.app.AppBaseErrInfo; + +import java.util.List; + +@Service +public class AppBaseErrInfoDao extends ServiceImpl implements AppBaseErrInfoService { + + /** + * 查询基础报警列表 + * @param request 查询参数 + * @param pageSize 页大小 + * @param pageIndex 页索引 + * @return 查询结果 + */ + @Override + public Tuple2> queryBaseErrorList(QueryBaseErrorReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(request.getEquipmentType() != null, AppBaseErrInfo::getEquipmentType, request.getEquipmentType()); + queryWrapper.like(request.getErrCode() != null, AppBaseErrInfo::getErrCode, request.getErrCode()); + queryWrapper.eq(request.getErrLevel() != null, AppBaseErrInfo::getErrLevel, request.getErrLevel()); + queryWrapper.eq(request.getErrType() != null, AppBaseErrInfo::getErrType, request.getErrType()); + queryWrapper.and(request.getErrMsg() != null, + q -> q.like(AppBaseErrInfo::getErrMsg, request.getErrMsg()) + .or() + .like(AppBaseErrInfo::getSuggest, request.getErrMsg()) + .or() + .like(AppBaseErrInfo::getRemark, request.getErrMsg())); + queryWrapper.orderByAsc(AppBaseErrInfo::getEquipmentType); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 根据设备状态和错误编号查询基础报警列表 + * @param equipmentType 设备类型 + * @param errCode 错误码 + * @return 列表 + */ + @Override + public List queryBaseErrorList(Integer equipmentType, String errCode) { + if(equipmentType == null || errCode == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseErrInfo::getEquipmentType, equipmentType); + queryWrapper.like(AppBaseErrInfo::getErrCode, errCode); + try { + return super.baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 添加基础错误 + * @param baseErrorInfo 错误信息 + * @return 添加结果 + */ + @Override + public int addBaseError(AppBaseErrInfo baseErrorInfo) { + try { + return super.baseMapper.insert(baseErrorInfo); + } catch (Exception e) { + return 0; + } + } + + /** + * 批量添加基础错误 + * @param baseErrorInfoList 错误信息列表 + * @return 添加结果 + */ + @Override + public boolean addBaseErrorList(List baseErrorInfoList) { + try { + return super.saveBatch(baseErrorInfoList); + } catch (Exception e) { + log.error("批量添加基础错误失败", e); + return false; + } + } + + /** + * 根据设备类型删除基础错误 + * @param equipmentType 设备类型 + * @return 删除结果 + */ + @Override + public int deleteBaseErrorByEquipmentType(Integer equipmentType) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseErrInfo::getEquipmentType, equipmentType); + return super.baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } + + /** + * 根据id查询基础错误 + * @param id id + * @return 列表 + */ + @Override + public List queryById(String id) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseErrInfo::getId, id); + return super.baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 根据id删除基础错误 + * @param id id + * @return 删除结果 + */ + @Override + public int deleteById(String id) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseErrInfo::getId, id); + return super.baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } + + /** + * 更新基础错误 + * @param baseErrorInfo 错误信息 + * @return 更新结果 + */ + @Override + public int updateBaseError(AppBaseErrInfo baseErrorInfo) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppBaseErrInfo::getId, baseErrorInfo.getId()); + updateWrapper.set(baseErrorInfo.getEquipmentType() != null, AppBaseErrInfo::getEquipmentType, baseErrorInfo.getEquipmentType()); + updateWrapper.set(baseErrorInfo.getErrCode() != null, AppBaseErrInfo::getErrCode, baseErrorInfo.getErrCode()); + updateWrapper.set(baseErrorInfo.getErrLevel() != null, AppBaseErrInfo::getErrLevel, baseErrorInfo.getErrLevel()); + updateWrapper.set(baseErrorInfo.getErrType() != null, AppBaseErrInfo::getErrType, baseErrorInfo.getErrType()); + updateWrapper.set(baseErrorInfo.getErrMsg() != null, AppBaseErrInfo::getErrMsg, baseErrorInfo.getErrMsg()); + updateWrapper.set(baseErrorInfo.getSuggest() != null, AppBaseErrInfo::getSuggest, baseErrorInfo.getSuggest()); + updateWrapper.set(baseErrorInfo.getRemark() != null, AppBaseErrInfo::getRemark, baseErrorInfo.getRemark()); + try { + return super.baseMapper.update(updateWrapper); + } catch (Exception e) { + return 0; + } + } + + /** + * 根据设备类型和错误编号查询基础错误 + * @param equipmentType 设备类型 + * @param errCode 错误编号 + * @return 列表 + */ + @Override + public List queryByEquipmentTypeAndErrorCode(Integer equipmentType, String errCode) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseErrInfo::getEquipmentType, equipmentType); + queryWrapper.eq(AppBaseErrInfo::getErrCode, errCode); + queryWrapper.orderByAsc(AppBaseErrInfo::getEquipmentType); + try { + return super.baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseGroupPermissionDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseGroupPermissionDao.java new file mode 100755 index 0000000..4a37500 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseGroupPermissionDao.java @@ -0,0 +1,38 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseGroupPermissionMapper; +import org.wcs.mapper.intf.AppBaseGroupPermissionService; +import org.wcs.model.po.app.AppBaseGroupPermission; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppBaseGroupPermissionDao extends ServiceImpl implements AppBaseGroupPermissionService { + + @Override + public boolean deleteByUserGroupThrowException(String userGroup) { + if(AppStringUtils.isEmpty(userGroup)) { + throw new RuntimeException("删除用户组权限表异常,用户组不能为空"); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseGroupPermission::getUserGroup, userGroup); + return super.remove(queryWrapper); + } + + @Override + public int insertThrowException(List appBaseGroupPermissionList) { + if(appBaseGroupPermissionList == null || appBaseGroupPermissionList.isEmpty()) { + return 0; + } + LocalDateTime now = LocalDateTime.now(); + for(AppBaseGroupPermission appBaseGroupPermission : appBaseGroupPermissionList) { + appBaseGroupPermission.setCreatTime(now); + } + return super.saveBatch(appBaseGroupPermissionList) ? appBaseGroupPermissionList.size() : 0; + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseLedDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseLedDao.java new file mode 100644 index 0000000..436a81a --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseLedDao.java @@ -0,0 +1,95 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseLedMapper; +import org.wcs.mapper.intf.AppBaseLedService; +import org.wcs.model.dto.serve.led.QueryLedReq; +import org.wcs.model.po.app.AppBaseLed; + +import java.util.List; + +/** + * LED 屏基础资料数据库操作 + */ +@Service +public class AppBaseLedDao extends ServiceImpl implements AppBaseLedService { + + /** + * 查询LED屏基础资料 + * @param queryLedReq 查询LED屏基础资料请求 + * @return 查询结果 + */ + @Override + public List queryLed(QueryLedReq queryLedReq) { + if(queryLedReq == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(queryLedReq.getLedIp() != null, AppBaseLed::getLedIp, queryLedReq.getLedIp()) + .like(queryLedReq.getLocation() != null, AppBaseLed::getLocation, queryLedReq.getLocation()) + .eq(queryLedReq.getLedBrand() != null, AppBaseLed::getLedBrand, queryLedReq.getLedBrand()); + queryWrapper.orderByAsc(AppBaseLed::getId); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 添加LED屏基础资料 + * @param appBaseLed LED屏基础资料 + * @return 添加结果 + */ + @Override + public int insert(AppBaseLed appBaseLed) { + try { + return super.baseMapper.insert(appBaseLed); + } catch (Exception e) { + return 0; + } + } + + /** + * 修改LED屏基础资料 + * @param appBaseLed LED屏基础资料 + * @return 修改结果 + */ + @Override + public int update(AppBaseLed appBaseLed) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppBaseLed::getId, appBaseLed.getId()); + updateWrapper.set(appBaseLed.getLedIp() != null, AppBaseLed::getLedIp, appBaseLed.getLedIp()) + .set(appBaseLed.getLedBrand() != null, AppBaseLed::getLedBrand, appBaseLed.getLedBrand()) + .set(appBaseLed.getHeight() != null, AppBaseLed::getHeight, appBaseLed.getHeight()) + .set(appBaseLed.getWidth() != null, AppBaseLed::getWidth, appBaseLed.getWidth()) + .set(appBaseLed.getColorType() != null, AppBaseLed::getColorType, appBaseLed.getColorType()) + .set(appBaseLed.getLocation() != null, AppBaseLed::getLocation, appBaseLed.getLocation()) + .set(appBaseLed.getIsExternal() != null, AppBaseLed::getIsExternal, appBaseLed.getIsExternal()) + .set(appBaseLed.getRemark() != null, AppBaseLed::getRemark, appBaseLed.getRemark()); + try { + return super.baseMapper.update(appBaseLed, updateWrapper); + } catch (Exception e) { + return 0; + } + } + + /** + * 删除LED屏基础资料 + * @param id LED屏基础资料ID + * @return 删除结果 + */ + @Override + public int delete(String id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseLed::getId, id); + try { + return super.baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseMaintenanceInfoDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseMaintenanceInfoDao.java new file mode 100755 index 0000000..05ad023 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseMaintenanceInfoDao.java @@ -0,0 +1,11 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseMaintenanceInfoMapper; +import org.wcs.mapper.intf.AppBaseMaintenanceInfoService; +import org.wcs.model.po.app.AppBaseMaintenanceInfo; + +@Service +public class AppBaseMaintenanceInfoDao extends ServiceImpl implements AppBaseMaintenanceInfoService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseMenuDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseMenuDao.java new file mode 100755 index 0000000..40a3b4d --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseMenuDao.java @@ -0,0 +1,147 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseMenuMapper; +import org.wcs.mapper.intf.AppBaseMenuService; +import org.wcs.model.po.app.AppBaseGroupPermission; +import org.wcs.model.po.app.AppBaseMenu; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.Arrays; +import java.util.List; + +/** + * 菜单表数据层持久类 + */ +@Service +@Slf4j +public class AppBaseMenuDao extends ServiceImpl implements AppBaseMenuService { + + /** + * 查询一个用户组的所有菜单记录 + * @param userGroup 用户组 + * @return 结果 + */ + @Override + public List queryPermission(String userGroup) { + if(AppStringUtils.isEmpty(userGroup)) { + return null; + } + try { + return baseMapper.queryPermission(userGroup); + } catch (Exception ex) { + log.error("查询权限失败:{},用户组:{}", ex, userGroup); + return null; + } + } + + /** + * 根据条件模糊查询 + * @param appBaseMenu 查询条件 + * @return 查询结果 + */ + @Override + public List queryIndistinct(AppBaseMenu appBaseMenu) { + try { + if(AppBeanUtils.isAllPropertyNull(appBaseMenu)) { + return super.list(); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(appBaseMenu.getMenuName() != null, AppBaseMenu::getMenuName, appBaseMenu.getMenuName()); + queryWrapper.like(appBaseMenu.getMenuIco() != null, AppBaseMenu::getMenuIco, appBaseMenu.getMenuIco()); + queryWrapper.like(appBaseMenu.getMenuId() != null, AppBaseMenu::getMenuId, appBaseMenu.getMenuId()); + queryWrapper.like(appBaseMenu.getRouterName() != null, AppBaseMenu::getRouterName, appBaseMenu.getRouterName()); + queryWrapper.like(appBaseMenu.getFatherMenuId() != null, AppBaseMenu::getFatherMenuId, appBaseMenu.getFatherMenuId()); + queryWrapper.like(appBaseMenu.getMenuLevel() != null, AppBaseMenu::getMenuLevel, appBaseMenu.getMenuLevel()); + queryWrapper.like(appBaseMenu.getMenuStatus() != null, AppBaseMenu::getMenuStatus, appBaseMenu.getMenuStatus()); + return super.list(queryWrapper); + } catch (Exception ex) { + log.error("模糊查询菜单信息失败", ex); + return null; + } + } + + /** + * 查询菜单信息 + * @param appBaseMenu 查询条件 + * @return 查询结果 + */ + @Override + public List query(AppBaseMenu appBaseMenu) { + if(AppBeanUtils.isAllPropertyNull(appBaseMenu)) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(appBaseMenu.getMenuName() != null, AppBaseMenu::getMenuName, appBaseMenu.getMenuName()) + .eq(appBaseMenu.getMenuIco() != null, AppBaseMenu::getMenuIco, appBaseMenu.getMenuIco()) + .eq(appBaseMenu.getMenuId() != null, AppBaseMenu::getMenuId, appBaseMenu.getMenuId()) + .eq(appBaseMenu.getRouterName() != null, AppBaseMenu::getRouterName, appBaseMenu.getRouterName()) + .eq(appBaseMenu.getFatherMenuId() != null, AppBaseMenu::getFatherMenuId, appBaseMenu.getFatherMenuId()) + .eq(appBaseMenu.getMenuLevel() != null, AppBaseMenu::getMenuLevel, appBaseMenu.getMenuLevel()) + .eq(appBaseMenu.getMenuStatus() != null, AppBaseMenu::getMenuStatus, appBaseMenu.getMenuStatus()); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + log.error("查询菜单信息失败", ex); + return null; + } + } + + /** + * 批量插入数据 + * @param menus 菜单 + * @return 插入结果 + */ + @Override + public int insert(AppBaseMenu... menus) { + if(menus.length < 1) { + return 0; + } + try { + return super.saveBatch(Arrays.stream(menus).toList()) ? menus.length : 0; + } catch (Exception ex) { + log.error("插入菜单信息失败", ex); + return 0; + } + } + + /** + * 删除菜单信息 + * @param menuId 菜单ID + * @return 结果 + */ + @Override + public int delete(String menuId) { + if(AppStringUtils.isEmpty(menuId)) { + return 0; + } + try { + return super.removeById(menuId) ? 1 : 0; + } catch (Exception ex) { + log.error("删除菜单信息失败", ex); + return 0; + } + } + + /** + * 更新菜单信息 + * @param appBaseMenu 菜单信息 + * @return 结果 + */ + @Override + public int update(AppBaseMenu appBaseMenu) { + if(appBaseMenu == null) { + return 0; + } + try { + return super.updateById(appBaseMenu) ? 1 : 0; + } catch (Exception ex) { + log.error("更新菜单信息失败", ex); + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBasePlcDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBasePlcDao.java new file mode 100755 index 0000000..f73c282 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBasePlcDao.java @@ -0,0 +1,133 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBasePlcMapper; +import org.wcs.mapper.intf.AppBasePlcService; +import org.wcs.model.po.app.AppBasePlc; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 箱式线 PLC 基础信息类 + */ +@Service +public class AppBasePlcDao extends ServiceImpl implements AppBasePlcService { + + + /** + * 条件模糊查询 + * @param plcName plc 名称 + * @param plcType plc 类型 + * @return 查询结果 + */ + @Override + public List queryIndistinct(String plcName, Integer plcType) { + if(AppStringUtils.isEmpty(plcName) && plcType == null) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByAsc(AppBasePlc::getPlcId); + try{ + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(plcName), AppBasePlc::getPlcName, plcName); + queryWrapper.eq(plcType != null, AppBasePlc::getPlcType, plcType); + queryWrapper.orderByAsc(AppBasePlc::getPlcId); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据主键查询 + * @param plcId 主键 + * @return 查询结果 + */ + @Override + public List queryById(Integer plcId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBasePlc::getPlcId, plcId); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 查询所有数据 + * @return 所有数据 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch (Exception e) { + return null; + } + } + + /** + * 插入一条数据 + * @param appBasePlc 数据 + * @return 插入结果 + */ + @Override + public int insert(AppBasePlc appBasePlc) { + appBasePlc.setCreateTime(LocalDateTime.now()); + appBasePlc.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appBasePlc) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 更新一条数据 + * @param appBasePlc 数据 + * @return 更新结果 + */ + @Override + public int update(AppBasePlc appBasePlc) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppBasePlc::getPlcId, appBasePlc.getPlcId()); + updateWrapper.set(AppStringUtils.isNotEmpty(appBasePlc.getPlcName()), AppBasePlc::getPlcName, appBasePlc.getPlcName()) + .set(appBasePlc.getPlcType() != null, AppBasePlc::getPlcType, appBasePlc.getPlcType()) + .set(appBasePlc.getPlcStatus() != null, AppBasePlc::getPlcStatus, appBasePlc.getPlcStatus()) + .set(AppStringUtils.isNotEmpty(appBasePlc.getIp()), AppBasePlc::getIp, appBasePlc.getIp()) + .set(appBasePlc.getPort() != null, AppBasePlc::getPort, appBasePlc.getPort()) + .set(appBasePlc.getSlot() != null, AppBasePlc::getSlot, appBasePlc.getSlot()) + .set(appBasePlc.getRack() != null, AppBasePlc::getRack, appBasePlc.getRack()) + .set(AppBasePlc::getUpdateTime, LocalDateTime.now()) + .set(AppStringUtils.isNotEmpty(appBasePlc.getRemark()), AppBasePlc::getRemark, appBasePlc.getRemark()); + try { + return super.update(updateWrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 删除一个PLC + * @param plcId PLCID + * @return 删除结果 + */ + @Override + public int deletePlc(Integer plcId) { + try { + return super.removeById(plcId) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseScanMethodDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseScanMethodDao.java new file mode 100644 index 0000000..b5db251 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseScanMethodDao.java @@ -0,0 +1,29 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseScanMethodMapper; +import org.wcs.mapper.intf.AppBaseScanMethodService; +import org.wcs.model.po.app.AppBaseScanMethod; + +import java.util.List; + +@Service +public class AppBaseScanMethodDao extends ServiceImpl implements AppBaseScanMethodService { + + /** + * 查询所有 + * @return 查询结果 + */ + @Override + public List queryAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.orderByAsc(AppBaseScanMethod::getMethodId); + try { + return super.list(wrapper); + } catch (Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserDao.java new file mode 100755 index 0000000..47eabc8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserDao.java @@ -0,0 +1,173 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseUserMapper; +import org.wcs.mapper.intf.AppBaseUserService; +import org.wcs.model.dto.serve.user.QueryUserReq; +import org.wcs.model.po.app.AppBaseUser; +import org.wcs.model.po.app.AppBaseUserGroup; +import org.wcs.model.po.app.JoinUserInfoWithGroupInfo; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 用户表操作类 + */ +@Service +@Slf4j +public class AppBaseUserDao extends ServiceImpl implements AppBaseUserService { + + /** + * 查询用户表 + * @param appBaseUser 查询条件 + * @return 结果 + */ + @Override + public List query(AppBaseUser appBaseUser) { + if(appBaseUser == null || AppBeanUtils.isAllPropertyNull(appBaseUser)) { + return null; + } + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(appBaseUser.getUserId() != null, AppBaseUser::getUserId, appBaseUser.getUserId()) + .eq(appBaseUser.getUserName() != null, AppBaseUser::getUserName, appBaseUser.getUserName()) + .eq(appBaseUser.getUserPwd() != null, AppBaseUser::getUserPwd, appBaseUser.getUserPwd()) + .eq(appBaseUser.getUserStatus() != null, AppBaseUser::getUserStatus, appBaseUser.getUserStatus()) + .eq(appBaseUser.getUserGroup() != null, AppBaseUser::getUserGroup, appBaseUser.getUserGroup()) + .eq(appBaseUser.getSex() != null, AppBaseUser::getSex, appBaseUser.getSex()); + return super.list(queryWrapper); + } catch (Exception ex) { + log.error("查询用户表异常", ex); + return null; + } + } + + /** + * 根据用户ID查询用户表 + * @param userId 用户ID + * @return 列表 + */ + @Override + public List queryByUserId(String userId) { + if(AppStringUtils.isEmpty(userId)) { + return null; + } + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppBaseUser::getUserId, userId); + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 查询用户带用户组的信息 + * @param userId 用户ID + * @return 结果 + */ + @Override + public List query(String userId) { + if(AppStringUtils.isEmpty(userId)) { + return null; + } + try { + return baseMapper.queryUserInfoAndGroupInfo(userId); + } catch (Exception ex) { + log.error("联表用户组表查询用户表异常", ex); + return null; + } + } + + /** + * 条件查询不超过某一级别的用户 + * @param user 查询条件 + * @param maxUserLevel 最高级别 + * @return 查询结果 + */ + @Override + public List query(AppBaseUser user, Integer maxUserLevel) { + if(user == null) { + return null; + } + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(user.getUserId()), AppBaseUser::getUserId, user.getUserId()) + .like(AppStringUtils.isNotEmpty(user.getUserName()), AppBaseUser::getUserName, user.getUserName()) + .eq(user.getUserStatus() != null, AppBaseUser::getUserStatus, user.getUserStatus()) + .like(AppStringUtils.isNotEmpty(user.getUserGroup()), AppBaseUser::getUserGroup, user.getUserGroup()) + .eq(user.getSex() != null, AppBaseUser::getSex, user.getSex()) + .le(AppBaseUser::getUserLevel, maxUserLevel); + return super.list(queryWrapper); + } catch (Exception ex) { + log.error("查询用户表异常", ex); + return null; + } + } + + /** + * 更新用户表 + * @param user 更新条件 + * @return 更新结果 + */ + @Override + public int update(AppBaseUser user) { + if(user == null) { + return 0; + } + try { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(user.getUserId() != null, AppBaseUser::getUserId, user.getUserId()) + .set(AppStringUtils.isNotEmpty(user.getUserName()), AppBaseUser::getUserName, user.getUserName()) + .set(AppStringUtils.isNotEmpty(user.getUserPwd()), AppBaseUser::getUserPwd, user.getUserPwd()) + .set(user.getUserStatus() != null, AppBaseUser::getUserStatus, user.getUserStatus()) + .set(user.getUserGroup() != null, AppBaseUser::getUserGroup, user.getUserGroup()) + .set(user.getSex() != null, AppBaseUser::getSex, user.getSex()) + .set(user.getUserLevel() != null, AppBaseUser::getUserLevel, user.getUserLevel()) + .set(AppStringUtils.isNotEmpty(user.getPhoto()), AppBaseUser::getPhoto, user.getPhoto()) + .set(user.getLastLoginTime() != null, AppBaseUser::getLastLoginTime, user.getLastLoginTime()) + .set(AppBaseUser::getUpdateTime, LocalDateTime.now()); + return super.update(user, updateWrapper) ? 1 : 0; + } catch (Exception e) { + log.error("更新用户表异常", e); + return 0; + } + } + + /** + * 根据用户ID删除用户表 + * @param userId 用户ID + * @return 结果 + */ + @Override + public int deleteWithUserId(String userId) { + try { + return super.removeById(userId) ? 1 : 0; + } catch (Exception e) { + log.error("删除用户表失败", e); + return 0; + } + } + + @Override + public int insert(AppBaseUser appBaseUser) { + if(appBaseUser == null) { + return 0; + } + try { + appBaseUser.setCreateTime(LocalDateTime.now()); + appBaseUser.setUpdateTime(LocalDateTime.now()); + return super.save(appBaseUser) ? 1 : 0; + } catch (Exception e) { + log.error("插入用户表异常", e); + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserGroupDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserGroupDao.java new file mode 100755 index 0000000..819ed75 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppBaseUserGroupDao.java @@ -0,0 +1,89 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppBaseUserGroupMapper; +import org.wcs.mapper.intf.AppBaseUserGroupService; +import org.wcs.model.po.app.AppBaseUserGroup; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +@Slf4j +public class AppBaseUserGroupDao extends ServiceImpl implements AppBaseUserGroupService { + + + @Override + public List queryWithLevelMin(Integer groupLevel) { + if(groupLevel == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.le(AppBaseUserGroup::getGroupLevel, groupLevel); + try { + return super.list(queryWrapper); + } catch (Exception e) { + log.error("查询用户组表异常,查询小于用户组等级的数据", e); + return null; + } + } + + @Override + public int insert(AppBaseUserGroup appBaseUserGroup) { + if(appBaseUserGroup == null) { + return 0; + } + appBaseUserGroup.setCreateTime(LocalDateTime.now()); + appBaseUserGroup.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appBaseUserGroup) ? 1 : 0; + } catch (Exception e) { + log.error("插入用户组表异常", e); + return 0; + } + } + + /** + * 删除一个用户组 ---- 不抓取异常 + * @param userGroup 要删除的用户组 + * @return 删除结果 + */ + @Override + public int deleteByUserGroupThrowException(String userGroup) { + if(AppStringUtils.isEmpty(userGroup)) { + throw new RuntimeException("删除用户组表异常,用户组不能为空"); + } + return super.removeById(userGroup) ? 1 : 0; + } + + /** + * 更新用户组表 + * @param appBaseUserGroup 更新用户组条件 + * @return 更新结果 + */ + @Override + public int update(AppBaseUserGroup appBaseUserGroup) { + if(appBaseUserGroup == null || AppStringUtils.isEmpty(appBaseUserGroup.getUserGroup())) { + return 0; + } + appBaseUserGroup.setUpdateTime(LocalDateTime.now()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppBaseUserGroup::getUserGroup, appBaseUserGroup.getUserGroup()); + updateWrapper.set(AppStringUtils.isNotEmpty(appBaseUserGroup.getGroupName()), AppBaseUserGroup::getGroupName, appBaseUserGroup.getGroupName()) + .set(appBaseUserGroup.getGroupLevel() != null,AppBaseUserGroup::getGroupLevel, appBaseUserGroup.getGroupLevel()) + .set(appBaseUserGroup.getGroupStatus() != null, AppBaseUserGroup::getGroupStatus, appBaseUserGroup.getGroupStatus()) + .set(AppBaseUserGroup::getUpdateTime, appBaseUserGroup.getUpdateTime()); + try { + return super.update(updateWrapper) ? 1 : 0; + } catch (Exception e) { + log.error("更新用户组表异常", e); + return 0; + } + + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyCheckStandDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyCheckStandDao.java new file mode 100644 index 0000000..05cb94c --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyCheckStandDao.java @@ -0,0 +1,139 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppConveyCheckStandMapper; +import org.wcs.mapper.intf.AppConveyCheckStandService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyStand.QueryCheckStandReq; +import org.wcs.model.po.app.AppConveyCheckStand; + +import java.util.List; + +/** + * 输送线复核台数据库操作类 + */ +@Slf4j +@Service +public class AppConveyCheckStandDao extends ServiceImpl implements AppConveyCheckStandService { + + /** + * 查询 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 站台列表 + */ + @Override + public Tuple2> query(QueryCheckStandReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(request.getStandId() != null, AppConveyCheckStand::getStandId, request.getStandId()); + queryWrapper.like(request.getAreaId() != null, AppConveyCheckStand::getAreaId, request.getAreaId()); + queryWrapper.eq(request.getStandStatus() != null, AppConveyCheckStand::getStandStatus, request.getStandStatus()); + queryWrapper.orderByAsc(AppConveyCheckStand::getStandId); + try { + Page page = new Page<>(pageIndex, pageSize); + Page appConveyCheckStandPage = baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(appConveyCheckStandPage.getTotal(), appConveyCheckStandPage.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 根据站台ID查询 + * @param standId 站台ID + * @return 站台列表 + */ + @Override + public List queryByStandId(String standId) { + if(standId == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppConveyCheckStand::getStandId, standId); + queryWrapper.orderByAsc(AppConveyCheckStand::getStandId); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 添加一条数据 + * @param appConveyCheckStand 添加参数 + * @return 添加结果 + */ + @Override + public DataBaseActionResult insert(AppConveyCheckStand appConveyCheckStand) { + if(appConveyCheckStand == null) { + return new DataBaseActionResult<>(0, new Exception("参数错误")); + } + try { + int insert = baseMapper.insert(appConveyCheckStand); + return new DataBaseActionResult<>(insert); + } catch (Exception e) { + log.error("复核台基础数据添加数据失败", e); + return new DataBaseActionResult<>(0, e); + } + } + + /** + * 根据站台ID删除数据 + * @param standId 站台ID + * @return 删除结果 + */ + @Override + public DataBaseActionResult deleteByStandId(String standId) { + if(standId == null) { + return new DataBaseActionResult<>(0, new Exception("参数错误")); + } + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppConveyCheckStand::getStandId, standId); + int delete = baseMapper.delete(queryWrapper); + return new DataBaseActionResult<>(delete); + } catch (Exception e) { + log.error("复核台基础数据删除数据失败", e); + return new DataBaseActionResult<>(0, e); + } + } + + /** + * 修改一条数据 + * @param appConveyCheckStand 修改参数 + * @return 修改结果 + */ + @Override + public DataBaseActionResult update(AppConveyCheckStand appConveyCheckStand) { + if(appConveyCheckStand == null) { + return new DataBaseActionResult<>(0, new Exception("参数错误")); + } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppConveyCheckStand::getStandId, appConveyCheckStand.getStandId()); + updateWrapper.set(AppConveyCheckStand::getAreaId, appConveyCheckStand.getAreaId()); + updateWrapper.set(AppConveyCheckStand::getStandStatus, appConveyCheckStand.getStandStatus()); + updateWrapper.set(AppConveyCheckStand::getPlcId, appConveyCheckStand.getPlcId()); + updateWrapper.set(AppConveyCheckStand::getRemark, appConveyCheckStand.getRemark()); + updateWrapper.set(AppConveyCheckStand::getStandName, appConveyCheckStand.getStandName()); + updateWrapper.set(AppConveyCheckStand::getWriteTaskAddress, appConveyCheckStand.getWriteTaskAddress()); + updateWrapper.set(AppConveyCheckStand::getReadArriveAddress, appConveyCheckStand.getReadArriveAddress()); + updateWrapper.set(AppConveyCheckStand::getRouter, appConveyCheckStand.getRouter()); + try { + int update = baseMapper.update(appConveyCheckStand, updateWrapper); + return new DataBaseActionResult<>(update); + } catch (Exception e) { + log.error("复核台基础数据修改数据失败", e); + return new DataBaseActionResult<>(0, e); + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyLocationDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyLocationDao.java new file mode 100644 index 0000000..563eac6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyLocationDao.java @@ -0,0 +1,129 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppConveyLocationMapper; +import org.wcs.mapper.intf.AppConveyLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.convey.QueryConveyLocationReq; +import org.wcs.model.po.app.AppConveyLocation; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppConveyLocationDao extends ServiceImpl implements AppConveyLocationService { + + /** + * 分页查询输送线点位信息 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> queryConveyLocation(QueryConveyLocationReq request, Integer pageSize, Integer pageIndex) { + if(pageSize == null || pageSize <= 0 || pageIndex == null || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationId()), AppConveyLocation::getLocationId, request.getLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getBusinessLocationId()), AppConveyLocation::getBusinessLocationId, request.getBusinessLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationName()), AppConveyLocation::getLocationName, request.getLocationName()); + queryWrapper.eq(request.getLocationStatus() != null, AppConveyLocation::getLocationStatus, request.getLocationStatus()); + queryWrapper.eq(request.getLocationType() != null, AppConveyLocation::getLocationType, request.getLocationType()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getAreaId()), AppConveyLocation::getAreaId, request.getAreaId()); + queryWrapper.orderByAsc(AppConveyLocation::getLocationId); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ignored) { + return null; + } + } + + /** + * 根据locationId查询 + * @param locationId locationId + * @return AppConveyLocation + */ + @Override + public List queryByLocationId(String locationId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppConveyLocation::getLocationId, locationId); + queryWrapper.orderByAsc(AppConveyLocation::getLocationId); + try{ + return super.list(queryWrapper); + } catch (Exception e){ + return null; + } + } + + /** + * 插入一条数据 + * @param appConveyLocation 要插入的数据 + * @return 插入结果 + */ + @Override + public boolean insertConveyLocation(AppConveyLocation appConveyLocation) { + if(appConveyLocation == null) { + return false; + } + appConveyLocation.setCreateTime(LocalDateTime.now()); + appConveyLocation.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appConveyLocation); + } catch (Exception e) { + return false; + } + } + + /** + * 以位置号更新数据 + * @param appConveyLocation 更新的数据 + * @return 更新结果 + */ + @Override + public boolean updateConveyLocationByLocationId(AppConveyLocation appConveyLocation) { + if(appConveyLocation == null || AppStringUtils.isEmpty(appConveyLocation.getLocationId())) { + return false; + } + appConveyLocation.setUpdateTime(LocalDateTime.now()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppConveyLocation::getLocationId, appConveyLocation.getLocationId()) + .set(appConveyLocation.getBusinessLocationId() != null, AppConveyLocation::getBusinessLocationId, appConveyLocation.getBusinessLocationId()) + .set(appConveyLocation.getLocationName() != null, AppConveyLocation::getLocationName, appConveyLocation.getLocationName()) + .set(appConveyLocation.getLocationStatus() != null, AppConveyLocation::getLocationStatus, appConveyLocation.getLocationStatus()) + .set(appConveyLocation.getLocationType() != null, AppConveyLocation::getLocationType, appConveyLocation.getLocationType()) + .set(appConveyLocation.getPlcId() != null, AppConveyLocation::getPlcId, appConveyLocation.getPlcId()) + .set(appConveyLocation.getLocationRouter() != null, AppConveyLocation::getLocationRouter, appConveyLocation.getLocationRouter()) + .set(appConveyLocation.getReadStatusAddress() != null, AppConveyLocation::getReadStatusAddress, appConveyLocation.getReadStatusAddress()) + .set(appConveyLocation.getWriteTaskAddress() != null, AppConveyLocation::getWriteTaskAddress, appConveyLocation.getWriteTaskAddress()) + .set(appConveyLocation.getRemark() != null, AppConveyLocation::getRemark, appConveyLocation.getRemark()); + try { + return super.update(updateWrapper); + } catch (Exception e) { + return false; + } + } + + /** + * 查询所有的 数据 + * @return 查询结果 + */ + @Override + public List queryAll() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByAsc(AppConveyLocation::getLocationId); + try{ + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyPickStandDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyPickStandDao.java new file mode 100644 index 0000000..755db5a --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyPickStandDao.java @@ -0,0 +1,132 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppConveyPickStandMapper; +import org.wcs.mapper.intf.AppConveyPickStandService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyStand.QueryPickStandReq; +import org.wcs.model.po.app.AppConveyPickStand; + +import java.util.List; + +@Slf4j +@Service +public class AppConveyPickStandDao extends ServiceImpl implements AppConveyPickStandService { + + /** + * 查询捡货站台 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 站台列表 + */ + @Override + public Tuple2> queryPickStand(QueryPickStandReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(request.getAreaId() != null, AppConveyPickStand::getAreaId, request.getAreaId()); + queryWrapper.like(request.getStandId() != null, AppConveyPickStand::getStandId, request.getStandId()); + queryWrapper.eq(request.getStandStatus() != null, AppConveyPickStand::getStatus, request.getStandStatus()); + queryWrapper.eq(request.getStandType() != null, AppConveyPickStand::getStandType, request.getStandType()); + try { + Page page = new Page<>(pageIndex, pageSize); + Page conveyPickStandPage = baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(conveyPickStandPage.getTotal(), conveyPickStandPage.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 根据站台ID查询站台 + * @param standId 站台ID + * @return 站台列表 + */ + @Override + public List queryPickStandByStandId(String standId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppConveyPickStand::getStandId, standId); + queryWrapper.orderByAsc(AppConveyPickStand::getStandId); + try { + return super.list(queryWrapper); + } catch ( Exception e) { + return null; + } + } + + /** + * 查询所有站台 + * @return 站台列表 + */ + @Override + public List queryAll() { + try{ + return super.list(); + } catch ( Exception e) { + return null; + } + } + + /** + * 添加捡选站台 + * @param appConveyPickStand 添加参数 + * @return 添加结果 + */ + @Override + public int insertPickStand(AppConveyPickStand appConveyPickStand) { + try { + return super.baseMapper.insert(appConveyPickStand); + } catch (Exception e) { + log.error("数据库插入捡选站台数据异常", e); + return 0; + } + } + + /** + * 删除捡选站台 + * @param standId 站台ID + * @return 删除结果 + */ + @Override + public int deletePickStand(String standId) { + try { + return super.removeById(standId) ? 1 : 0; + } catch (Exception e) { + log.error("数据库删除站台数据异常", e); + return 0; + } + } + + /** + * 修改捡选站台 + * @param appConveyPickStand 修改参数 + * @return 修改结果 + */ + @Override + public int updatePickStand(AppConveyPickStand appConveyPickStand) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppConveyPickStand::getStandId, appConveyPickStand.getStandId()); + updateWrapper.set(appConveyPickStand.getStandName() != null, AppConveyPickStand::getStandName, appConveyPickStand.getStandName()); + updateWrapper.set(appConveyPickStand.getPlcId() != null, AppConveyPickStand::getPlcId, appConveyPickStand.getPlcId()); + updateWrapper.set(appConveyPickStand.getAreaId() != null, AppConveyPickStand::getAreaId, appConveyPickStand.getAreaId()); + updateWrapper.set(appConveyPickStand.getStatus() != null, AppConveyPickStand::getStatus, appConveyPickStand.getStatus()); + updateWrapper.set(appConveyPickStand.getStandType() != null, AppConveyPickStand::getStandType, appConveyPickStand.getStandType()); + updateWrapper.set(appConveyPickStand.getRouter() != null, AppConveyPickStand::getRouter, appConveyPickStand.getRouter()); + updateWrapper.set(appConveyPickStand.getReadArriveAddress() != null, AppConveyPickStand::getReadArriveAddress, appConveyPickStand.getReadArriveAddress()); + updateWrapper.set(appConveyPickStand.getWriteTaskAddress() != null, AppConveyPickStand::getWriteTaskAddress, appConveyPickStand.getWriteTaskAddress()); + updateWrapper.set(appConveyPickStand.getRemark() != null, AppConveyPickStand::getRemark, appConveyPickStand.getRemark()); + try { + return super.update(appConveyPickStand, updateWrapper) ? 1 : 0; + } catch (Exception e) { + log.error("数据库修改站台数据异常", e); + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskBakDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskBakDao.java new file mode 100644 index 0000000..e2b312d --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskBakDao.java @@ -0,0 +1,113 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppConveyTaskBakMapper; +import org.wcs.mapper.intf.AppConveyTaskBakService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq; +import org.wcs.model.po.app.AppConveyTaskBak; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Service +public class AppConveyTaskBakDao extends ServiceImpl implements AppConveyTaskBakService { + + /** + * 查询 conveyTaskBak + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> queryConveyTaskBak(QueryConveyTaskReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + Integer plcTaskId = null; + if(AppStringUtils.isNotEmpty(request.getPlcTaskId())) { + plcTaskId = AppStringUtils.forceToInt(request.getPlcTaskId()); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getTaskId()), AppConveyTaskBak::getTaskId, request.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getVehicleNo()), AppConveyTaskBak::getVehicleNo, request.getVehicleNo()); + queryWrapper.eq(request.getTaskStatus() != null, AppConveyTaskBak::getTaskStatus, request.getTaskStatus()); + queryWrapper.eq(request.getTaskType() != null, AppConveyTaskBak::getTaskType, request.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocation()), AppConveyTaskBak::getLocation, request.getLocation()); + queryWrapper.eq(plcTaskId != null, AppConveyTaskBak::getPlcId, plcTaskId); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getArriveLocation()), AppConveyTaskBak::getArriveLocation, request.getArriveLocation()); + if(request.getCreateTimeRange() != null && request.getCreateTimeRange().length == 2) { + queryWrapper.between(request.getCreateTimeRange()[0] != null && request.getCreateTimeRange()[1] != null, AppConveyTaskBak::getCreateTime, request.getCreateTimeRange()[0], request.getCreateTimeRange()[1]); + } + if(request.getArriveTimeRange() != null && request.getArriveTimeRange().length == 2) { + queryWrapper.between(request.getArriveTimeRange()[0] != null && request.getArriveTimeRange()[1] != null, AppConveyTaskBak::getArriveTime, request.getArriveTimeRange()[0], request.getArriveTimeRange()[1]); + } + queryWrapper.orderByDesc(AppConveyTaskBak::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 根据 taskId 查询 conveyTaskBak + * @param taskId 任务ID + * @return 查询结果 + */ + @Override + public List queryByTaskId(String taskId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppConveyTaskBak::getTaskId, taskId); + queryWrapper.orderByDesc(AppConveyTaskBak::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 查询 conveyTaskBak + * @param request 搜索参数 + * @return 搜索结果 + */ + @Override + public List queryConveyTaskBak(QueryConveyTaskReq request) { + if(request == null) { + return null; + } + Integer plcTaskId = null; + if(AppStringUtils.isNotEmpty(request.getPlcTaskId())) { + plcTaskId = AppStringUtils.forceToInt(request.getPlcTaskId()); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getTaskId()), AppConveyTaskBak::getTaskId, request.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getVehicleNo()), AppConveyTaskBak::getVehicleNo, request.getVehicleNo()); + queryWrapper.eq(request.getTaskStatus() != null, AppConveyTaskBak::getTaskStatus, request.getTaskStatus()); + queryWrapper.eq(request.getTaskType() != null, AppConveyTaskBak::getTaskType, request.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocation()), AppConveyTaskBak::getLocation, request.getLocation()); + queryWrapper.eq(plcTaskId != null, AppConveyTaskBak::getPlcId, plcTaskId); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getArriveLocation()), AppConveyTaskBak::getArriveLocation, request.getArriveLocation()); + if(request.getCreateTimeRange() != null && request.getCreateTimeRange().length == 2) { + queryWrapper.between(request.getCreateTimeRange()[0] != null && request.getCreateTimeRange()[1] != null, AppConveyTaskBak::getCreateTime, request.getCreateTimeRange()[0], request.getCreateTimeRange()[1]); + } + if(request.getArriveTimeRange() != null && request.getArriveTimeRange().length == 2) { + queryWrapper.between(request.getArriveTimeRange()[0] != null && request.getArriveTimeRange()[1] != null, AppConveyTaskBak::getArriveTime, request.getArriveTimeRange()[0], request.getArriveTimeRange()[1]); + } + queryWrapper.orderByDesc(AppConveyTaskBak::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java new file mode 100755 index 0000000..26a3fa8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskDao.java @@ -0,0 +1,139 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppConveyTaskMapper; +import org.wcs.mapper.intf.AppConveyTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq; +import org.wcs.model.po.app.AppConveyTask; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 箱式线任务表操作类 + */ +@Service +public class AppConveyTaskDao extends ServiceImpl implements AppConveyTaskService { + + /** + * 查询箱式线任务 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 结果 + */ + @Override + public Tuple2> queryConveyTask(QueryConveyTaskReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + Integer plcTaskId = null; + if(AppStringUtils.isNotEmpty(request.getPlcTaskId())) { + plcTaskId = AppStringUtils.forceToInt(request.getPlcTaskId()); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getTaskId()), AppConveyTask::getTaskId, request.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getVehicleNo()), AppConveyTask::getVehicleNo, request.getVehicleNo()); + queryWrapper.eq(request.getTaskStatus() != null, AppConveyTask::getTaskStatus, request.getTaskStatus()); + queryWrapper.eq(request.getTaskType() != null, AppConveyTask::getTaskType, request.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocation()), AppConveyTask::getLocation, request.getLocation()); + queryWrapper.eq(plcTaskId != null, AppConveyTask::getPlcId, plcTaskId); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getArriveLocation()), AppConveyTask::getArriveLocation, request.getArriveLocation()); + if(request.getCreateTimeRange() != null && request.getCreateTimeRange().length == 2) { + queryWrapper.between(request.getCreateTimeRange()[0] != null && request.getCreateTimeRange()[1] != null, AppConveyTask::getCreateTime, request.getCreateTimeRange()[0], request.getCreateTimeRange()[1]); + } + if(request.getArriveTimeRange() != null && request.getArriveTimeRange().length == 2) { + queryWrapper.between(request.getArriveTimeRange()[0] != null && request.getArriveTimeRange()[1] != null, AppConveyTask::getArriveTime, request.getArriveTimeRange()[0], request.getArriveTimeRange()[1]); + } + queryWrapper.orderByDesc(AppConveyTask::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 添加箱式线任务 + * @param appConveyTask 添加参数 + * @return 添加结果 + */ + @Override + public int insertConveyTask(AppConveyTask appConveyTask) { + if(appConveyTask == null) { + return 0; + } + appConveyTask.setCreateTime(LocalDateTime.now()); + appConveyTask.setUpdateTime(LocalDateTime.now()); + try { + return super.baseMapper.insert(appConveyTask); + } catch (Exception e) { + return 0; + } + } + + /** + * 根据任务ID查询箱式线任务 + * @param taskId 任务ID + * @return 箱式线任务列表 + */ + @Override + public List queryByTaskId(String taskId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppConveyTask::getTaskId, taskId); + queryWrapper.orderByAsc(AppConveyTask::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e){ + return null; + } + } + + /** + * 更新箱式线任务数据,为null的不更新 + * @param appConveyTask 更新参数 + * @return 更新结果 + */ + @Override + public int updateConveyTask(AppConveyTask appConveyTask) { + if(appConveyTask == null) { + return 0; + } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppConveyTask::getTaskId, appConveyTask.getTaskId()); + updateWrapper.set(AppConveyTask::getUpdateTime, LocalDateTime.now()) + .set(appConveyTask.getTaskGroup() != null, AppConveyTask::getTaskGroup, appConveyTask.getTaskGroup()) + .set(appConveyTask.getTaskStatus() != null, AppConveyTask::getTaskStatus, appConveyTask.getTaskStatus()) + .set(appConveyTask.getTaskType() != null, AppConveyTask::getTaskType, appConveyTask.getTaskType()) + .set(appConveyTask.getOrderId() != null, AppConveyTask::getOrderId, appConveyTask.getOrderId()) + .set(appConveyTask.getVehicleNo() != null, AppConveyTask::getVehicleNo, appConveyTask.getVehicleNo()) + .set(appConveyTask.getLocation() != null, AppConveyTask::getLocation, appConveyTask.getLocation()) + .set(appConveyTask.getSize() != null, AppConveyTask::getSize, appConveyTask.getSize()) + .set(appConveyTask.getWeight() != null, AppConveyTask::getWeight, appConveyTask.getWeight()) + .set(appConveyTask.getLength() != null, AppConveyTask::getLength, appConveyTask.getLength()) + .set(appConveyTask.getWidth() != null, AppConveyTask::getWidth, appConveyTask.getWidth()) + .set(appConveyTask.getHeight() != null, AppConveyTask::getHeight, appConveyTask.getHeight()) + .set(appConveyTask.getArriveLocation() != null, AppConveyTask::getArriveLocation, appConveyTask.getArriveLocation()) + .set(appConveyTask.getArriveTime() != null, AppConveyTask::getArriveTime, appConveyTask.getArriveTime()) + .set(appConveyTask.getCompleteTime() != null, AppConveyTask::getCompleteTime, appConveyTask.getCompleteTime()) + .set(appConveyTask.getRemark() != null, AppConveyTask::getRemark, appConveyTask.getRemark()) + .set(appConveyTask.getTaskSource() != null, AppConveyTask::getTaskSource, appConveyTask.getTaskSource()) + .set(appConveyTask.getCreatePerson() != null, AppConveyTask::getCreatePerson, appConveyTask.getCreatePerson()) + .set(appConveyTask.getPlcId() != null, AppConveyTask::getPlcId, appConveyTask.getPlcId()); + try { + return baseMapper.update(updateWrapper); + } catch (Exception e) { + return 0; + } + + + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskEventDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskEventDao.java new file mode 100755 index 0000000..ffd6992 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppConveyTaskEventDao.java @@ -0,0 +1,15 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppConveyTaskEventMapper; +import org.wcs.mapper.intf.AppConveyTaskEventService; +import org.wcs.model.po.app.AppConveyTaskEvent; + +import java.util.List; + +@Service +public class AppConveyTaskEventDao extends ServiceImpl implements AppConveyTaskEventService { + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagControllerInfoDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagControllerInfoDao.java new file mode 100755 index 0000000..85410c7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagControllerInfoDao.java @@ -0,0 +1,119 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppEtagControllerInfoMapper; +import org.wcs.mapper.intf.AppEtagControllerInfoService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagBase.EtagControllerQueryReq; +import org.wcs.model.po.app.AppEtagControllerInfo; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 电子标签控制器数据访问层 + */ +@Service +public class AppEtagControllerInfoDao extends ServiceImpl implements AppEtagControllerInfoService { + + /** + * 查询电子标签控制器基础数据 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public Tuple2> queryEtagControllerInfo(EtagControllerQueryReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(request.getControllerName() != null, AppEtagControllerInfo::getControllerName, request.getControllerName()) + .like(request.getIp() != null, AppEtagControllerInfo::getIp, request.getIp()); + queryWrapper.orderByAsc(AppEtagControllerInfo::getControllerId); + Page page = new Page<>(pageIndex, pageSize); + try { + Page selectedPage = baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(selectedPage.getTotal(), selectedPage.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 根据ID查询电子标签控制器基础数据 + * @param etagControllerId 控制器ID + * @return 响应 + */ + @Override + public List queryEtagControllerInfoById(Integer etagControllerId) { + if(etagControllerId == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppEtagControllerInfo::getControllerId, etagControllerId); + queryWrapper.orderByAsc(AppEtagControllerInfo::getControllerId); + try { + return baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 添加电子标签控制器基础数据 + * @param appEtagControllerInfo 添加参数 + * @return 响应 + */ + @Override + public int insertEtagControllerInfo(AppEtagControllerInfo appEtagControllerInfo) { + if(appEtagControllerInfo == null) { + return 0; + } + appEtagControllerInfo.setCreateTime(LocalDateTime.now()); + appEtagControllerInfo.setUpdateTime(LocalDateTime.now()); + try { + return baseMapper.insert(appEtagControllerInfo); + } catch (Exception e) { + return 0; + } + } + + /** + * 修改电子标签控制器基础数据 + * @param appEtagControllerInfo 修改参数 + * @return 响应 + */ + @Override + public int updateEtagControllerInfo(AppEtagControllerInfo appEtagControllerInfo) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppEtagControllerInfo::getControllerId, appEtagControllerInfo.getControllerId()); + appEtagControllerInfo.setUpdateTime(LocalDateTime.now()); + try { + return baseMapper.update(appEtagControllerInfo, updateWrapper); + } catch (Exception e) { + return 0; + } + } + + /** + * 删除电子标签控制器基础数据 + * @param etagControllerId 删除参数 + * @return 响应 + */ + @Override + public int deleteEtagControllerInfoById(Integer etagControllerId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppEtagControllerInfo::getControllerId, etagControllerId); + try { + return baseMapper.delete(queryWrapper); + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagStockDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagStockDao.java new file mode 100755 index 0000000..bb15978 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagStockDao.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppEtagStockMapper; +import org.wcs.mapper.intf.AppEtagStockService; +import org.wcs.model.po.app.AppEtagStock; + +import java.util.List; + +/** + * 电子标签库存信息的操作类 + */ +@Service +public class AppEtagStockDao extends ServiceImpl implements AppEtagStockService { + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagInfoDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagInfoDao.java new file mode 100755 index 0000000..d89bc84 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagInfoDao.java @@ -0,0 +1,134 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppEtagTagInfoMapper; +import org.wcs.mapper.intf.AppEtagTagInfoService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagBase.EtagTagInfoQueryReq; +import org.wcs.model.po.app.AppEtagTagInfo; + +import java.util.List; + +/** + * 电子标签小标签信息表操作类 + */ +@Service +public class AppEtagTagInfoDao extends ServiceImpl implements AppEtagTagInfoService { + + /** + * 查询电子标签小标签信息 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public Tuple2> queryEtagTagInfo(EtagTagInfoQueryReq request, Integer pageSize, Integer pageIndex) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(request.getControllerId() != null, AppEtagTagInfo::getControllerId, request.getControllerId()); + queryWrapper.eq(request.getTagId() != null, AppEtagTagInfo::getTagId, request.getTagId()); + queryWrapper.eq(request.getTagType() != null, AppEtagTagInfo::getTagType, request.getTagType()); + queryWrapper.eq(request.getBusinessType() != null, AppEtagTagInfo::getBusinessType, request.getBusinessType()); + queryWrapper.like(request.getTagName() != null, AppEtagTagInfo::getTagName, request.getTagName()); + queryWrapper.like(request.getAreaId() != null, AppEtagTagInfo::getAreaId, request.getAreaId()); + queryWrapper.like(request.getTunnelNo() != null, AppEtagTagInfo::getTunnelNo, request.getTunnelNo()); + queryWrapper.orderByAsc(AppEtagTagInfo::getControllerId).orderByAsc(AppEtagTagInfo::getTagId); + try{ + Page page = new Page<>(pageIndex, pageSize); + Page appEtagTagInfoPage = baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(appEtagTagInfoPage.getTotal(), appEtagTagInfoPage.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 根据标签名称查询电子标签小标签信息 + * @param tagName 标签名称 + * @return 响应 + */ + @Override + public List queryEtagTagInfoByTagName(String tagName) { + if(tagName == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppEtagTagInfo::getTagName, tagName); + queryWrapper.orderByAsc(AppEtagTagInfo::getControllerId); + try { + return baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 添加电子标签小标签信息 + * @param appEtagTagInfo 添加参数 + * @return 响应 + */ + @Override + public DataBaseActionResult insert(AppEtagTagInfo appEtagTagInfo) { + if(appEtagTagInfo == null) { + return new DataBaseActionResult<>(null, new Exception("添加参数不能为空")); + } + try { + int insert = baseMapper.insert(appEtagTagInfo); + return new DataBaseActionResult<>(insert); + } catch (Exception e) { + return new DataBaseActionResult<>(null, e); + } + } + + /** + * 修改电子标签小标签信息 + * @param appEtagTagInfo 修改参数 + * @return 响应 + */ + @Override + public DataBaseActionResult update(AppEtagTagInfo appEtagTagInfo) { + if(appEtagTagInfo == null) { + return new DataBaseActionResult<>(null, new Exception("修改参数不能为空")); + } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppEtagTagInfo::getTagName, appEtagTagInfo.getTagName()); + updateWrapper.set(AppEtagTagInfo::getControllerId, appEtagTagInfo.getControllerId()); + updateWrapper.set(AppEtagTagInfo::getTagType, appEtagTagInfo.getTagType()); + updateWrapper.set(AppEtagTagInfo::getBusinessType, appEtagTagInfo.getBusinessType()); + updateWrapper.set(AppEtagTagInfo::getTagId, appEtagTagInfo.getTagId()); + updateWrapper.set(AppEtagTagInfo::getAreaId, appEtagTagInfo.getAreaId()); + updateWrapper.set(AppEtagTagInfo::getTunnelNo, appEtagTagInfo.getTunnelNo()); + updateWrapper.set(AppEtagTagInfo::getRemark, appEtagTagInfo.getRemark()); + try { + int update = baseMapper.update(appEtagTagInfo, updateWrapper); + return new DataBaseActionResult<>(update); + } catch (Exception e) { + return new DataBaseActionResult<>(null, e); + } + } + + /** + * 根据标签名称删除电子标签小标签信息 + * @param tagName 标签名称 + * @return 响应 + */ + @Override + public DataBaseActionResult deleteByTagName(String tagName) { + if(tagName == null) { + return new DataBaseActionResult<>(null, new Exception("标签名称不能为空")); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppEtagTagInfo::getTagName, tagName); + try { + int delete = baseMapper.delete(queryWrapper); + return new DataBaseActionResult<>(delete); + } catch (Exception e) { + return new DataBaseActionResult<>(null, e); + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagLocationDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagLocationDao.java new file mode 100755 index 0000000..afe7ff1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTagLocationDao.java @@ -0,0 +1,150 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppEtagTagLocationMapper; +import org.wcs.mapper.intf.AppEtagTagLocationService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagBase.EtagLocationQueryReq; +import org.wcs.model.po.app.AppEtagTagLocation; + +import java.util.List; + +/** + * 电子标签库位表持久层实现类 + */ +@Service +public class AppEtagTagLocationDao extends ServiceImpl implements AppEtagTagLocationService { + + /** + * 查询电子标签库位信息 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public Tuple2> queryEtagTagLocation(EtagLocationQueryReq request, Integer pageIndex, Integer pageSize) { + if(request == null || pageIndex == null || pageSize == null || pageIndex <= 0 || pageSize <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(request.getLocation() != null, AppEtagTagLocation::getLocation, request.getLocation()) + .like(request.getTagName() != null, AppEtagTagLocation::getTagName, request.getTagName()) + .like(request.getLocationType() != null, AppEtagTagLocation::getLocationType, request.getLocationType()) + .like(request.getStand() != null, AppEtagTagLocation::getStand, request.getStand()); + queryWrapper.orderByAsc(AppEtagTagLocation::getLocation); + Page page = new Page<>(pageIndex, pageSize); + try { + Page etagTagLocationPage = baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(etagTagLocationPage.getTotal(), etagTagLocationPage.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 查询电子标签库位信息 + * @param location 位置 + * @param locationType 位置类型 + * @return 响应 + */ + @Override + public List queryWithLocationAndType(String location, Integer locationType) { + if(location == null || locationType == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppEtagTagLocation::getLocation, location) + .eq(AppEtagTagLocation::getLocationType, locationType); + queryWrapper.orderByAsc(AppEtagTagLocation::getLocation); + try { + return baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 添加电子标签库位信息 + * @param appEtagTagLocation 添加参数 + * @return 响应 + */ + @Override + public DataBaseActionResult insert(AppEtagTagLocation appEtagTagLocation) { + try { + return new DataBaseActionResult<>(baseMapper.insert(appEtagTagLocation)); + } catch (Exception e) { + return new DataBaseActionResult<>(0, e); + } + } + + /** + * 查询指定记录ID的电子标签库位信息 + * @param recordId 记录ID + * @return 响应 + */ + @Override + public List queryWithRecordId(String recordId) { + if(recordId == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppEtagTagLocation::getRecordId, recordId); + queryWrapper.orderByAsc(AppEtagTagLocation::getLocation); + try { + return baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 修改电子标签库位信息 + * @param appEtagTagLocation 修改参数 + * @return 响应 + */ + @Override + public DataBaseActionResult updateAll(AppEtagTagLocation appEtagTagLocation) { + if(appEtagTagLocation == null || appEtagTagLocation.getRecordId() == null) { + return new DataBaseActionResult<>(0, new Exception("传入的数据不正确")); + } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppEtagTagLocation::getRecordId, appEtagTagLocation.getRecordId()); + updateWrapper.set(AppEtagTagLocation::getLocation, appEtagTagLocation.getLocation()) + .set(AppEtagTagLocation::getTagName, appEtagTagLocation.getTagName()) + .set(AppEtagTagLocation::getLocationType, appEtagTagLocation.getLocationType()) + .set(AppEtagTagLocation::getStand, appEtagTagLocation.getStand()) + .set(AppEtagTagLocation::getRemark, appEtagTagLocation.getRemark()); + try { + return new DataBaseActionResult<>(baseMapper.update(appEtagTagLocation, updateWrapper)); + } catch (Exception e) { + return new DataBaseActionResult<>(0, e); + } + } + + /** + * 删除指定记录ID的电子标签库位信息 + * @param recordId 记录ID + * @return 响应 + */ + @Override + public DataBaseActionResult deleteWithRecordId(String recordId) { + if(recordId == null) { + return new DataBaseActionResult<>(0, new Exception("传入的数据不正确")); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppEtagTagLocation::getRecordId, recordId); + try { + return new DataBaseActionResult<>(baseMapper.delete(queryWrapper)); + } catch (Exception e) { + return new DataBaseActionResult<>(0, e); + } + } + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java new file mode 100644 index 0000000..e974562 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskBakDao.java @@ -0,0 +1,49 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppEtagTaskBakMapper; +import org.wcs.mapper.intf.AppEtagTaskBakService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; +import org.wcs.model.po.app.AppEtagTaskBak; + +import java.util.List; + +@Service +public class AppEtagTaskBakDao extends ServiceImpl implements AppEtagTaskBakService { + + /** + * 查询电子标签任务 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public Tuple2> queryEtagTask(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize) { + if(request == null || pageIndex == null || pageSize == null || pageIndex < 0 || pageSize < 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(request.getTaskId() != null, AppEtagTaskBak::getTaskId, request.getTaskId()); + queryWrapper.eq(request.getTaskStatus() != null, AppEtagTaskBak::getTaskStatus, request.getTaskStatus()); + queryWrapper.eq(request.getTaskType() != null, AppEtagTaskBak::getTaskType, request.getTaskType()); + queryWrapper.like(request.getTaskGroup() != null, AppEtagTaskBak::getTaskGroup, request.getTaskGroup()); + queryWrapper.like(request.getGoodsId() != null, AppEtagTaskBak::getGoodsId, request.getGoodsId()); + queryWrapper.like(request.getVehicleNo() != null, AppEtagTaskBak::getVehicleNo, request.getVehicleNo()); + if(request.getCreateTime() != null && request.getCreateTime().size() == 2) { + queryWrapper.between(request.getCreateTime().get(0) != null && request.getCreateTime().get(1) != null, AppEtagTaskBak::getCreateTime, request.getCreateTime().get(0), request.getCreateTime().get(1)); + } + queryWrapper.orderByAsc(AppEtagTaskBak::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page etagTaskPage = baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(etagTaskPage.getTotal(), etagTaskPage.getRecords()); + } catch (Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java new file mode 100755 index 0000000..cf66678 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java @@ -0,0 +1,116 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppEtagTaskMapper; +import org.wcs.mapper.intf.AppEtagTaskService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; +import org.wcs.model.po.app.AppEtagTask; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 电子标签任务数据访问层实现类 + */ +@Slf4j +@Service +public class AppEtagTaskDao extends ServiceImpl implements AppEtagTaskService { + + /** + * 查询电子标签任务 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public Tuple2> queryEtagTask(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize) { + if(request == null || pageIndex == null || pageSize == null || pageIndex < 0 || pageSize < 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(request.getTaskId() != null, AppEtagTask::getTaskId, request.getTaskId()); + queryWrapper.eq(request.getTaskStatus() != null, AppEtagTask::getTaskStatus, request.getTaskStatus()); + queryWrapper.eq(request.getTaskType() != null, AppEtagTask::getTaskType, request.getTaskType()); + queryWrapper.like(request.getTaskGroup() != null, AppEtagTask::getTaskGroup, request.getTaskGroup()); + queryWrapper.like(request.getGoodsId() != null, AppEtagTask::getGoodsId, request.getGoodsId()); + queryWrapper.like(request.getVehicleNo() != null, AppEtagTask::getVehicleNo, request.getVehicleNo()); + if(request.getCreateTime() != null && request.getCreateTime().size() == 2) { + queryWrapper.between(request.getCreateTime().get(0) != null && request.getCreateTime().get(1) != null, AppEtagTask::getCreateTime, request.getCreateTime().get(0), request.getCreateTime().get(1)); + } + queryWrapper.orderByAsc(AppEtagTask::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page etagTaskPage = baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(etagTaskPage.getTotal(), etagTaskPage.getRecords()); + } catch (Exception e) { + return null; + } + + } + + /** + * 新增电子标签任务 + * @param appEtagTask 新增参数 + * @return 响应 + */ + @Override + public DataBaseActionResult insert(AppEtagTask appEtagTask) { + if(appEtagTask == null) { + return new DataBaseActionResult<>(0, new Exception("参数错误")); + } + appEtagTask.setCreateTime(LocalDateTime.now()); + try { + return new DataBaseActionResult<>(baseMapper.insert(appEtagTask)); + } catch (Exception e) { + log.error("新增电子标签任务失败", e); + return new DataBaseActionResult<>(0, e); + } + } + + /** + * 修改电子标签任务 + * @param appEtagTask 修改参数 + * @return 响应 + */ + @Override + public DataBaseActionResult updateIgnoreNull(AppEtagTask appEtagTask) { + if(appEtagTask == null) { + return new DataBaseActionResult<>(0, new Exception("参数错误")); + } + try { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppEtagTask::getTaskId, appEtagTask.getTaskId()); + updateWrapper.set(appEtagTask.getTaskGroup() != null, AppEtagTask::getTaskGroup, appEtagTask.getTaskGroup()); + updateWrapper.set(appEtagTask.getTaskType() != null, AppEtagTask::getTaskType, appEtagTask.getTaskType()); + updateWrapper.set(appEtagTask.getVehicleNo() != null, AppEtagTask::getVehicleNo, appEtagTask.getVehicleNo()); + updateWrapper.set(appEtagTask.getOrderId() != null, AppEtagTask::getOrderId, appEtagTask.getOrderId()); + updateWrapper.set(appEtagTask.getLocation() != null, AppEtagTask::getLocation, appEtagTask.getLocation()); + updateWrapper.set(appEtagTask.getGoodsId() != null, AppEtagTask::getGoodsId, appEtagTask.getGoodsId()); + updateWrapper.set(appEtagTask.getGoodsName() != null, AppEtagTask::getGoodsName, appEtagTask.getGoodsName()); + updateWrapper.set(appEtagTask.getLightNum() != null, AppEtagTask::getLightNum, appEtagTask.getLightNum()); + updateWrapper.set(appEtagTask.getConfirmNum() != null, AppEtagTask::getConfirmNum, appEtagTask.getConfirmNum()); + updateWrapper.set(appEtagTask.getTaskStatus() != null, AppEtagTask::getTaskStatus, appEtagTask.getTaskStatus()); + updateWrapper.set(appEtagTask.getLightModel() != null, AppEtagTask::getLightModel, appEtagTask.getLightModel()); + updateWrapper.set(appEtagTask.getTaskSource() != null, AppEtagTask::getTaskSource, appEtagTask.getTaskSource()); + updateWrapper.set(appEtagTask.getCreatePerson() != null, AppEtagTask::getCreatePerson, appEtagTask.getCreatePerson()); + //updateWrapper.set(appEtagTask.getCreateTime() != null, AppEtagTask::getCreateTime, appEtagTask.getCreateTime()); + updateWrapper.set(appEtagTask.getLightTime() != null, AppEtagTask::getLightTime, appEtagTask.getLightTime()); + updateWrapper.set(appEtagTask.getConfirmTime() != null, AppEtagTask::getConfirmTime, appEtagTask.getConfirmTime()); + updateWrapper.set(appEtagTask.getConfirmPerson() != null, AppEtagTask::getConfirmPerson, appEtagTask.getConfirmPerson()); + updateWrapper.set(appEtagTask.getCompletedTime() != null, AppEtagTask::getCompletedTime, appEtagTask.getCompletedTime()); + updateWrapper.set(appEtagTask.getRemark() != null, AppEtagTask::getRemark, appEtagTask.getRemark()); + return new DataBaseActionResult<>(baseMapper.update(appEtagTask, updateWrapper)); + } catch (Exception e) { + log.error("修改电子标签任务失败", e); + return new DataBaseActionResult<>(0, e); + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskEventDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskEventDao.java new file mode 100755 index 0000000..3db1df5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskEventDao.java @@ -0,0 +1,15 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppEtagTaskEventMapper; +import org.wcs.mapper.intf.AppEtagTaskEventService; +import org.wcs.model.po.app.AppEtagTaskEvent; + +import java.util.List; + +@Service +public class AppEtagTaskEventDao extends ServiceImpl implements AppEtagTaskEventService { + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppQuartzConfigDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppQuartzConfigDao.java new file mode 100644 index 0000000..3c3f368 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppQuartzConfigDao.java @@ -0,0 +1,132 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppQuartzConfigMapper; +import org.wcs.mapper.intf.AppQuartzConfigService; +import org.wcs.model.po.app.AppQuartzConfig; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppQuartzConfigDao extends ServiceImpl implements AppQuartzConfigService { + + /** + * 查询所有 + * @return 查询结果 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch (Exception e) { + return null; + } + } + + /** + * 根据类名查询 + * @param className 类名称 + * @return 数据 + */ + @Override + public AppQuartzConfig queryByClassName(String className) { + if(AppStringUtils.isEmpty(className)) { + return null; + } + try { + return super.getById(className); + } catch (Exception e) { + return null; + } + } + + /** + * 更具条件模糊查询 + * @param className 类名 + * @param jobDesc 工作描述 + * @return 查询结果 + */ + @Override + public List queryIndistinct(String className, String jobDesc) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(className), AppQuartzConfig::getClassName, className); + queryWrapper.like(AppStringUtils.isNotEmpty(jobDesc), AppQuartzConfig::getJobDesc, jobDesc); + queryWrapper.orderByAsc(AppQuartzConfig::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 判断是否存在 + * @param className 类名 + * @return 存在结果 + */ + @Override + public Boolean exist(String className) { + try { + return super.exists(new LambdaQueryWrapper().eq(AppQuartzConfig::getClassName, className)); + } catch (Exception ex) { + return null; + } + } + + /** + * 插入一条数据 + * @param appQuartzConfig 数据 + * @return 插入结果 + */ + @Override + public int insert(AppQuartzConfig appQuartzConfig) { + appQuartzConfig.setUpdateTime(LocalDateTime.now()); + appQuartzConfig.setCreateTime(LocalDateTime.now()); + try{ + return super.save(appQuartzConfig) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 删除数据 + * @param className 删除的名称 + * @return 删除结果 + */ + @Override + public int delete(String className) { + try{ + return super.removeById(className) ? 1 : 0; + } catch (Exception e){ + return 0; + } + } + + /** + * 更新数据 + * @param appQuartzConfig 数据 + * @return 更新结果 + */ + @Override + public int update(AppQuartzConfig appQuartzConfig) { + appQuartzConfig.setUpdateTime(LocalDateTime.now()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppQuartzConfig::getClassName, appQuartzConfig.getClassName()); + updateWrapper.set(AppStringUtils.isNotEmpty(appQuartzConfig.getJobDesc()), AppQuartzConfig::getJobDesc, appQuartzConfig.getJobDesc()) + .set(AppStringUtils.isNotEmpty(appQuartzConfig.getCron()), AppQuartzConfig::getCron, appQuartzConfig.getCron()) + .set(appQuartzConfig.getStatus() != null, AppQuartzConfig::getStatus, appQuartzConfig.getStatus()) + .set(AppStringUtils.isNotEmpty(appQuartzConfig.getRemark()), AppQuartzConfig::getRemark, appQuartzConfig.getRemark()) + .set(AppQuartzConfig::getUpdateTime, appQuartzConfig.getUpdateTime()); + try { + return super.update(appQuartzConfig, updateWrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java new file mode 100755 index 0000000..30eb283 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiRequestDao.java @@ -0,0 +1,72 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppRecordApiRequestMapper; +import org.wcs.mapper.intf.AppRecordApiRequestService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiRequestReq; +import org.wcs.model.po.app.AppRecordApiRequest; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Service +public class AppRecordApiRequestDao extends ServiceImpl implements AppRecordApiRequestService { + + /** + * 查询数据 + * + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 数据 + */ + @Override + public Tuple2> queryByPage(QueryRecordApiRequestReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(request.getSuccess() != null, AppRecordApiRequest::getSuccess, request.getSuccess()); + if(AppStringUtils.isNotEmpty(request.getQueryStr())) { + queryWrapper.like(AppRecordApiRequest::getApiKey, request.getQueryStr()) + .or().like(AppRecordApiRequest::getRequestMsg, request.getQueryStr()) + .or().like(AppRecordApiRequest::getResponseMsg, request.getQueryStr()); + } + if(request.getRequestTimes() != null && request.getRequestTimes().length == 2) { + queryWrapper.between(AppRecordApiRequest::getRequestTime, request.getRequestTimes()[0], request.getRequestTimes()[1]); + } + queryWrapper.orderByDesc(AppRecordApiRequest::getRequestTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 插入数据 + * + * @param record 待插入数据 + * @return 插入数量 + */ + @Override + public int insert(AppRecordApiRequest record) { + if(record == null) { + return 0; + } + if(record.getApiKey() == null || record.getApiKey().isEmpty()) { + record.setApiKey("-"); + } + try { + return super.save(record) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java new file mode 100755 index 0000000..e6da2af --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordApiResponseDao.java @@ -0,0 +1,65 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppRecordApiResponseMapper; +import org.wcs.mapper.intf.AppRecordApiResponseService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiResponseReq; +import org.wcs.model.po.app.AppRecordApiResponse; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppRecordApiResponseDao extends ServiceImpl implements AppRecordApiResponseService { + + /** + * 查询接口调用记录 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> queryByPage(QueryRecordApiResponseReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getPath()), AppRecordApiResponse::getPath, request.getPath()); + if(AppStringUtils.isNotEmpty(request.getQueryStr())) { + queryWrapper.like(AppRecordApiResponse::getUrlParam, request.getQueryStr()) + .or().like(AppRecordApiResponse::getRequestMsg, request.getQueryStr()) + .or().like(AppRecordApiResponse::getResponseMsg, request.getQueryStr()); + } + if(request.getRequestTimes() != null && request.getRequestTimes().length == 2) { + queryWrapper.between(AppRecordApiResponse::getRequestTime, request.getRequestTimes()[0], request.getRequestTimes()[1]); + } + queryWrapper.orderByDesc(AppRecordApiResponse::getRequestTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception e) { + return null; + } + } + + /** + * 插入接口调用记录 + * @param record 记录 + * @return 插入结果 + */ + @Override + public int insert(AppRecordApiResponse record) { + try { + return super.baseMapper.insert(record); + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java new file mode 100755 index 0000000..062f6d2 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordErrDao.java @@ -0,0 +1,126 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppRecordErrMapper; +import org.wcs.mapper.intf.AppRecordErrService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordError.QueryEquipmentErrorReq; +import org.wcs.model.po.app.AppBaseErrInfo; +import org.wcs.model.po.app.AppRecordErr; +import org.wcs.model.po.app.JoinRecordError; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppTimeUtils; + +import java.lang.invoke.VarHandle; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 错误记录数据访问层实现 + */ +@Slf4j +@Service +public class AppRecordErrDao extends ServiceImpl implements AppRecordErrService { + + /** + * 插入数据 + * @param record 待插入数据 + * @return 插入结果 + */ + @Override + public int insert(AppRecordErr record) { + if(record == null) { + return 0; + } + record.setCreateTime(LocalDateTime.now()); + try { + return baseMapper.insert(record); + } catch (Exception e) { + log.error("异常记录表插入数据失败,数据:{}", AppStringUtils.objectToString(record), e); + return 0; + } + } + + /** + * 查询设备错误详情 + * @param request 查询参数 + * @param pageSize 分页大小 + * @param pageIndex 索引 + * @return 查询结果 + */ + @Override + public Tuple2> queryRecordErrorDetail(QueryEquipmentErrorReq request, Integer pageSize, Integer pageIndex) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(AppRecordErr.class) + .select(AppBaseErrInfo::getErrLevel) + .select(AppBaseErrInfo::getErrType) + .select(AppBaseErrInfo::getErrMsg); + wrapper.leftJoin(AppBaseErrInfo.class, + q -> q.eq(AppRecordErr::getErrCode, AppBaseErrInfo::getErrCode) + .eq(AppRecordErr::getEquipmentType, AppBaseErrInfo::getEquipmentType)); + wrapper.eq(request.getEquipmentId() != null, AppRecordErr::getEquipmentId, request.getEquipmentId()) + .eq(request.getEquipmentType() != null, AppRecordErr::getEquipmentType, request.getEquipmentType()) + .eq(request.getErrCode() != null, AppRecordErr::getErrCode, request.getErrCode()); + if(request.getCreateTime() != null && request.getCreateTime().length == 2) { + wrapper.between(AppRecordErr::getCreateTime, request.getCreateTime()[0], request.getCreateTime()[1]); + } + wrapper.orderByDesc(AppRecordErr::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + IPage pageResult = super.baseMapper.selectJoinPage(page, JoinRecordError.class, wrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception e) { + log.error("查询设备错误详情失败,参数:{}", AppStringUtils.objectToString(request), e); + return null; + } + } + + @Override + public List queryRecordErrorDetail(QueryEquipmentErrorReq request) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(AppRecordErr.class) + .select(AppBaseErrInfo::getErrLevel) + .select(AppBaseErrInfo::getErrType) + .select(AppBaseErrInfo::getErrMsg); + wrapper.leftJoin(AppBaseErrInfo.class, + q -> q.eq(AppRecordErr::getErrCode, AppBaseErrInfo::getErrCode) + .eq(AppRecordErr::getEquipmentType, AppBaseErrInfo::getEquipmentType)); + wrapper.eq(request.getEquipmentId() != null, AppRecordErr::getEquipmentId, request.getEquipmentId()) + .eq(request.getEquipmentType() != null, AppRecordErr::getEquipmentType, request.getEquipmentType()) + .eq(request.getErrCode() != null, AppRecordErr::getErrCode, request.getErrCode()); + if(request.getCreateTime() != null && request.getCreateTime().length == 2) { + wrapper.between(AppRecordErr::getCreateTime, request.getCreateTime()[0], request.getCreateTime()[1]); + } + wrapper.orderByDesc(AppRecordErr::getCreateTime); + try { + return super.baseMapper.selectJoinList(JoinRecordError.class, wrapper); + } catch (Exception e) { + log.error("查询设备错误详情失败,参数:{}", AppStringUtils.objectToString(request), e); + return null; + } + } + + /** + * 查询最近N天的设备错误详情 + * @param days 天数 + * @return 错误详情 + */ + @Override + public List queryRecordErrorDetailRecentDays(int days) { + try { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.ge(AppRecordErr::getCreateTime, AppTimeUtils.getTodayEndTime().minusDays(days)); + return super.baseMapper.selectList(wrapper); + } catch (Exception e) { + return null; + } + } + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java new file mode 100755 index 0000000..490cb90 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordMaintenanceDao.java @@ -0,0 +1,11 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppRecordMaintenanceMapper; +import org.wcs.mapper.intf.AppRecordMaintenanceService; +import org.wcs.model.po.app.AppRecordMaintenance; + +@Service +public class AppRecordMaintenanceDao extends ServiceImpl implements AppRecordMaintenanceService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java new file mode 100755 index 0000000..1c9e0c4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordPlcInteractiveDao.java @@ -0,0 +1,11 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppRecordPlcInteractiveMapper; +import org.wcs.mapper.intf.AppRecordPlcInteractiveService; +import org.wcs.model.po.app.AppRecordPlcInteractive; + +@Service +public class AppRecordPlcInteractiveDao extends ServiceImpl implements AppRecordPlcInteractiveService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java new file mode 100755 index 0000000..b9f4ddd --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordScanDao.java @@ -0,0 +1,67 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppRecordScanMapper; +import org.wcs.mapper.intf.AppRecordScanService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordScan.QueryRecordScanReq; +import org.wcs.model.po.app.AppRecordScan; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppRecordScanDao extends ServiceImpl implements AppRecordScanService { + + /** + * 分页查询记录 + * @param queryRecordScanReq 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> query(QueryRecordScanReq queryRecordScanReq, Integer pageSize, Integer pageIndex) { + if(pageSize == null || pageSize <= 0 || pageIndex == null || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStringUtils.isNotEmpty(queryRecordScanReq.getLocation()), AppRecordScan::getLocation, queryRecordScanReq.getLocation()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryRecordScanReq.getCode()), AppRecordScan::getCode, queryRecordScanReq.getCode()); + if(queryRecordScanReq.getScanTimes() != null && queryRecordScanReq.getScanTimes().length == 2) { + queryWrapper.between(queryRecordScanReq.getScanTimes()[0] != null && queryRecordScanReq.getScanTimes()[1] != null, AppRecordScan::getScanTime, queryRecordScanReq.getScanTimes()[0], queryRecordScanReq.getScanTimes()[1]); + } + queryWrapper.orderByDesc(AppRecordScan::getScanTime); + try { + Page pageResult = super.baseMapper.selectPage(Page.of(pageIndex, pageSize), queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ex) { + return null; + } + } + + /** + * 查询记录 + * @param queryRecordScanReq 搜索参数 + * @return 查询结果 + */ + @Override + public List query(QueryRecordScanReq queryRecordScanReq) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStringUtils.isNotEmpty(queryRecordScanReq.getLocation()), AppRecordScan::getLocation, queryRecordScanReq.getLocation()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryRecordScanReq.getCode()), AppRecordScan::getCode, queryRecordScanReq.getCode()); + if(queryRecordScanReq.getScanTimes() != null && queryRecordScanReq.getScanTimes().length == 2) { + queryWrapper.between(queryRecordScanReq.getScanTimes()[0] != null && queryRecordScanReq.getScanTimes()[1] != null, AppRecordScan::getScanTime, queryRecordScanReq.getScanTimes()[0], queryRecordScanReq.getScanTimes()[1]); + } + queryWrapper.orderByDesc(AppRecordScan::getScanTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppRecordTaskMsgDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordTaskMsgDao.java new file mode 100644 index 0000000..8920bc4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppRecordTaskMsgDao.java @@ -0,0 +1,63 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppRecordTaskMsgMapper; +import org.wcs.mapper.intf.AppRecordTaskMsgService; +import org.wcs.model.po.app.AppRecordTaskMag; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppRecordTaskMsgDao extends ServiceImpl implements AppRecordTaskMsgService { + + /** + * 插入数据 + * @param appRecordTaskMag 待插入数据 + * @return 插入结果 + */ + @Override + public boolean insert(AppRecordTaskMag appRecordTaskMag) { + appRecordTaskMag.setCreateTime(LocalDateTime.now()); + try { + return super.save(appRecordTaskMag); + } catch (Exception e) { + return false; + } + } + + /** + * 根据任务ID查询记录 + * @param taskId 任务ID + * @return 记录列表 + */ + @Override + public List queryWithTaskId(String taskId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppRecordTaskMag::getTaskId, taskId); + queryWrapper.orderByAsc(AppRecordTaskMag::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e){ + return null; + } + } + + /** + * 删除指定天数前的数据 + * @param days 天数 + * @return 删除的行数 + */ + @Override + public boolean deleteOldData(int days) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(AppRecordTaskMag::getCreateTime, LocalDateTime.now().minusDays(days)); + try { + return super.remove(queryWrapper); + } catch (Exception e){ + return false; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStackerInfoDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStackerInfoDao.java new file mode 100644 index 0000000..b18753b --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStackerInfoDao.java @@ -0,0 +1,136 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppStackerInfoMapper; +import org.wcs.mapper.intf.AppStackerInfoService; +import org.wcs.model.po.app.AppStackerInfo; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppStackerInfoDao extends ServiceImpl implements AppStackerInfoService { + + /** + * 根据堆垛机名称模糊查询堆垛机信息 + * @param stackerName 堆垛机名称 + * @return 查询结果 + */ + @Override + public List queryStackerInfoIndistinct(String stackerName) { + if(AppStringUtils.isEmpty(stackerName)) { + try { + return super.list(); + } catch (Exception ex) { + return null; + } + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStackerInfo::getStackerName, stackerName); + queryWrapper.orderByAsc(AppStackerInfo::getStackerId); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据堆垛机ID查询堆垛机信息 + * @param stackerId 堆垛机ID + * @return 查询结果 + */ + @Override + public List queryStackerInfoById(Integer stackerId) { + if(stackerId == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStackerInfo::getStackerId, stackerId); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据堆垛机状态查询堆垛机信息 + * @param status 堆垛机状态 + * @return 查询结果 + */ + @Override + public List queryStackerInfoByStatus(Integer status) { + if(status == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStackerInfo::getStackerStatus, status); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 查询所有堆垛机信息 + * @return 查询结果 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch (Exception ex) { + return null; + } + } + + /** + * 插入堆垛机信息 + * @param appStackerInfo 堆垛机信息 + * @return 插入结果 + */ + @Override + public int insert(AppStackerInfo appStackerInfo) { + appStackerInfo.setCreateTime(LocalDateTime.now()); + appStackerInfo.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appStackerInfo) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 更新堆垛机信息 + * @param appStackerInfo 要更新的信息 + * @return 更新结果 + */ + @Override + public int update(AppStackerInfo appStackerInfo) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStackerInfo::getStackerId, appStackerInfo.getStackerId()); + appStackerInfo.setUpdateTime(LocalDateTime.now()); + updateWrapper.set(AppStringUtils.isNotEmpty(appStackerInfo.getStackerName()), AppStackerInfo::getStackerName, appStackerInfo.getStackerName()) + .set(appStackerInfo.getStackerStatus() != null, AppStackerInfo::getStackerStatus, appStackerInfo.getStackerStatus()) + .set(appStackerInfo.getPlcId() != null, AppStackerInfo::getPlcId, appStackerInfo.getPlcId()) + .set(AppStringUtils.isNotEmpty(appStackerInfo.getForkStatus()), AppStackerInfo::getForkStatus, appStackerInfo.getForkStatus()) + .set(appStackerInfo.getAllowIn() != null, AppStackerInfo::getAllowIn, appStackerInfo.getAllowIn()) + .set(appStackerInfo.getAllowOut() != null, AppStackerInfo::getAllowOut, appStackerInfo.getAllowOut()) + .set(appStackerInfo.getAllowMove() != null, AppStackerInfo::getAllowMove, appStackerInfo.getAllowMove()) + .set(AppStringUtils.isNotEmpty(appStackerInfo.getActionBeat()), AppStackerInfo::getActionBeat, appStackerInfo.getActionBeat()) + .set(AppStringUtils.isNotEmpty(appStackerInfo.getReadStatusAddress()), AppStackerInfo::getReadStatusAddress, appStackerInfo.getReadStatusAddress()) + .set(AppStringUtils.isNotEmpty(appStackerInfo.getWriteTaskAddress()), AppStackerInfo::getWriteTaskAddress, appStackerInfo.getWriteTaskAddress()) + .set(AppStringUtils.isNotEmpty(appStackerInfo.getRemark()), AppStackerInfo::getRemark, appStackerInfo.getRemark()); + try { + return super.update(appStackerInfo, updateWrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStackerLocationDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStackerLocationDao.java new file mode 100644 index 0000000..dbbc1e3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStackerLocationDao.java @@ -0,0 +1,218 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppStackerLocationMapper; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stackerLocation.QueryStackerLocationReq; +import org.wcs.model.po.app.AppStackerLocation; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppStackerLocationDao extends ServiceImpl implements AppStackerLocationService { + + + /** + * 分页查询库位信息 + * @param request 查询参数 + * @param pageSize 分页大小 + * @param pageIndex 页面序号 + * @return 查询结果 + */ + @Override + public Tuple2> queryStackerLocation(QueryStackerLocationReq request, Integer pageSize, Integer pageIndex) { + if(pageSize == null || pageSize <= 0 || pageIndex == null || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationId()), AppStackerLocation::getLocationId, request.getLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getBusinessLocation()), AppStackerLocation::getBusinessLocation, request.getBusinessLocation()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getVehicleNo()), AppStackerLocation::getVehicleNo, request.getVehicleNo()); + queryWrapper.like(request.getLocationStatus() != null, AppStackerLocation::getLocationStatus, request.getLocationStatus()); + queryWrapper.orderByAsc(AppStackerLocation::getLocationId); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ignored) { + return null; + } + } + + /** + * 获取所有堆垛机货位 + */ + @Override + public List queryStackerLocation(QueryStackerLocationReq request) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationId()), AppStackerLocation::getLocationId, request.getLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getBusinessLocation()), AppStackerLocation::getBusinessLocation, request.getBusinessLocation()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getVehicleNo()), AppStackerLocation::getVehicleNo, request.getVehicleNo()); + queryWrapper.like(request.getLocationStatus() != null, AppStackerLocation::getLocationStatus, request.getLocationStatus()); + queryWrapper.orderByAsc(AppStackerLocation::getLocationId); + try { + return super.list(queryWrapper); + } catch (Exception ignored) { + return null; + } + } + + /** + * 添加库位信息 + * @param appStackerLocation 库位信息 + * @return 添加结果 + */ + @Override + public int insert(AppStackerLocation appStackerLocation) { + appStackerLocation.setCreateTime(LocalDateTime.now()); + appStackerLocation.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appStackerLocation) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 根据库位ID查询库位信息 + * @param locationId 库位ID + * @return 查询结果 + */ + @Override + public List queryStackerLocationById(String locationId) { + if(AppStringUtils.isEmpty(locationId)) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStackerLocation::getLocationId, locationId); + try { + return super.baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 查询所有 + * @return 查询结果 + */ + @Override + public List queryStackerLocationAll() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByAsc(AppStackerLocation::getLocationId); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 根据设备ID和车道ID删除库位信息 + * @param machineId 设备ID + * @param laneId 车道ID + * @param rowId 行ID + * @return 删除结果 + */ + @Override + public boolean deleteWithMachineIdAndLaneIdNoCatchException(Integer machineId, Integer laneId, Integer rowId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStackerLocation::getMachineId, machineId); + queryWrapper.eq(AppStackerLocation::getLaneId, laneId); + queryWrapper.eq(AppStackerLocation::getLRow, rowId); + return super.remove(queryWrapper); + } + + /** + * 批量添加库位信息 + * @param appStackerLocations 库位信息 + * @return 添加结果 + */ + @Override + public boolean insertNoCatchException(List appStackerLocations) { + if(appStackerLocations == null || appStackerLocations.isEmpty()) { + return false; + } + for(AppStackerLocation appStackerLocation : appStackerLocations){ + appStackerLocation.setCreateTime(LocalDateTime.now()); + appStackerLocation.setUpdateTime(LocalDateTime.now()); + } + return super.saveBatch(appStackerLocations); + } + + /** + * 修改库位信息 + * @param appStackerLocation 库位信息 + * @return 修改结果 + */ + @Override + public boolean updateById(AppStackerLocation appStackerLocation) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStackerLocation::getLocationId, appStackerLocation.getLocationId()); + updateWrapper.set(appStackerLocation.getLocationStatus() != null, AppStackerLocation::getLocationStatus, appStackerLocation.getLocationStatus()) + .set(appStackerLocation.getVehicleNo() != null, AppStackerLocation::getVehicleNo, appStackerLocation.getVehicleNo()) + .set(appStackerLocation.getBusinessLocation() != null, AppStackerLocation::getBusinessLocation, appStackerLocation.getBusinessLocation()) + .set(appStackerLocation.getMachineId() != null, AppStackerLocation::getMachineId, appStackerLocation.getMachineId()) + .set(appStackerLocation.getLaneId() != null, AppStackerLocation::getLaneId, appStackerLocation.getLaneId()) + .set(appStackerLocation.getLRow() != null, AppStackerLocation::getLRow, appStackerLocation.getLRow()) + .set(appStackerLocation.getLLine() != null, AppStackerLocation::getLLine, appStackerLocation.getLLine()) + .set(appStackerLocation.getLLayer() != null, AppStackerLocation::getLLayer, appStackerLocation.getLLayer()) + .set(appStackerLocation.getLocationType() != null, AppStackerLocation::getLocationType, appStackerLocation.getLocationType()) + .set(appStackerLocation.getLDepth() != null, AppStackerLocation::getLDepth, appStackerLocation.getLDepth()) + .set(appStackerLocation.getLocationTag() != null, AppStackerLocation::getLocationTag, appStackerLocation.getLocationTag()) + .set(appStackerLocation.getRemark() != null, AppStackerLocation::getRemark, appStackerLocation.getRemark()) + .set(AppStackerLocation::getUpdateTime, LocalDateTime.now()); + try { + return super.update(updateWrapper); + } catch (Exception e) { + return false; + } + } + + /** + * 修改库位状态 + * @param locationId 库位ID + * @param status 库位状态 + * @param vehicleNo 载具号 + * @return 修改结果 + */ + @Override + public boolean updateStatusAndVehicleNoById(String locationId, Integer status, String vehicleNo) { + try{ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStackerLocation::getLocationId, locationId) + .set(AppStackerLocation::getLocationStatus, status) + .set(AppStackerLocation::getVehicleNo, vehicleNo) + .set(AppStackerLocation::getUpdateTime, LocalDateTime.now()); + return super.update(updateWrapper); + } catch (Exception e) { + return false; + } + } + + /** + * 根据巷道ID查询库位信息 + * @param stackerId 堆垛机ID + * @param laneId 巷道ID + * @return 查询结果 + */ + @Override + public List queryStackerLocationByStackerIdAndLaneId(Integer stackerId, Integer laneId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStackerLocation::getMachineId, stackerId); + queryWrapper.eq(AppStackerLocation::getLaneId, laneId); + queryWrapper.orderByAsc(AppStackerLocation::getLocationId); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStackerStandDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStackerStandDao.java new file mode 100644 index 0000000..b64b489 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStackerStandDao.java @@ -0,0 +1,146 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppStackerStandMapper; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.model.po.app.AppStackerStand; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppStackerStandDao extends ServiceImpl implements AppStackerStandService { + + /** + * 根据堆垛机ID查询站台信息 + * @param stackerId 堆垛机编号 + * @return 查询结果 + */ + @Override + public List queryStackerStand(Integer stackerId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStackerStand::getStackerId, stackerId); + queryWrapper.orderByAsc(AppStackerStand::getStandId); + try { + return super.list(queryWrapper); + } catch ( Exception e) { + return null; + } + } + + /** + * 根据站台号查询站台信息 + * @param standId 站台信息 + * @return 查询结果 + */ + @Override + public List queryStandInfo(String standId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStackerStand::getStandId, standId); + queryWrapper.orderByAsc( AppStackerStand::getStandId); + try { + return super.list(queryWrapper); + } catch ( Exception e) { + return null; + } + } + + /** + * 查询所有站台信息 + * @return 查询结果 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch ( Exception e) { + return null; + } + } + + /** + * 新增站台信息 + * @param appStackerStand 站台信息 + * @return 新增结果 + */ + @Override + public int insert(AppStackerStand appStackerStand) { + appStackerStand.setCreateTime(LocalDateTime.now()); + appStackerStand.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appStackerStand) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 修改站台信息 + * @param appStackerStand 修改站台信息 + * @return 修改结果 + */ + @Override + public int update(AppStackerStand appStackerStand) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStackerStand::getStackerId, appStackerStand.getStackerId()) + .eq(AppStackerStand::getStandId, appStackerStand.getStandId()); + updateWrapper.set(AppStringUtils.isNotEmpty(appStackerStand.getStandName()), AppStackerStand::getStandName, appStackerStand.getStandName()) + .set(appStackerStand.getPlcId() != null, AppStackerStand::getPlcId, appStackerStand.getPlcId()) + .set(appStackerStand.getStandStatus() != null, AppStackerStand::getStandStatus, appStackerStand.getStandStatus()) + .set(appStackerStand.getAllowIn() != null, AppStackerStand::getAllowIn, appStackerStand.getAllowIn()) + .set( appStackerStand.getAllowOut() != null, AppStackerStand::getAllowOut, appStackerStand.getAllowOut()) + .set(appStackerStand.getLaneId() != null, AppStackerStand::getLaneId, appStackerStand.getLaneId()) + .set(AppStringUtils.isNotEmpty(appStackerStand.getStandLocation()), AppStackerStand::getStandLocation, appStackerStand.getStandLocation()) + .set(AppStringUtils.isNotEmpty(appStackerStand.getStandXyz()), AppStackerStand::getStandXyz, appStackerStand.getStandXyz()) + .set(AppStringUtils.isNotEmpty(appStackerStand.getAreaId()), AppStackerStand::getAreaId, appStackerStand.getAreaId()) + .set(appStackerStand.getInType() != null, AppStackerStand::getInType, appStackerStand.getInType()) + .set(appStackerStand.getOutType() != null, AppStackerStand::getOutType, appStackerStand.getOutType()) + .set(AppStringUtils.isNotEmpty(appStackerStand.getReadStatusAddress()), AppStackerStand::getReadStatusAddress, appStackerStand.getReadStatusAddress()) + .set(AppStringUtils.isNotEmpty(appStackerStand.getWriteTaskAddress()), AppStackerStand::getWriteTaskAddress, appStackerStand.getWriteTaskAddress()) + .set(AppStringUtils.isNotEmpty(appStackerStand.getRemark()), AppStackerStand::getRemark, appStackerStand.getRemark()) + .set(AppStackerStand::getUpdateTime, LocalDateTime.now()); + try { + return super.update(updateWrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 删除站台信息 + * @param standId 站台编号 + * @return 删除结果 + */ + @Override + public int delete(String standId) { + try { + return super.removeById(standId) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 根据站台编号查询站台信息 + * @param standIdList 站台编号 + * @return 查询结果 + */ + @Override + public List queryStackerStand(List standIdList) { + if(standIdList == null || standIdList.isEmpty()) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(AppStackerStand::getStandId, standIdList); + queryWrapper.orderByAsc(AppStackerStand::getStandId); + try { + return super.list(queryWrapper); + } catch ( Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java new file mode 100644 index 0000000..f0a97cb --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskBakDao.java @@ -0,0 +1,128 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppStockComposeTaskBakMapper; +import org.wcs.mapper.intf.AppStockComposeTaskBakService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; +import org.wcs.model.po.app.AppStockComposeTaskBak; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Service +public class AppStockComposeTaskBakDao extends ServiceImpl implements AppStockComposeTaskBakService { + + /** + * 查询数据 + * + * @param queryTaskReq 查询参数 + * @param pageSize 每页大小 + * @param pageIndex 当前页码 + * @return 查询结果 + */ + @Override + public Tuple2> query(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskId()), AppStockComposeTaskBak::getTaskId, queryTaskReq.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskGroup()), AppStockComposeTaskBak::getTaskGroup, queryTaskReq.getTaskGroup()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getUpperTaskId()), AppStockComposeTaskBak::getUpperTaskId, queryTaskReq.getUpperTaskId()); + queryWrapper.eq(queryTaskReq.getTaskType() != null, AppStockComposeTaskBak::getTaskType, queryTaskReq.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getVehicleNo()), AppStockComposeTaskBak::getVehicleNo, queryTaskReq.getVehicleNo()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getOrigin()), AppStockComposeTaskBak::getOrigin, queryTaskReq.getOrigin()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getDestination()), AppStockComposeTaskBak::getDestination, queryTaskReq.getDestination()); + queryWrapper.eq(queryTaskReq.getTaskStatus() != null, AppStockComposeTaskBak::getTaskStatus, queryTaskReq.getTaskStatus()); + if(queryTaskReq.getCreateTimeRange() != null && queryTaskReq.getCreateTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTaskBak::getCreateTime, queryTaskReq.getCreateTimeRange().get(0), queryTaskReq.getCreateTimeRange().get(1)); + } + if(queryTaskReq.getEndTimeRange() != null && queryTaskReq.getEndTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTaskBak::getEndTime, queryTaskReq.getEndTimeRange().get(0), queryTaskReq.getEndTimeRange().get(1)); + } + queryWrapper.orderByDesc(AppStockComposeTaskBak::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ex) { + return null; + } + } + + /** + * 插入数据,如果插入数据失败,则抛出异常 + * + * @param appStockComposeTaskBak 待插入数据 + * @return 插入结果 + */ + @Override + public boolean insertThrowEx(AppStockComposeTaskBak appStockComposeTaskBak) { + return super.save(appStockComposeTaskBak); + } + + /** + * 根据任务ID查询数据 + * + * @param taskId 任务ID + * @return 查询结果 + */ + @Override + public AppStockComposeTaskBak queryByTaskId(String taskId) { + try { + return super.getById(taskId); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据查询参数查询数据 + * + * @param queryTaskReq 查询参数 + * @return 查询结果 + */ + @Override + public List query(QueryStockComposeTaskReq queryTaskReq) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskId()), AppStockComposeTaskBak::getTaskId, queryTaskReq.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskGroup()), AppStockComposeTaskBak::getTaskGroup, queryTaskReq.getTaskGroup()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getUpperTaskId()), AppStockComposeTaskBak::getUpperTaskId, queryTaskReq.getUpperTaskId()); + queryWrapper.eq(queryTaskReq.getTaskType() != null, AppStockComposeTaskBak::getTaskType, queryTaskReq.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getVehicleNo()), AppStockComposeTaskBak::getVehicleNo, queryTaskReq.getVehicleNo()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getOrigin()), AppStockComposeTaskBak::getOrigin, queryTaskReq.getOrigin()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getDestination()), AppStockComposeTaskBak::getDestination, queryTaskReq.getDestination()); + queryWrapper.eq(queryTaskReq.getTaskStatus() != null, AppStockComposeTaskBak::getTaskStatus, queryTaskReq.getTaskStatus()); + if(queryTaskReq.getCreateTimeRange() != null && queryTaskReq.getCreateTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTaskBak::getCreateTime, queryTaskReq.getCreateTimeRange().get(0), queryTaskReq.getCreateTimeRange().get(1)); + } + if(queryTaskReq.getEndTimeRange() != null && queryTaskReq.getEndTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTaskBak::getEndTime, queryTaskReq.getEndTimeRange().get(0), queryTaskReq.getEndTimeRange().get(1)); + } + queryWrapper.orderByDesc(AppStockComposeTaskBak::getCreateTime); + try { + return super.baseMapper.selectList(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据上级任务ID查询数据 + * + * @param upperTaskId 上级任务ID + * @return 查询结果 + */ + @Override + public List queryByUpperTaskId(String upperTaskId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockComposeTaskBak::getUpperTaskId, upperTaskId); + queryWrapper.orderByDesc(AppStockComposeTaskBak::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskDao.java new file mode 100644 index 0000000..b35599e --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStockComposeTaskDao.java @@ -0,0 +1,331 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.database.StockComposeTaskStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskStepStatusEnum; +import org.wcs.mapper.AppStockComposeTaskMapper; +import org.wcs.mapper.intf.AppStockComposeTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppStockComposeTaskDao extends ServiceImpl implements AppStockComposeTaskService { + + /** + * 模糊条件查询数据 + * + * @param queryTaskReq 查询条件 + * @param pageSize 每页大小 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> query(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskId()), AppStockComposeTask::getTaskId, queryTaskReq.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskGroup()), AppStockComposeTask::getTaskGroup, queryTaskReq.getTaskGroup()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getUpperTaskId()), AppStockComposeTask::getUpperTaskId, queryTaskReq.getUpperTaskId()); + queryWrapper.eq(queryTaskReq.getTaskType() != null, AppStockComposeTask::getTaskType, queryTaskReq.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getVehicleNo()), AppStockComposeTask::getVehicleNo, queryTaskReq.getVehicleNo()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getOrigin()), AppStockComposeTask::getOrigin, queryTaskReq.getOrigin()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getDestination()), AppStockComposeTask::getDestination, queryTaskReq.getDestination()); + queryWrapper.eq(queryTaskReq.getTaskStatus() != null, AppStockComposeTask::getTaskStatus, queryTaskReq.getTaskStatus()); + if(queryTaskReq.getCreateTimeRange() != null && queryTaskReq.getCreateTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTask::getCreateTime, queryTaskReq.getCreateTimeRange().get(0), queryTaskReq.getCreateTimeRange().get(1)); + } + if(queryTaskReq.getEndTimeRange() != null && queryTaskReq.getEndTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTask::getEndTime, queryTaskReq.getEndTimeRange().get(0), queryTaskReq.getEndTimeRange().get(1)); + } + queryWrapper.orderByDesc(AppStockComposeTask::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ex) { + return null; + } + } + + @Override + public List query(AppStockComposeTask appStockComposeTask) { + if(appStockComposeTask == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(appStockComposeTask.getTaskId() != null, AppStockComposeTask::getTaskId, appStockComposeTask.getTaskId()); + queryWrapper.eq(appStockComposeTask.getTaskGroup() != null, AppStockComposeTask::getTaskGroup, appStockComposeTask.getTaskGroup()); + queryWrapper.eq(appStockComposeTask.getUpperTaskId() != null, AppStockComposeTask::getUpperTaskId, appStockComposeTask.getUpperTaskId()); + queryWrapper.eq(appStockComposeTask.getTaskType() != null, AppStockComposeTask::getTaskType, appStockComposeTask.getTaskType()); + queryWrapper.eq(appStockComposeTask.getOrigin() != null, AppStockComposeTask::getOrigin, appStockComposeTask.getOrigin()); + queryWrapper.eq(appStockComposeTask.getDestination() != null, AppStockComposeTask::getDestination, appStockComposeTask.getDestination()); + queryWrapper.eq(appStockComposeTask.getTaskStatus() != null, AppStockComposeTask::getTaskStatus, appStockComposeTask.getTaskStatus()); + queryWrapper.eq(appStockComposeTask.getStepStatus() != null, AppStockComposeTask::getStepStatus, appStockComposeTask.getStepStatus()); + queryWrapper.eq(appStockComposeTask.getCanCancel() != null, AppStockComposeTask::getCanCancel, appStockComposeTask.getCanCancel()); + queryWrapper.eq(appStockComposeTask.getPriority() != null, AppStockComposeTask::getPriority, appStockComposeTask.getPriority()); + queryWrapper.eq(appStockComposeTask.getVehicleNo() != null, AppStockComposeTask::getVehicleNo, appStockComposeTask.getVehicleNo()); + queryWrapper.eq(appStockComposeTask.getVehicleSize() != null, AppStockComposeTask::getVehicleSize, appStockComposeTask.getVehicleSize()); + queryWrapper.eq(appStockComposeTask.getWeight() != null, AppStockComposeTask::getWeight, appStockComposeTask.getWeight()); + queryWrapper.eq(appStockComposeTask.getTaskSource() != null, AppStockComposeTask::getTaskSource, appStockComposeTask.getTaskSource()); + queryWrapper.eq(appStockComposeTask.getCreatePerson() != null, AppStockComposeTask::getCreatePerson, appStockComposeTask.getCreatePerson()); + queryWrapper.like(appStockComposeTask.getTaskMsg() != null, AppStockComposeTask::getTaskMsg, appStockComposeTask.getTaskMsg()); + queryWrapper.orderByDesc(AppStockComposeTask::getPriority).orderByAsc(AppStockComposeTask::getCreateTime); + try { + return list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 直接查询,不分页,用于导出使用 + * @param queryTaskReq 查询条件 + * @return 查询结果 + */ + @Override + public List query(QueryStockComposeTaskReq queryTaskReq) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskId()), AppStockComposeTask::getTaskId, queryTaskReq.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskGroup()), AppStockComposeTask::getTaskGroup, queryTaskReq.getTaskGroup()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getUpperTaskId()), AppStockComposeTask::getUpperTaskId, queryTaskReq.getUpperTaskId()); + queryWrapper.eq(queryTaskReq.getTaskType() != null, AppStockComposeTask::getTaskType, queryTaskReq.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getVehicleNo()), AppStockComposeTask::getVehicleNo, queryTaskReq.getVehicleNo()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getOrigin()), AppStockComposeTask::getOrigin, queryTaskReq.getOrigin()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getDestination()), AppStockComposeTask::getDestination, queryTaskReq.getDestination()); + queryWrapper.eq(queryTaskReq.getTaskStatus() != null, AppStockComposeTask::getTaskStatus, queryTaskReq.getTaskStatus()); + if(queryTaskReq.getCreateTimeRange() != null && queryTaskReq.getCreateTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTask::getCreateTime, queryTaskReq.getCreateTimeRange().get(0), queryTaskReq.getCreateTimeRange().get(1)); + } + if(queryTaskReq.getEndTimeRange() != null && queryTaskReq.getEndTimeRange().size() == 2) { + queryWrapper.between(AppStockComposeTask::getEndTime, queryTaskReq.getEndTimeRange().get(0), queryTaskReq.getEndTimeRange().get(1)); + } + queryWrapper.orderByDesc(AppStockComposeTask::getCreateTime); + try { + return super.baseMapper.selectList(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 查询指定状态的任务 + * + * @param taskStatus 任务状态 + * @return 任务列表 + */ + @Override + public List queryWithStatus(Integer... taskStatus) { + if(taskStatus == null || taskStatus.length == 0) { + return null; + } + List statusList = List.of(taskStatus); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(AppStockComposeTask::getTaskStatus, statusList); + queryWrapper.orderByDesc(AppStockComposeTask::getPriority).orderByAsc(AppStockComposeTask::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 插入数据 + * + * @param appStockComposeTask 待插入数据 + * @return 插入结果 + */ + @Override + public int insert(AppStockComposeTask appStockComposeTask) { + appStockComposeTask.setCreateTime(LocalDateTime.now()); + appStockComposeTask.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appStockComposeTask) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 查找未完成的任务 + * @param vehicleNo 载具号 + * @return 未完成的任务 + */ + @Override + public List queryNotCompleteTask(String vehicleNo) { + if(AppStringUtils.isEmpty(vehicleNo)) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockComposeTask::getVehicleNo, vehicleNo); + queryWrapper.in(AppStockComposeTask::getTaskStatus, StockComposeTaskStatusEnum.CREATE.getCode(), + StockComposeTaskStatusEnum.QUEUE.getCode(), StockComposeTaskStatusEnum.EXECUTING.getCode()); + try { + return super.baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 根据任务ID查询任务 + * @param taskId 任务ID + * @return 任务 + */ + @Override + public AppStockComposeTask queryByTaskId(String taskId) { + try { + return super.getById(taskId); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据上级任务ID查询任务 + * @param upperTaskId 上级任务ID + * @return 任务列表 + */ + @Override + public List queryByUpperTaskId(String upperTaskId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockComposeTask::getUpperTaskId, upperTaskId); + queryWrapper.orderByDesc(AppStockComposeTask::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 更新任务 + * @param appStockComposeTask 待更新任务 + * @return 更新结果 + */ + @Override + public boolean update(AppStockComposeTask appStockComposeTask) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockComposeTask::getTaskId, appStockComposeTask.getTaskId()); + updateWrapper.set(appStockComposeTask.getTaskGroup() != null, AppStockComposeTask::getTaskGroup, appStockComposeTask.getTaskGroup()); + updateWrapper.set(appStockComposeTask.getUpperTaskId() != null, AppStockComposeTask::getUpperTaskId, appStockComposeTask.getUpperTaskId()); + updateWrapper.set(appStockComposeTask.getTaskType() != null, AppStockComposeTask::getTaskType, appStockComposeTask.getTaskType()); + updateWrapper.set(appStockComposeTask.getOrigin() != null, AppStockComposeTask::getOrigin, appStockComposeTask.getOrigin()); + updateWrapper.set(appStockComposeTask.getDestination() != null, AppStockComposeTask::getDestination, appStockComposeTask.getDestination()); + updateWrapper.set(appStockComposeTask.getTaskStatus() != null, AppStockComposeTask::getTaskStatus, appStockComposeTask.getTaskStatus()); + updateWrapper.set(appStockComposeTask.getStepStatus() != null, AppStockComposeTask::getStepStatus, appStockComposeTask.getStepStatus()); + updateWrapper.set(appStockComposeTask.getCanCancel() != null, AppStockComposeTask::getCanCancel, appStockComposeTask.getCanCancel()); + updateWrapper.set(appStockComposeTask.getPriority() != null, AppStockComposeTask::getPriority, appStockComposeTask.getPriority()); + updateWrapper.set(appStockComposeTask.getVehicleNo() != null, AppStockComposeTask::getVehicleNo, appStockComposeTask.getVehicleNo()); + updateWrapper.set(appStockComposeTask.getVehicleSize() != null, AppStockComposeTask::getVehicleSize, appStockComposeTask.getVehicleSize()); + updateWrapper.set(appStockComposeTask.getWeight() != null, AppStockComposeTask::getWeight, appStockComposeTask.getWeight()); + updateWrapper.set(AppStockComposeTask::getUpdateTime, LocalDateTime.now()); + updateWrapper.set(appStockComposeTask.getStartTime() != null, AppStockComposeTask::getStartTime, appStockComposeTask.getStartTime()); + updateWrapper.set(appStockComposeTask.getCompleteTime() != null, AppStockComposeTask::getCompleteTime, appStockComposeTask.getCompleteTime()); + updateWrapper.set(appStockComposeTask.getEndTime() != null, AppStockComposeTask::getEndTime, appStockComposeTask.getEndTime()); + updateWrapper.set(appStockComposeTask.getTaskSource() != null, AppStockComposeTask::getTaskSource, appStockComposeTask.getTaskSource()); + updateWrapper.set(appStockComposeTask.getCreatePerson() != null, AppStockComposeTask::getCreatePerson, appStockComposeTask.getCreatePerson()); + updateWrapper.set(appStockComposeTask.getTaskMsg() != null, AppStockComposeTask::getTaskMsg, appStockComposeTask.getTaskMsg());; + try { + return super.update(appStockComposeTask, updateWrapper); + } catch (Exception e) { + return false; + } + } + + /** + * 更新任务,失败跑出异常 + * @param appStockComposeTask 待更新任务 + * @return 更新结果 + */ + @Override + public boolean updateThrowEx(AppStockComposeTask appStockComposeTask) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockComposeTask::getTaskId, appStockComposeTask.getTaskId()); + updateWrapper.set(appStockComposeTask.getTaskGroup() != null, AppStockComposeTask::getTaskGroup, appStockComposeTask.getTaskGroup()); + updateWrapper.set(appStockComposeTask.getUpperTaskId() != null, AppStockComposeTask::getUpperTaskId, appStockComposeTask.getUpperTaskId()); + updateWrapper.set(appStockComposeTask.getTaskType() != null, AppStockComposeTask::getTaskType, appStockComposeTask.getTaskType()); + updateWrapper.set(appStockComposeTask.getOrigin() != null, AppStockComposeTask::getOrigin, appStockComposeTask.getOrigin()); + updateWrapper.set(appStockComposeTask.getDestination() != null, AppStockComposeTask::getDestination, appStockComposeTask.getDestination()); + updateWrapper.set(appStockComposeTask.getTaskStatus() != null, AppStockComposeTask::getTaskStatus, appStockComposeTask.getTaskStatus()); + updateWrapper.set(appStockComposeTask.getStepStatus() != null, AppStockComposeTask::getStepStatus, appStockComposeTask.getStepStatus()); + updateWrapper.set(appStockComposeTask.getCanCancel() != null, AppStockComposeTask::getCanCancel, appStockComposeTask.getCanCancel()); + updateWrapper.set(appStockComposeTask.getPriority() != null, AppStockComposeTask::getPriority, appStockComposeTask.getPriority()); + updateWrapper.set(appStockComposeTask.getVehicleNo() != null, AppStockComposeTask::getVehicleNo, appStockComposeTask.getVehicleNo()); + updateWrapper.set(appStockComposeTask.getVehicleSize() != null, AppStockComposeTask::getVehicleSize, appStockComposeTask.getVehicleSize()); + updateWrapper.set(appStockComposeTask.getWeight() != null, AppStockComposeTask::getWeight, appStockComposeTask.getWeight()); + updateWrapper.set(AppStockComposeTask::getUpdateTime, LocalDateTime.now()); + updateWrapper.set(appStockComposeTask.getStartTime() != null, AppStockComposeTask::getStartTime, appStockComposeTask.getStartTime()); + updateWrapper.set(appStockComposeTask.getCompleteTime() != null, AppStockComposeTask::getCompleteTime, appStockComposeTask.getCompleteTime()); + updateWrapper.set(appStockComposeTask.getEndTime() != null, AppStockComposeTask::getEndTime, appStockComposeTask.getEndTime()); + updateWrapper.set(appStockComposeTask.getTaskSource() != null, AppStockComposeTask::getTaskSource, appStockComposeTask.getTaskSource()); + updateWrapper.set(appStockComposeTask.getCreatePerson() != null, AppStockComposeTask::getCreatePerson, appStockComposeTask.getCreatePerson()); + updateWrapper.set(appStockComposeTask.getTaskMsg() != null, AppStockComposeTask::getTaskMsg, appStockComposeTask.getTaskMsg());; + return super.update(appStockComposeTask, updateWrapper); + } + + /** + * 设置任务状态和消息 + * @param taskId 任务ID + * @param status 状态 + * @param stepStatus 步骤状态 + * @param msg 消息 + * @return 结果 + */ + @Override + public boolean setTaskStatusAndMsg(String taskId, StockComposeTaskStatusEnum status, StockComposeTaskStepStatusEnum stepStatus, String msg) { + if(taskId == null || taskId.isEmpty() || status == null || status.getCode() == null || status.getCode() < 0) { + return false; + } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockComposeTask::getTaskId, taskId) + .set(AppStockComposeTask::getTaskStatus, status.getCode()) + .set(msg != null, AppStockComposeTask::getTaskMsg, msg); + try { + return super.update(updateWrapper); + } catch (Exception e) { + return false; + } + } + + /** + * 根据任务ID和任务状态修改任务状态和消息 + * @param taskId 任务ID + * @param oldStatus 旧任务状态 + * @param newStatus 新任务状态 + * @param msg 消息 + * @return 结果 + */ + @Override + public int setTaskStatusAndMsgWithOldTaskStatus(String taskId, Integer oldStatus, StockComposeTaskStatusEnum newStatus, String msg) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockComposeTask::getTaskId, taskId) + .eq(AppStockComposeTask::getTaskStatus, oldStatus) + .set(AppStockComposeTask::getTaskStatus, newStatus.getCode()) + .set(msg != null, AppStockComposeTask::getTaskMsg, msg); + try { + return baseMapper.update(updateWrapper); + } catch (Exception e) { + return 0; + } + } + + + /** + * 根据任务ID删除数据并抛出异常 + * @param taskId 待删除任务ID + * @return 删除结果 + */ + @Override + public boolean deleteWithTaskIdThrowEx(String taskId) { + return super.removeById(taskId); + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStockScanDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStockScanDao.java new file mode 100644 index 0000000..744575f --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStockScanDao.java @@ -0,0 +1,162 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppStockScanMapper; +import org.wcs.mapper.intf.AppStockScanService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockScan.QueryStockScanReq; +import org.wcs.model.po.app.AppStockScan; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppStockScanDao extends ServiceImpl implements AppStockScanService { + + /** + * 分页查询仓库扫码列表 + * @param request 查询条件 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> queryStockScan(QueryStockScanReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(request.getScanId() != null, AppStockScan::getScanId, request.getScanId()) + .like(request.getScanName() != null, AppStockScan::getScanName, request.getScanName()) + .eq(request.getScanStatus() != null, AppStockScan::getScanStatus, request.getScanStatus()) + .eq(request.getScanType() != null, AppStockScan::getScanType, request.getScanType()) + .like(request.getScanMethod() != null, AppStockScan::getScanMethod, request.getScanMethod()); + queryWrapper.orderByDesc(AppStockScan::getScanId); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据ID查询 + * + * @param scanId 扫描ID + * @return 查询结果 + */ + @Override + public AppStockScan queryById(String scanId) { + try { + return super.baseMapper.selectById(scanId); + } catch (Exception e) { + return null; + } + } + + /** + * 条件查询 + * + * @param appStockScan 查询参数 + * @return 查询结果 + */ + @Override + public List query(AppStockScan appStockScan) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(appStockScan.getScanId() != null, AppStockScan::getScanId, appStockScan.getScanId()) + .eq(appStockScan.getScanName() != null, AppStockScan::getScanName, appStockScan.getScanName()) + .eq(appStockScan.getScanMethod() != null, AppStockScan::getScanMethod, appStockScan.getScanMethod()) + .eq(appStockScan.getScanStatus() != null, AppStockScan::getScanStatus, appStockScan.getScanStatus()) + .eq(appStockScan.getScanType() != null, AppStockScan::getScanType, appStockScan.getScanType()) + .eq(appStockScan.getParam1() != null, AppStockScan::getParam1, appStockScan.getParam1()) + .eq(appStockScan.getParam2() != null, AppStockScan::getParam2, appStockScan.getParam2()) + .eq(appStockScan.getParam3() != null, AppStockScan::getParam3, appStockScan.getParam3()) + .eq(appStockScan.getPlcId() != null, AppStockScan::getPlcId, appStockScan.getPlcId()) + .eq(appStockScan.getReadStatusAddress() != null, AppStockScan::getReadStatusAddress, appStockScan.getReadStatusAddress()) + .eq(appStockScan.getWriteTaskAddress() != null, AppStockScan::getWriteTaskAddress, appStockScan.getWriteTaskAddress()) + .eq(appStockScan.getLedNo() != null, AppStockScan::getLedNo, appStockScan.getLedNo()); + try { + return super.list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 查询所有数据 + * @return 所有数据 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch (Exception e) { + return null; + } + } + + /** + * 插入数据 + * @param appStockScan 要插入的数据 + * @return 插入结果 + */ + @Override + public int insert(AppStockScan appStockScan) { + appStockScan.setCreateTime(LocalDateTime.now()); + appStockScan.setUpdateTime(LocalDateTime.now()); + try { + return super.save(appStockScan) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 更新数据 + * @param appStockScan 要更新的数据 + * @return 更新结果 + */ + @Override + public int update(AppStockScan appStockScan) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockScan::getScanId, appStockScan.getScanId()); + updateWrapper.set(appStockScan.getScanName() != null, AppStockScan::getScanName, appStockScan.getScanName()) + .set(appStockScan.getScanMethod() != null, AppStockScan::getScanMethod, appStockScan.getScanMethod()) + .set(appStockScan.getScanStatus() != null, AppStockScan::getScanStatus, appStockScan.getScanStatus()) + .set(appStockScan.getScanType() != null, AppStockScan::getScanType, appStockScan.getScanType()) + .set(appStockScan.getParam1() != null, AppStockScan::getParam1, appStockScan.getParam1()) + .set(appStockScan.getParam2() != null, AppStockScan::getParam2, appStockScan.getParam2()) + .set(appStockScan.getParam3() != null, AppStockScan::getParam3, appStockScan.getParam3()) + .set(appStockScan.getPlcId() != null, AppStockScan::getPlcId, appStockScan.getPlcId()) + .set(appStockScan.getReadStatusAddress() != null, AppStockScan::getReadStatusAddress, appStockScan.getReadStatusAddress()) + .set(appStockScan.getWriteTaskAddress() != null, AppStockScan::getWriteTaskAddress, appStockScan.getWriteTaskAddress()) + .set(appStockScan.getLedNo() != null, AppStockScan::getLedNo, appStockScan.getLedNo()) + .set(appStockScan.getRemark() != null, AppStockScan::getRemark, appStockScan.getRemark()) + .set(AppStockScan::getUpdateTime, LocalDateTime.now()); + try { + return super.update(updateWrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 删除仓库扫码信息 + * @param stockScanId 仓库扫码ID + * @return 删除结果 + */ + @Override + public int deleteById(String stockScanId) { + try { + return super.removeById(stockScanId) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java new file mode 100644 index 0000000..8630a87 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskBakDao.java @@ -0,0 +1,121 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppStockSingleTaskBakMapper; +import org.wcs.mapper.intf.AppStockSingleTaskBakService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockSingleTask.QueryStockSingleTaskReq; +import org.wcs.model.po.app.AppStockSingleTaskBak; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppTimeUtils; + +import java.util.List; + +@Service +public class AppStockSingleTaskBakDao extends ServiceImpl implements AppStockSingleTaskBakService { + + /** + * 查询任务列表 + * @param queryTaskReq 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> query(QueryStockSingleTaskReq queryTaskReq, Integer pageSize, Integer pageIndex) { + if(pageIndex == null || pageIndex < 1 || pageSize == null || pageSize < 1) { + return null; + } + if(AppStringUtils.isNotEmpty(queryTaskReq.getPlcTaskId()) && !AppStringUtils.isNumber(queryTaskReq.getPlcTaskId())) { + return null; + } + Integer plcTaskId = AppStringUtils.isEmpty(queryTaskReq.getPlcTaskId()) ? null : Integer.parseInt(queryTaskReq.getPlcTaskId()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskId()), AppStockSingleTaskBak::getTaskId, queryTaskReq.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskGroup()), AppStockSingleTaskBak::getTaskGroup, queryTaskReq.getTaskGroup()); + queryWrapper.eq(plcTaskId != null, AppStockSingleTaskBak::getPlcTaskId, plcTaskId); + queryWrapper.eq(queryTaskReq.getExecuteMachine() != null, AppStockSingleTaskBak::getExecuteMachine, queryTaskReq.getExecuteMachine()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getUpperTaskId()), AppStockSingleTaskBak::getUpperTaskId, queryTaskReq.getUpperTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getVehicleNo()), AppStockSingleTaskBak::getVehicleNo, queryTaskReq.getVehicleNo()); + queryWrapper.eq(queryTaskReq.getTaskType() != null, AppStockSingleTaskBak::getTaskType, queryTaskReq.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getOrigin()), AppStockSingleTaskBak::getOrigin, queryTaskReq.getOrigin()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getDestination()), AppStockSingleTaskBak::getDestination, queryTaskReq.getDestination()); + queryWrapper.eq(queryTaskReq.getTaskStatus() != null, AppStockSingleTaskBak::getTaskStatus, queryTaskReq.getTaskStatus()); + if(queryTaskReq.getCreateTimeRange() != null && queryTaskReq.getCreateTimeRange().size() >= 2) { + queryWrapper.between(AppStockSingleTaskBak::getCreateTime, queryTaskReq.getCreateTimeRange().get(0), queryTaskReq.getCreateTimeRange().get(1)); + } + if(queryTaskReq.getEndTimeRange() != null && queryTaskReq.getEndTimeRange().size() >= 2) { + queryWrapper.between(AppStockSingleTaskBak::getEndTime, queryTaskReq.getEndTimeRange().get(0), queryTaskReq.getEndTimeRange().get(1)); + } + queryWrapper.orderByDesc(AppStockSingleTaskBak::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ex) { + return null; + } + } + + /** + * 查询任务列表 + * @param queryTaskReq 筛选参数 + * @return 查询结果 + */ + @Override + public List query(QueryStockSingleTaskReq queryTaskReq) { + if(AppStringUtils.isNotEmpty(queryTaskReq.getPlcTaskId()) && !AppStringUtils.isNumber(queryTaskReq.getPlcTaskId())) { + return null; + } + Integer plcTaskId = AppStringUtils.isEmpty(queryTaskReq.getPlcTaskId()) ? null : Integer.parseInt(queryTaskReq.getPlcTaskId()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskId()), AppStockSingleTaskBak::getTaskId, queryTaskReq.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskGroup()), AppStockSingleTaskBak::getTaskGroup, queryTaskReq.getTaskGroup()); + queryWrapper.eq(plcTaskId != null, AppStockSingleTaskBak::getPlcTaskId, plcTaskId); + queryWrapper.eq(queryTaskReq.getExecuteMachine() != null, AppStockSingleTaskBak::getExecuteMachine, queryTaskReq.getExecuteMachine()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getUpperTaskId()), AppStockSingleTaskBak::getUpperTaskId, queryTaskReq.getUpperTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getVehicleNo()), AppStockSingleTaskBak::getVehicleNo, queryTaskReq.getVehicleNo()); + queryWrapper.eq(queryTaskReq.getTaskType() != null, AppStockSingleTaskBak::getTaskType, queryTaskReq.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getOrigin()), AppStockSingleTaskBak::getOrigin, queryTaskReq.getOrigin()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getDestination()), AppStockSingleTaskBak::getDestination, queryTaskReq.getDestination()); + queryWrapper.eq(queryTaskReq.getTaskStatus() != null, AppStockSingleTaskBak::getTaskStatus, queryTaskReq.getTaskStatus()); + if(queryTaskReq.getCreateTimeRange() != null && queryTaskReq.getCreateTimeRange().size() >= 2) { + queryWrapper.between(AppStockSingleTaskBak::getCreateTime, queryTaskReq.getCreateTimeRange().get(0), queryTaskReq.getCreateTimeRange().get(1)); + } + if(queryTaskReq.getEndTimeRange() != null && queryTaskReq.getEndTimeRange().size() >= 2) { + queryWrapper.between(AppStockSingleTaskBak::getEndTime, queryTaskReq.getEndTimeRange().get(0), queryTaskReq.getEndTimeRange().get(1)); + } + queryWrapper.orderByDesc(AppStockSingleTaskBak::getCreateTime); + try { + return list(queryWrapper); + } catch (Exception ex) { + return null; + } + } + + /** + * 插入数据 + * @param appStockSingleTaskBak 数据 + * @return 是否成功 + */ + @Override + public boolean insertThrowEx(AppStockSingleTaskBak appStockSingleTaskBak) { + return super.save(appStockSingleTaskBak); + } + + @Override + public List queryTaskRecentDays(int days, Integer taskStatus) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockSingleTaskBak::getTaskStatus, taskStatus); + queryWrapper.ge(AppStockSingleTaskBak::getCreateTime, AppTimeUtils.getTodayEndTime().minusDays(days)); + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskDao.java new file mode 100644 index 0000000..75ca769 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppStockSingleTaskDao.java @@ -0,0 +1,359 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppStockSingleTaskMapper; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockSingleTask.QueryStockSingleTaskReq; +import org.wcs.model.po.app.AppStockSingleTask; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppTimeUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppStockSingleTaskDao extends ServiceImpl implements AppStockSingleTaskService { + + /** + * 根据主键查询数据 + * @param taskId 任务ID + * @return 查询结果 + */ + @Override + public AppStockSingleTask queryByTaskId(String taskId) { + try { + return super.getById(taskId); + } catch (Exception ex) { + return null; + } + } + + /** + * 根据PLC任务ID查询数据 + * @param plcTaskId PLC任务ID + * @return 列表 + */ + @Override + public List queryByPlcTaskId(Integer plcTaskId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockSingleTask::getPlcTaskId, plcTaskId); + queryWrapper.orderByDesc(AppStockSingleTask::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 根据上位任务ID查询数据 + * @param upperTaskId 上位任务ID + * @return 查询结果 + */ + @Override + public List queryByUpperTaskId(String upperTaskId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockSingleTask::getUpperTaskId, upperTaskId); + queryWrapper.orderByDesc(AppStockSingleTask::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 查询 + * @param queryTaskReq 查询参数 + * @param pageSize 分页单页大小 + * @param pageIndex 分页页码 + * @return 结果 + */ + @Override + public Tuple2> query(QueryStockSingleTaskReq queryTaskReq, Integer pageSize, Integer pageIndex) { + if(pageIndex == null || pageIndex < 1 || pageSize == null || pageSize < 1) { + return null; + } + if(AppStringUtils.isNotEmpty(queryTaskReq.getPlcTaskId()) && !AppStringUtils.isNumber(queryTaskReq.getPlcTaskId())) { + return null; + } + Integer plcTaskId = AppStringUtils.isEmpty(queryTaskReq.getPlcTaskId()) ? null : Integer.parseInt(queryTaskReq.getPlcTaskId()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskId()), AppStockSingleTask::getTaskId, queryTaskReq.getTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getTaskGroup()), AppStockSingleTask::getTaskGroup, queryTaskReq.getTaskGroup()); + queryWrapper.eq(plcTaskId != null, AppStockSingleTask::getPlcTaskId, plcTaskId); + queryWrapper.eq(queryTaskReq.getExecuteMachine() != null, AppStockSingleTask::getExecuteMachine, queryTaskReq.getExecuteMachine()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getUpperTaskId()), AppStockSingleTask::getUpperTaskId, queryTaskReq.getUpperTaskId()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getVehicleNo()), AppStockSingleTask::getVehicleNo, queryTaskReq.getVehicleNo()); + queryWrapper.eq(queryTaskReq.getTaskType() != null, AppStockSingleTask::getTaskType, queryTaskReq.getTaskType()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getOrigin()), AppStockSingleTask::getOrigin, queryTaskReq.getOrigin()); + queryWrapper.like(AppStringUtils.isNotEmpty(queryTaskReq.getDestination()), AppStockSingleTask::getDestination, queryTaskReq.getDestination()); + queryWrapper.eq(queryTaskReq.getTaskStatus() != null, AppStockSingleTask::getTaskStatus, queryTaskReq.getTaskStatus()); + if(queryTaskReq.getCreateTimeRange() != null && queryTaskReq.getCreateTimeRange().size() >= 2) { + queryWrapper.between(AppStockSingleTask::getCreateTime, queryTaskReq.getCreateTimeRange().get(0), queryTaskReq.getCreateTimeRange().get(1)); + } + if(queryTaskReq.getEndTimeRange() != null && queryTaskReq.getEndTimeRange().size() >= 2) { + queryWrapper.between(AppStockSingleTask::getEndTime, queryTaskReq.getEndTimeRange().get(0), queryTaskReq.getEndTimeRange().get(1)); + } + queryWrapper.orderByDesc(AppStockSingleTask::getCreateTime); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ex) { + return null; + } + } + + /** + * 插入一条记录 + * @param record 数据 + * @return 插入结果 + */ + @Override + public boolean insert(AppStockSingleTask record) { + if(record == null) { + return false; + } + record.setCreateTime(LocalDateTime.now()); + record.setUpdateTime(LocalDateTime.now()); + try { + return super.save(record); + } catch (Exception e) { + return false; + } + } + + /** + * 根据主键更新一条记录,为 null 的不更新 + * @param record 数据 + * @return 更新结果 + */ + @Override + public boolean update(AppStockSingleTask record) { + record.setUpdateTime(LocalDateTime.now()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockSingleTask::getTaskId, record.getTaskId()); + updateWrapper.set(record.getTaskGroup() != null, AppStockSingleTask::getTaskGroup, record.getTaskGroup()); + updateWrapper.set(record.getPlcTaskId() != null, AppStockSingleTask::getPlcTaskId, record.getPlcTaskId()); + updateWrapper.set(record.getUpperTaskId() != null, AppStockSingleTask::getUpperTaskId, record.getUpperTaskId()); + updateWrapper.set(record.getTaskType() != null, AppStockSingleTask::getTaskType, record.getTaskType()); + updateWrapper.set(record.getExecuteMachine() != null, AppStockSingleTask::getExecuteMachine, record.getExecuteMachine()); + updateWrapper.set(record.getOrigin() != null, AppStockSingleTask::getOrigin, record.getOrigin()); + updateWrapper.set(record.getDestination() != null, AppStockSingleTask::getDestination, record.getDestination()); + updateWrapper.set(record.getComposeDestination() != null, AppStockSingleTask::getComposeDestination, record.getComposeDestination()); + updateWrapper.set(record.getTaskStatus() != null, AppStockSingleTask::getTaskStatus, record.getTaskStatus()); + updateWrapper.set(record.getCanCancel() != null, AppStockSingleTask::getCanCancel, record.getCanCancel()); + updateWrapper.set(record.getPriority() != null, AppStockSingleTask::getPriority, record.getPriority()); + updateWrapper.set(record.getVehicleNo() != null, AppStockSingleTask::getVehicleNo, record.getVehicleNo()); + updateWrapper.set(record.getVehicleNoNumber() != null, AppStockSingleTask::getVehicleNoNumber, record.getVehicleNoNumber()); + updateWrapper.set(record.getVehicleSize() != null, AppStockSingleTask::getVehicleSize, record.getVehicleSize()); + updateWrapper.set(record.getWeight() != null, AppStockSingleTask::getWeight, record.getWeight()); + updateWrapper.set(record.getUpdateTime() != null, AppStockSingleTask::getUpdateTime, record.getUpdateTime()); + updateWrapper.set(record.getStartTime() != null, AppStockSingleTask::getStartTime, record.getStartTime()); + updateWrapper.set(record.getCompleteTime() != null, AppStockSingleTask::getCompleteTime, record.getCompleteTime()); + updateWrapper.set(record.getEndTime() != null, AppStockSingleTask::getEndTime, record.getEndTime()); + updateWrapper.set(record.getTaskSource() != null, AppStockSingleTask::getTaskSource, record.getTaskSource()); + updateWrapper.set(record.getCreatePerson() != null, AppStockSingleTask::getCreatePerson, record.getCreatePerson()); + updateWrapper.set(record.getTaskMsg() != null, AppStockSingleTask::getTaskMsg, record.getTaskMsg()); + try { + return super.update(record, updateWrapper); + } catch (Exception e) { + return false; + } + } + + /** + * 根据任务ID更新任务状态,意外就抛出异常 + * @param upperTaskId 上位任务ID + * @param taskStatus 任务状态 + * @param newStatus 新状态 + * @param msg 状态信息 + * @return 更新结果 + */ + @Override + public boolean updateWithUpperTaskIdAndStatusThrowEx(String upperTaskId, List taskStatus, Integer newStatus, String msg) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockSingleTask::getUpperTaskId, upperTaskId); + updateWrapper.in(AppStockSingleTask::getTaskStatus, taskStatus); + updateWrapper.set(AppStockSingleTask::getTaskStatus, newStatus); + updateWrapper.set(AppStockSingleTask::getTaskMsg, msg); + return super.update(updateWrapper); + } + + /** + * 根据PLC任务ID更新一条记录,为 null 的不更新 + * @param record 数据 + * @return 更新结果 + */ + @Override + public boolean updateWithPlcTaskId(Integer plcTaskId, AppStockSingleTask record) { + record.setUpdateTime(LocalDateTime.now()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockSingleTask::getPlcTaskId, plcTaskId); + updateWrapper.set(record.getTaskGroup() != null, AppStockSingleTask::getTaskGroup, record.getTaskGroup()); + updateWrapper.set(record.getPlcTaskId() != null, AppStockSingleTask::getPlcTaskId, record.getPlcTaskId()); + updateWrapper.set(record.getUpperTaskId() != null, AppStockSingleTask::getUpperTaskId, record.getUpperTaskId()); + updateWrapper.set(record.getTaskType() != null, AppStockSingleTask::getTaskType, record.getTaskType()); + updateWrapper.set(record.getExecuteMachine() != null, AppStockSingleTask::getExecuteMachine, record.getExecuteMachine()); + updateWrapper.set(record.getOrigin() != null, AppStockSingleTask::getOrigin, record.getOrigin()); + updateWrapper.set(record.getDestination() != null, AppStockSingleTask::getDestination, record.getDestination()); + updateWrapper.set(record.getComposeDestination() != null, AppStockSingleTask::getComposeDestination, record.getComposeDestination()); + updateWrapper.set(record.getTaskStatus() != null, AppStockSingleTask::getTaskStatus, record.getTaskStatus()); + updateWrapper.set(record.getCanCancel() != null, AppStockSingleTask::getCanCancel, record.getCanCancel()); + updateWrapper.set(record.getPriority() != null, AppStockSingleTask::getPriority, record.getPriority()); + updateWrapper.set(record.getVehicleNo() != null, AppStockSingleTask::getVehicleNo, record.getVehicleNo()); + updateWrapper.set(record.getVehicleNoNumber() != null, AppStockSingleTask::getVehicleNoNumber, record.getVehicleNoNumber()); + updateWrapper.set(record.getVehicleSize() != null, AppStockSingleTask::getVehicleSize, record.getVehicleSize()); + updateWrapper.set(record.getWeight() != null, AppStockSingleTask::getWeight, record.getWeight()); + updateWrapper.set(record.getUpdateTime() != null, AppStockSingleTask::getUpdateTime, record.getUpdateTime()); + updateWrapper.set(record.getStartTime() != null, AppStockSingleTask::getStartTime, record.getStartTime()); + updateWrapper.set(record.getCompleteTime() != null, AppStockSingleTask::getCompleteTime, record.getCompleteTime()); + updateWrapper.set(record.getEndTime() != null, AppStockSingleTask::getEndTime, record.getEndTime()); + updateWrapper.set(record.getTaskSource() != null, AppStockSingleTask::getTaskSource, record.getTaskSource()); + updateWrapper.set(record.getCreatePerson() != null, AppStockSingleTask::getCreatePerson, record.getCreatePerson()); + updateWrapper.set(record.getTaskMsg() != null, AppStockSingleTask::getTaskMsg, record.getTaskMsg()); + try { + return super.update(record, updateWrapper); + } catch (Exception e) { + return false; + } + } + + @Override + public boolean updateThrowException(AppStockSingleTask record) { + record.setUpdateTime(LocalDateTime.now()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppStockSingleTask::getTaskId, record.getTaskId()); + updateWrapper.set(record.getTaskGroup() != null, AppStockSingleTask::getTaskGroup, record.getTaskGroup()); + updateWrapper.set(record.getPlcTaskId() != null, AppStockSingleTask::getPlcTaskId, record.getPlcTaskId()); + updateWrapper.set(record.getUpperTaskId() != null, AppStockSingleTask::getUpperTaskId, record.getUpperTaskId()); + updateWrapper.set(record.getTaskType() != null, AppStockSingleTask::getTaskType, record.getTaskType()); + updateWrapper.set(record.getExecuteMachine() != null, AppStockSingleTask::getExecuteMachine, record.getExecuteMachine()); + updateWrapper.set(record.getOrigin() != null, AppStockSingleTask::getOrigin, record.getOrigin()); + updateWrapper.set(record.getDestination() != null, AppStockSingleTask::getDestination, record.getDestination()); + updateWrapper.set(record.getComposeDestination() != null, AppStockSingleTask::getComposeDestination, record.getComposeDestination()); + updateWrapper.set(record.getTaskStatus() != null, AppStockSingleTask::getTaskStatus, record.getTaskStatus()); + updateWrapper.set(record.getCanCancel() != null, AppStockSingleTask::getCanCancel, record.getCanCancel()); + updateWrapper.set(record.getPriority() != null, AppStockSingleTask::getPriority, record.getPriority()); + updateWrapper.set(record.getVehicleNo() != null, AppStockSingleTask::getVehicleNo, record.getVehicleNo()); + updateWrapper.set(record.getVehicleNoNumber() != null, AppStockSingleTask::getVehicleNoNumber, record.getVehicleNoNumber()); + updateWrapper.set(record.getVehicleSize() != null, AppStockSingleTask::getVehicleSize, record.getVehicleSize()); + updateWrapper.set(record.getWeight() != null, AppStockSingleTask::getWeight, record.getWeight()); + updateWrapper.set(record.getUpdateTime() != null, AppStockSingleTask::getUpdateTime, record.getUpdateTime()); + updateWrapper.set(record.getStartTime() != null, AppStockSingleTask::getStartTime, record.getStartTime()); + updateWrapper.set(record.getCompleteTime() != null, AppStockSingleTask::getCompleteTime, record.getCompleteTime()); + updateWrapper.set(record.getEndTime() != null, AppStockSingleTask::getEndTime, record.getEndTime()); + updateWrapper.set(record.getTaskSource() != null, AppStockSingleTask::getTaskSource, record.getTaskSource()); + updateWrapper.set(record.getCreatePerson() != null, AppStockSingleTask::getCreatePerson, record.getCreatePerson()); + updateWrapper.set(record.getTaskMsg() != null, AppStockSingleTask::getTaskMsg, record.getTaskMsg()); + return super.update(record, updateWrapper); + } + + /** + * 删除任务 + * @param taskId 任务ID + * @return 删除结果 + */ + @Override + public boolean deleteByTaskIdThrowEx(String taskId) { + return super.removeById(taskId); + } + + /** + * 查询指定状态的任务 + * @param taskStatus 任务状态 + * @return 结果 + */ + @Override + public List queryTask(Integer taskStatus) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockSingleTask::getTaskStatus, taskStatus); + queryWrapper.orderByDesc(AppStockSingleTask::getPriority); + queryWrapper.orderByAsc(AppStockSingleTask::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 批量查询指定状态的任务 + * @param taskTypes 任务类型 + * @param taskStatus 任务状态 + * @return 结果 + */ + @Override + public List queryTask(List taskTypes, Integer taskStatus) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockSingleTask::getTaskStatus, taskStatus); + queryWrapper.in(AppStockSingleTask::getTaskType, taskTypes); + queryWrapper.orderByDesc(AppStockSingleTask::getPriority); + queryWrapper.orderByAsc(AppStockSingleTask::getCreateTime); + try { + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 查询指定时间段内指定状态的任务 + * @param days 天数 + * @param taskStatus 状态 + * @return 列表 + */ + @Override + public List queryTaskRecentDays(int days, Integer taskStatus) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppStockSingleTask::getTaskStatus, taskStatus); + queryWrapper.ge(AppStockSingleTask::getCreateTime, AppTimeUtils.getTodayEndTime().minusDays(days)); + return super.list(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 查询指定堆垛机指定箱号的任务 + * @param stackerId 堆垛机ID + * @param vehicleNo 载具编号 + * @param taskStatus 任务状态 + * @param taskType 任务类型 + * @return 结果 + */ + @Override + public List queryStackerTask(Integer stackerId, String vehicleNo, Integer taskStatus, Integer taskType) { + try { + return baseMapper.queryStackerTaskWithVehicle(stackerId, vehicleNo, taskStatus, taskType); + } catch (Exception e) { + return null; + } + } + + /** + * 查询指定堆垛机入库任务 + * @param stackerId 堆垛机ID + * @param taskStatus 状态 + * @param taskType 任务类型 + * @return 移动任务 + */ + @Override + public List queryStackerTask(Integer stackerId, Integer taskStatus, Integer taskType) { + try{ + return baseMapper.queryStackerTask(stackerId, taskStatus, taskType); + } catch (Exception e) { + return null; + } + } + + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppTrayConveyLocationDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppTrayConveyLocationDao.java new file mode 100644 index 0000000..79b7259 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppTrayConveyLocationDao.java @@ -0,0 +1,141 @@ +package org.wcs.mapper.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.wcs.mapper.AppTrayConveyLocationMapper; +import org.wcs.mapper.intf.AppTrayConveyLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.trayConveyLocation.QueryTrayConveyLocationReq; +import org.wcs.model.po.app.AppTrayConveyLocation; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AppTrayConveyLocationDao extends ServiceImpl implements AppTrayConveyLocationService { + + /** + * 分页条件查询 + * @param request 查询条件 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public Tuple2> queryTrayConveyLocation(QueryTrayConveyLocationReq request, Integer pageSize, Integer pageIndex) { + if(pageSize == null || pageSize <= 0 || pageIndex == null || pageIndex <= 0) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationId()), AppTrayConveyLocation::getLocationId, request.getLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getBusinessLocationId()), AppTrayConveyLocation::getBusinessLocationId, request.getBusinessLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationName()), AppTrayConveyLocation::getLocationName, request.getLocationName()); + queryWrapper.eq(request.getLocationStatus() != null, AppTrayConveyLocation::getLocationStatus, request.getLocationStatus()); + queryWrapper.eq(request.getLocationType() != null, AppTrayConveyLocation::getLocationType, request.getLocationType()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getAreaId()), AppTrayConveyLocation::getAreaId, request.getAreaId()); + queryWrapper.orderByAsc(AppTrayConveyLocation::getLocationId); + Page page = new Page<>(pageIndex, pageSize); + try { + Page pageResult = super.baseMapper.selectPage(page, queryWrapper); + return new Tuple2<>(pageResult.getTotal(), pageResult.getRecords()); + } catch (Exception ignored) { + return null; + } + } + + /** + * 条件查询 ---- 不分页 + * @param request 查询条件 + * @return 查询结果 + */ + @Override + public List queryTrayConveyLocation(QueryTrayConveyLocationReq request) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationId()), AppTrayConveyLocation::getLocationId, request.getLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getBusinessLocationId()), AppTrayConveyLocation::getBusinessLocationId, request.getBusinessLocationId()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getLocationName()), AppTrayConveyLocation::getLocationName, request.getLocationName()); + queryWrapper.eq(request.getLocationStatus() != null, AppTrayConveyLocation::getLocationStatus, request.getLocationStatus()); + queryWrapper.eq(request.getLocationType() != null, AppTrayConveyLocation::getLocationType, request.getLocationType()); + queryWrapper.like(AppStringUtils.isNotEmpty(request.getAreaId()), AppTrayConveyLocation::getAreaId, request.getAreaId()); + queryWrapper.orderByAsc(AppTrayConveyLocation::getLocationId); + try { + return super.list(queryWrapper); + } catch (Exception ignored) { + return null; + } + } + + /** + * 插入数据 + * @param trayConveyLocation 插入数据 + * @return 插入结果 + */ + @Override + public int insert(AppTrayConveyLocation trayConveyLocation) { + try { + return super.baseMapper.insert(trayConveyLocation); + } catch (Exception ignored) { + return 0; + } + } + + /** + * 更新数据 + * @param trayConveyLocation 更新数据 + * @return 更新结果 + */ + @Override + public int update(AppTrayConveyLocation trayConveyLocation) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AppTrayConveyLocation::getId, trayConveyLocation.getId()); + updateWrapper.set(AppStringUtils.isNotEmpty(trayConveyLocation.getLocationId()), AppTrayConveyLocation::getLocationId, trayConveyLocation.getLocationId()) + .set(AppStringUtils.isNotEmpty(trayConveyLocation.getBusinessLocationId()), AppTrayConveyLocation::getBusinessLocationId, trayConveyLocation.getBusinessLocationId()) + .set(AppStringUtils.isNotEmpty(trayConveyLocation.getLocationName()), AppTrayConveyLocation::getLocationName, trayConveyLocation.getLocationName()) + .set(trayConveyLocation.getLocationStatus() != null, AppTrayConveyLocation::getLocationStatus, trayConveyLocation.getLocationStatus()) + .set(trayConveyLocation.getLocationType() != null, AppTrayConveyLocation::getLocationType, trayConveyLocation.getLocationType()) + .set(trayConveyLocation.getPlcId() != null, AppTrayConveyLocation::getPlcId, trayConveyLocation.getPlcId()) + .set(AppStringUtils.isNotEmpty(trayConveyLocation.getLocationXyz()), AppTrayConveyLocation::getLocationXyz, trayConveyLocation.getLocationXyz()) + .set(AppStringUtils.isNotEmpty(trayConveyLocation.getReadStatusAddress()), AppTrayConveyLocation::getReadStatusAddress, trayConveyLocation.getReadStatusAddress()) + .set(AppStringUtils.isNotEmpty(trayConveyLocation.getWriteTaskAddress()), AppTrayConveyLocation::getWriteTaskAddress, trayConveyLocation.getWriteTaskAddress()) + .set(AppTrayConveyLocation::getUpdateTime, LocalDateTime.now()) + .set(AppStringUtils.isNotEmpty(trayConveyLocation.getRemark()), AppTrayConveyLocation::getRemark, trayConveyLocation.getRemark()); + try{ + return super.update(updateWrapper) ? 1 : 0; + } catch (Exception e) { + return 0; + } + } + + /** + * 查询所有托盘输送机信息 + * @return 查询结果 + */ + @Override + public List queryAll() { + try { + return super.list(); + } catch (Exception ignored) { + return null; + } + } + + /** + * 根据locationId查询托盘输送机信息 + * @param locationId locationId + * @return 查询结果 + */ + @Override + public List getDataByLocationId(String locationId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppTrayConveyLocation::getLocationId, locationId); + try{ + return super.list(queryWrapper); + } catch (Exception ignored) { + return null; + } + } +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseApiInfoService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseApiInfoService.java new file mode 100755 index 0000000..a540b85 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseApiInfoService.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.dto.serve.api.QueryApiBaseInfoReq; +import org.wcs.model.po.app.AppBaseApiInfo; + +import java.util.List; + +public interface AppBaseApiInfoService extends IService { + + List queryAll(); // 查询所有 + List query(QueryApiBaseInfoReq queryApiBaseInfoReq); // 条件查询 + List queryWithApiKey(String apiKey); + boolean insert(AppBaseApiInfo appBaseApiInfo); // 插入 + boolean delete(String apiKey); + boolean update(AppBaseApiInfo appBaseApiInfo); + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseConfigService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseConfigService.java new file mode 100755 index 0000000..4eb77d1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseConfigService.java @@ -0,0 +1,15 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBaseConfig; + +import java.util.List; + +public interface AppBaseConfigService extends IService { + + List queryAll(); // 查询所有配置 + List queryIndistinct(String ConfigKey, String ConfigName, boolean isQueryAll); // 条件模糊查询配置,是否查询所有 + int update(AppBaseConfig appBaseConfig); // 更新数据 + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseDbService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseDbService.java new file mode 100644 index 0000000..71d90fb --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseDbService.java @@ -0,0 +1,18 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.siemensDb.QuerySiemensDbReq; +import org.wcs.model.po.app.AppBaseDb; + +import java.util.List; + +public interface AppBaseDbService extends IService { + + List queryAll(); + Tuple2> query(Integer pageIndex, Integer pageSize, QuerySiemensDbReq request); + int insert(AppBaseDb db); // 新增一条数据 + int update(AppBaseDb db); // 修改一条数据 + List queryByName(String dbName); // 根据名称查询 + int deleteByName(String dbName); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseErrInfoService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseErrInfoService.java new file mode 100755 index 0000000..37685d9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseErrInfoService.java @@ -0,0 +1,21 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.baseError.QueryBaseErrorReq; +import org.wcs.model.po.app.AppBaseErrInfo; + +import java.util.List; + +public interface AppBaseErrInfoService extends IService { + + Tuple2> queryBaseErrorList(QueryBaseErrorReq request, Integer pageSize, Integer pageIndex); + List queryBaseErrorList(Integer equipmentType, String errCode); + int addBaseError(AppBaseErrInfo baseErrorInfo); + boolean addBaseErrorList(List baseErrorInfoList); + int deleteBaseErrorByEquipmentType(Integer equipmentType); + List queryById(String id); + int deleteById(String id); // 根据ID删除 + int updateBaseError(AppBaseErrInfo baseErrorInfo); // 修改基础资料数据 + List queryByEquipmentTypeAndErrorCode(Integer equipmentType, String errCode); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseGroupPermissionService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseGroupPermissionService.java new file mode 100755 index 0000000..def8398 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseGroupPermissionService.java @@ -0,0 +1,13 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBaseGroupPermission; + +import java.util.List; + +public interface AppBaseGroupPermissionService extends IService { + + boolean deleteByUserGroupThrowException(String userGroup); // 根据用户组删除权限表的数据 + int insertThrowException(List appBaseGroupPermissionList); + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseLedService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseLedService.java new file mode 100644 index 0000000..ebb6189 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseLedService.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.dto.serve.led.QueryLedReq; +import org.wcs.model.po.app.AppBaseLed; + +import java.util.List; + +/** + * LED 屏基础资料 数据库表操作类 + */ +public interface AppBaseLedService extends IService { + + List queryLed(QueryLedReq queryLedReq); // 查询LED屏基础资料 + int insert(AppBaseLed appBaseLed); // 新增LED屏基础资料 + int update(AppBaseLed appBaseLed); // 修改LED屏基础资料 + int delete(String id); // 删除LED屏基础资料,根据ID + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseMaintenanceInfoService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseMaintenanceInfoService.java new file mode 100755 index 0000000..380c07c --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseMaintenanceInfoService.java @@ -0,0 +1,7 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBaseMaintenanceInfo; + +public interface AppBaseMaintenanceInfoService extends IService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseMenuService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseMenuService.java new file mode 100755 index 0000000..dce2511 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseMenuService.java @@ -0,0 +1,18 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBaseMenu; + +import java.util.List; + +public interface AppBaseMenuService extends IService { + + List queryPermission(String userGroup); // 查询这个用户组 拥有的菜单 + List queryIndistinct(AppBaseMenu appBaseMenu); // 根据条件模糊查询 + List query(AppBaseMenu appBaseMenu); // 根据条件查询 + int insert(AppBaseMenu... menus); // 添加菜单 + int delete(String menuId); // 根据菜单ID删除菜单 + int update(AppBaseMenu appBaseMenu); + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBasePlcService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBasePlcService.java new file mode 100755 index 0000000..3d0f301 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBasePlcService.java @@ -0,0 +1,18 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBasePlc; + +import java.util.List; + + +public interface AppBasePlcService extends IService { + + List queryIndistinct(String plcName, Integer plcType); + List queryById(Integer plcId); + List queryAll(); + int insert(AppBasePlc appBasePlc); // 插入一条数据 + int update(AppBasePlc appBasePlc); + int deletePlc(Integer plcId); // 删除一条数据 + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseScanMethodService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseScanMethodService.java new file mode 100644 index 0000000..5b874c3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseScanMethodService.java @@ -0,0 +1,11 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBaseScanMethod; + +import java.util.List; + +public interface AppBaseScanMethodService extends IService { + + List queryAll(); // 查询所有 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserGroupService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserGroupService.java new file mode 100755 index 0000000..73aa7d0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserGroupService.java @@ -0,0 +1,17 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBaseUserGroup; + +import java.util.List; + +/** + * 用户组数据库表操作接口 + */ +public interface AppBaseUserGroupService extends IService { + + List queryWithLevelMin(Integer groupLevel); // 查询用户组等级低于这个等级的数据 + int insert(AppBaseUserGroup appBaseUserGroup); + int deleteByUserGroupThrowException(String userGroup); + int update(AppBaseUserGroup appBaseUserGroup); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserService.java new file mode 100755 index 0000000..983e73d --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppBaseUserService.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppBaseUser; +import org.wcs.model.po.app.JoinUserInfoWithGroupInfo; + +import java.util.List; + +public interface AppBaseUserService extends IService { + + List query(AppBaseUser appBaseUser); // 条件查询 + List queryByUserId(String userId); // 查询一个用户 + List query(String userId); // 查询这个用户的包含用户组的信息 + List query(AppBaseUser user, Integer maxUserLevel); // 条件查询不超过某一级别的用户 + int update(AppBaseUser appBaseUser); // 条件更新用户信息 + int deleteWithUserId(String userId); // 根据用户ID删除用户 + int insert(AppBaseUser appBaseUser); // 插入一个用户 + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyCheckStandService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyCheckStandService.java new file mode 100644 index 0000000..26cec72 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyCheckStandService.java @@ -0,0 +1,21 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyStand.QueryCheckStandReq; +import org.wcs.model.po.app.AppConveyCheckStand; + +import java.util.List; + +/** + * 输送线复核台数据库操作类 + */ +public interface AppConveyCheckStandService extends IService { + + Tuple2> query(QueryCheckStandReq request, Integer pageSize, Integer pageIndex); + List queryByStandId(String standId); // 根据站台ID查询 + DataBaseActionResult insert(AppConveyCheckStand appConveyCheckStand); // 添加一条数据 + DataBaseActionResult deleteByStandId(String standId); // 删除一条数据 + DataBaseActionResult update(AppConveyCheckStand appConveyCheckStand); // 修改一条数据 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyLocationService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyLocationService.java new file mode 100644 index 0000000..2f915af --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyLocationService.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.convey.QueryConveyLocationReq; +import org.wcs.model.po.app.AppConveyLocation; + +import java.util.List; + +public interface AppConveyLocationService extends IService { + + Tuple2> queryConveyLocation(QueryConveyLocationReq request, Integer pageSize, Integer pageIndex); + List queryByLocationId(String locationId); + boolean insertConveyLocation(AppConveyLocation appConveyLocation); + boolean updateConveyLocationByLocationId(AppConveyLocation appConveyLocation); + List queryAll(); // 查询所有 + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyPickStandService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyPickStandService.java new file mode 100644 index 0000000..5a7388e --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyPickStandService.java @@ -0,0 +1,18 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyStand.QueryPickStandReq; +import org.wcs.model.po.app.AppConveyPickStand; + +import java.util.List; + +public interface AppConveyPickStandService extends IService { + + Tuple2> queryPickStand(QueryPickStandReq request, Integer pageSize, Integer pageIndex); + List queryPickStandByStandId(String standId); + List queryAll(); + int insertPickStand(AppConveyPickStand appConveyPickStand); + int deletePickStand(String standId); + int updatePickStand(AppConveyPickStand appConveyPickStand); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskBakService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskBakService.java new file mode 100644 index 0000000..ec8e8b8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskBakService.java @@ -0,0 +1,14 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq; +import org.wcs.model.po.app.AppConveyTaskBak; + +import java.util.List; + +public interface AppConveyTaskBakService extends IService { + Tuple2> queryConveyTaskBak(QueryConveyTaskReq request, Integer pageSize, Integer pageIndex); // 查询 + List queryByTaskId(String taskId); + List queryConveyTaskBak(QueryConveyTaskReq request); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskEventService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskEventService.java new file mode 100755 index 0000000..739a321 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskEventService.java @@ -0,0 +1,8 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppConveyTaskEvent; + +public interface AppConveyTaskEventService extends IService { + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java new file mode 100755 index 0000000..b4e0a85 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppConveyTaskService.java @@ -0,0 +1,16 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq; +import org.wcs.model.po.app.AppConveyTask; + +import java.util.List; + +public interface AppConveyTaskService extends IService { + + Tuple2> queryConveyTask(QueryConveyTaskReq request, Integer pageSize, Integer pageIndex); // 查询 + int insertConveyTask(AppConveyTask appConveyTask); + List queryByTaskId(String taskId); + int updateConveyTask(AppConveyTask appConveyTask); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagControllerInfoService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagControllerInfoService.java new file mode 100755 index 0000000..97a2c1d --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagControllerInfoService.java @@ -0,0 +1,17 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagBase.EtagControllerQueryReq; +import org.wcs.model.po.app.AppEtagControllerInfo; + +import java.util.List; + +public interface AppEtagControllerInfoService extends IService { + + Tuple2> queryEtagControllerInfo(EtagControllerQueryReq request, Integer pageSize, Integer pageIndex); + List queryEtagControllerInfoById(Integer etagControllerId); + int insertEtagControllerInfo(AppEtagControllerInfo appEtagControllerInfo); // 添加电子标签控制器基础数据 + int updateEtagControllerInfo(AppEtagControllerInfo appEtagControllerInfo); // 修改电子标签控制器基础数据 + int deleteEtagControllerInfoById(Integer etagControllerId); // 删除电子标签控制器基础数据 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagStockService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagStockService.java new file mode 100755 index 0000000..5cba441 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagStockService.java @@ -0,0 +1,9 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppEtagStock; + +import java.util.List; + +public interface AppEtagStockService extends IService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagInfoService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagInfoService.java new file mode 100755 index 0000000..f3b0e62 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagInfoService.java @@ -0,0 +1,22 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagBase.EtagTagInfoQueryReq; +import org.wcs.model.po.app.AppEtagTagInfo; + +import java.util.List; + +/** + * 电子标签小标签基础信息数据访问层 + */ +public interface AppEtagTagInfoService extends IService { + + Tuple2> queryEtagTagInfo(EtagTagInfoQueryReq request, Integer pageSize, Integer pageIndex); + List queryEtagTagInfoByTagName(String tagName); // 通过标签名称查询 + DataBaseActionResult insert(AppEtagTagInfo appEtagTagInfo); // 添加电子标签小标签基础信息 + DataBaseActionResult update(AppEtagTagInfo appEtagTagInfo); // 修改电子标签小标签基础信息 + DataBaseActionResult deleteByTagName(String tagName); // 删除电子标签小标签基础信息 + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagLocationService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagLocationService.java new file mode 100755 index 0000000..ba54c93 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTagLocationService.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagBase.EtagLocationQueryReq; +import org.wcs.model.po.app.AppEtagTagLocation; + +import java.util.List; + +public interface AppEtagTagLocationService extends IService { + + Tuple2> queryEtagTagLocation(EtagLocationQueryReq request, Integer pageIndex, Integer pageSize); // 分页查询 + List queryWithLocationAndType(String location, Integer locationType); // 查询指定货位和货位类型的数据 + DataBaseActionResult insert(AppEtagTagLocation appEtagTagLocation); // 插入一条数据 + List queryWithRecordId(String recordId); // 查询指定记录ID的数据 + DataBaseActionResult updateAll(AppEtagTagLocation appEtagTagLocation); // 更新一条数据 + DataBaseActionResult deleteWithRecordId(String recordId); // 删除指定记录ID的数据 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java new file mode 100644 index 0000000..cf72afa --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskBakService.java @@ -0,0 +1,13 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; +import org.wcs.model.po.app.AppEtagTaskBak; + +import java.util.List; + +public interface AppEtagTaskBakService extends IService { + + Tuple2> queryEtagTask(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskEventService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskEventService.java new file mode 100755 index 0000000..4140fd3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskEventService.java @@ -0,0 +1,9 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppEtagTaskEvent; + +import java.util.List; + +public interface AppEtagTaskEventService extends IService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java new file mode 100755 index 0000000..65a6072 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java @@ -0,0 +1,18 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.db.DataBaseActionResult; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; +import org.wcs.model.po.app.AppEtagTask; + +import java.time.LocalDateTime; +import java.util.Iterator; +import java.util.List; + +public interface AppEtagTaskService extends IService { + + Tuple2> queryEtagTask(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize); + DataBaseActionResult insert(AppEtagTask appEtagTask); // 插入新数据 + DataBaseActionResult updateIgnoreNull(AppEtagTask appEtagTask); // 更新数据,忽略Null值 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppQuartzConfigService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppQuartzConfigService.java new file mode 100644 index 0000000..9f1b102 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppQuartzConfigService.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppQuartzConfig; + +import java.util.List; + +public interface AppQuartzConfigService extends IService { + + List queryAll(); + AppQuartzConfig queryByClassName(String className); // 根据类名查找 + List queryIndistinct(String className, String jobDesc); + Boolean exist(String className); // 判断是否存在 + int insert(AppQuartzConfig appQuartzConfig); // 插入一条数据 + int delete(String className); // 删除数据 + int update(AppQuartzConfig appQuartzConfig); + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java new file mode 100755 index 0000000..fb25024 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiRequestService.java @@ -0,0 +1,17 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiRequestReq; +import org.wcs.model.po.app.AppRecordApiRequest; + +import java.util.List; + +public interface AppRecordApiRequestService extends IService { + + + Tuple2> queryByPage(QueryRecordApiRequestReq request, Integer pageSize, Integer pageIndex); + int insert(AppRecordApiRequest record); // 插入数据 + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java new file mode 100755 index 0000000..978963e --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordApiResponseService.java @@ -0,0 +1,16 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiResponseReq; +import org.wcs.model.po.app.AppRecordApiResponse; + +import java.time.LocalDateTime; +import java.util.List; + +public interface AppRecordApiResponseService extends IService { + + Tuple2> queryByPage(QueryRecordApiResponseReq request, Integer pageSize, Integer pageIndex); + int insert(AppRecordApiResponse record); + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java new file mode 100755 index 0000000..e52e6ed --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordErrService.java @@ -0,0 +1,18 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordError.QueryEquipmentErrorReq; +import org.wcs.model.po.app.AppRecordErr; +import org.wcs.model.po.app.JoinRecordError; + +import java.util.List; + +public interface AppRecordErrService extends IService { + + int insert(AppRecordErr record); + + Tuple2> queryRecordErrorDetail(QueryEquipmentErrorReq request, Integer pageSize, Integer pageIndex); + List queryRecordErrorDetail(QueryEquipmentErrorReq request); + List queryRecordErrorDetailRecentDays(int days); // 查询近几天的错误信息 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java new file mode 100755 index 0000000..5a94c23 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordMaintenanceService.java @@ -0,0 +1,7 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppRecordMaintenance; + +public interface AppRecordMaintenanceService extends IService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java new file mode 100755 index 0000000..15fe2df --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordPlcInteractiveService.java @@ -0,0 +1,7 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppRecordPlcInteractive; + +public interface AppRecordPlcInteractiveService extends IService { +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java new file mode 100755 index 0000000..4536cfb --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordScanService.java @@ -0,0 +1,15 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordScan.QueryRecordScanReq; +import org.wcs.model.po.app.AppRecordScan; + +import java.time.LocalDateTime; +import java.util.List; + +public interface AppRecordScanService extends IService { + + Tuple2> query(QueryRecordScanReq queryRecordScanReq, Integer pageSize, Integer pageIndex); + List query(QueryRecordScanReq queryRecordScanReq); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppRecordTaskMsgService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordTaskMsgService.java new file mode 100644 index 0000000..3b07309 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppRecordTaskMsgService.java @@ -0,0 +1,13 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppRecordTaskMag; + +import java.util.List; + +public interface AppRecordTaskMsgService extends IService { + + boolean insert(AppRecordTaskMag appRecordTaskMag); // 插入一条数据 + List queryWithTaskId(String taskId); // 根据任务号查询一条数据 + boolean deleteOldData(int days); // 删除指定天数前的数据 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStackerInfoService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStackerInfoService.java new file mode 100644 index 0000000..342c937 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStackerInfoService.java @@ -0,0 +1,16 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppStackerInfo; + +import java.util.List; + +public interface AppStackerInfoService extends IService { + + List queryStackerInfoIndistinct(String stackerName); + List queryStackerInfoById(Integer stackerId); + List queryStackerInfoByStatus(Integer status); + List queryAll(); + int insert(AppStackerInfo appStackerInfo); // 插入一条数据 + int update(AppStackerInfo appStackerInfo); // 根据主键更新 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStackerLocationService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStackerLocationService.java new file mode 100644 index 0000000..fffbac3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStackerLocationService.java @@ -0,0 +1,25 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stackerLocation.QueryStackerLocationReq; +import org.wcs.model.po.app.AppStackerLocation; + +import java.util.List; + +public interface AppStackerLocationService extends IService { + + Tuple2> queryStackerLocation(QueryStackerLocationReq request, Integer pageSize, Integer pageIndex); + List queryStackerLocation(QueryStackerLocationReq request); + int insert(AppStackerLocation appStackerLocation); // 添加一个库位 + List queryStackerLocationById(String locationId); // 根据库位ID查询 + List queryStackerLocationAll(); // 查询所有 + boolean deleteWithMachineIdAndLaneIdNoCatchException(Integer machineId, Integer laneId, Integer rowId); // 根据堆垛机ID和巷道ID和排ID删除 + boolean insertNoCatchException(List appStackerLocations); // 批量添加 + boolean updateById(AppStackerLocation appStackerLocation); // 根据主键更新 + boolean updateStatusAndVehicleNoById(String locationId, Integer status, String vehicleNo); // 根据主键更新状态和载具 + List queryStackerLocationByStackerIdAndLaneId(Integer stackerId, Integer laneId); + + + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStackerStandService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStackerStandService.java new file mode 100644 index 0000000..0dfb5ef --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStackerStandService.java @@ -0,0 +1,17 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.po.app.AppStackerStand; + +import java.util.List; + +public interface AppStackerStandService extends IService { + + List queryStackerStand(Integer stackerId); // 根据 堆垛机ID查询堆垛机站台 + List queryStandInfo(String standId); // 查询站台信息 + List queryAll(); + int insert(AppStackerStand appStackerStand); // 添加或更新站台信息 + int update( AppStackerStand appStackerStand); // 更新站台信息 + int delete(String standId); // 删除站台信息 + List queryStackerStand(List standIdList); // 根据站台列表查询堆垛机站台 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java new file mode 100644 index 0000000..e89f256 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskBakService.java @@ -0,0 +1,17 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; +import org.wcs.model.po.app.AppStockComposeTaskBak; + +import java.util.List; + +public interface AppStockComposeTaskBakService extends IService { + + Tuple2> query(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex); // 模糊条件查询 + boolean insertThrowEx(AppStockComposeTaskBak appStockComposeTaskBak); + AppStockComposeTaskBak queryByTaskId(String taskId); // 根据任务ID查询 + List query(QueryStockComposeTaskReq queryTaskReq); + List queryByUpperTaskId(String upperTaskId); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskService.java new file mode 100644 index 0000000..b7f7ad5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStockComposeTaskService.java @@ -0,0 +1,27 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.constant.enums.database.StockComposeTaskStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskStepStatusEnum; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; +import org.wcs.model.po.app.AppStockComposeTask; + +import java.util.List; + +public interface AppStockComposeTaskService extends IService { + + Tuple2> query(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex); // 模糊条件查询 + List query(AppStockComposeTask appStockComposeTask); // 条件查询 + List query(QueryStockComposeTaskReq queryTaskReq); + List queryWithStatus(Integer... taskStatus); // 根据状态批量查询 + int insert(AppStockComposeTask appStockComposeTask); // 插入一条数据 + List queryNotCompleteTask(String vehicleNo); + AppStockComposeTask queryByTaskId(String taskId); // 根据任务ID查询 + List queryByUpperTaskId(String upperTaskId); // 根据上位任务ID查询 + boolean update(AppStockComposeTask appStockComposeTask); // 根据主键更新数据 + boolean updateThrowEx(AppStockComposeTask appStockComposeTask); // 根据主键更新数据并抛出异常 + boolean setTaskStatusAndMsg(String taskId, StockComposeTaskStatusEnum status, StockComposeTaskStepStatusEnum stepStatus, String msg); // 设置任务状态和消息 + int setTaskStatusAndMsgWithOldTaskStatus(String taskId, Integer oldStatus, StockComposeTaskStatusEnum newStatus, String msg); // 设置任务状态和消息 + boolean deleteWithTaskIdThrowEx(String taskId); // 根据任务ID删除数据并抛出异常 +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStockScanService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStockScanService.java new file mode 100644 index 0000000..70a2949 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStockScanService.java @@ -0,0 +1,19 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockScan.QueryStockScanReq; +import org.wcs.model.po.app.AppStockScan; + +import java.util.List; + +public interface AppStockScanService extends IService { + + Tuple2> queryStockScan(QueryStockScanReq request, Integer pageSize, Integer pageIndex); + AppStockScan queryById(String scanId); // 根据主键查询 + List query(AppStockScan appStockScan); // 条件查询 + List queryAll(); // 查询全部 + int insert(AppStockScan appStockScan); // 插入数据 + int update(AppStockScan appStockScan); // 更新数据 + int deleteById(String stockScanId); // 删除扫码ID +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java new file mode 100644 index 0000000..cc552e4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskBakService.java @@ -0,0 +1,17 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockSingleTask.QueryStockSingleTaskReq; +import org.wcs.model.po.app.AppStockSingleTaskBak; + +import java.util.List; + +public interface AppStockSingleTaskBakService extends IService { + + Tuple2> query(QueryStockSingleTaskReq queryTaskReq, Integer pageSize, Integer pageIndex); + List query(QueryStockSingleTaskReq queryTaskReq); + boolean insertThrowEx(AppStockSingleTaskBak appStockSingleTaskBak); + + List queryTaskRecentDays(int days, Integer taskStatus); +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskService.java new file mode 100644 index 0000000..0320292 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppStockSingleTaskService.java @@ -0,0 +1,28 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockSingleTask.QueryStockSingleTaskReq; +import org.wcs.model.po.app.AppStockSingleTask; + +import java.util.List; + +public interface AppStockSingleTaskService extends IService { + + AppStockSingleTask queryByTaskId(String taskId); + List queryByPlcTaskId(Integer plcTaskId); + List queryByUpperTaskId(String upperTaskId); // 查询指定任务ID的上级任务 + Tuple2> query(QueryStockSingleTaskReq queryTaskReq, Integer pageSize, Integer pageIndex); + boolean insert(AppStockSingleTask record); // 插入一条记录 + boolean update(AppStockSingleTask record); // 更新一条记录,为 null 的不更新 + boolean updateWithUpperTaskIdAndStatusThrowEx(String upperTaskId, List taskStatus, Integer newStatus, String msg); + boolean updateWithPlcTaskId(Integer plcTaskId, AppStockSingleTask record); // 更新一条记录,为 null 的不更新 + boolean updateThrowException(AppStockSingleTask record); + boolean deleteByTaskIdThrowEx(String taskId); + List queryTask(Integer taskStatus); // 查询指定状态的任务 + List queryTask(List taskTypes, Integer taskStatus); // 查询指定任务类型和状态的任务 + List queryTaskRecentDays(int days, Integer taskStatus); + List queryStackerTask(Integer stackerId, String vehicleNo, Integer taskStatus, Integer taskType); // 查询指定堆垛机的任务 + List queryStackerTask(Integer stackerId, Integer taskStatus, Integer taskType); // 查询指定堆垛机入库任务 + +} diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppTrayConveyLocationService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppTrayConveyLocationService.java new file mode 100644 index 0000000..38ab8d2 --- /dev/null +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppTrayConveyLocationService.java @@ -0,0 +1,18 @@ +package org.wcs.mapper.intf; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.trayConveyLocation.QueryTrayConveyLocationReq; +import org.wcs.model.po.app.AppTrayConveyLocation; + +import java.util.List; + +public interface AppTrayConveyLocationService extends IService { + + Tuple2> queryTrayConveyLocation(QueryTrayConveyLocationReq request, Integer pageSize, Integer pageIndex); // 分页条件查询 + List queryTrayConveyLocation(QueryTrayConveyLocationReq request); // 条件查询 + int insert(AppTrayConveyLocation trayConveyLocation); // 插入一条数据 + int update(AppTrayConveyLocation trayConveyLocation); // 更新一条数据 + List queryAll(); // 查询所有 + List getDataByLocationId(String locationId); // 根据id查询一条数据 +} diff --git a/wcs/src/main/java/org/wcs/model/bo/db/DataBaseActionResult.java b/wcs/src/main/java/org/wcs/model/bo/db/DataBaseActionResult.java new file mode 100644 index 0000000..07d18d0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/bo/db/DataBaseActionResult.java @@ -0,0 +1,80 @@ +package org.wcs.model.bo.db; + +/** + * 数据库操作结果 + * @param 数据类型 + */ +public class DataBaseActionResult { + + /** + * 数据 + */ + private final T data; + + /** + * 异常 + */ + private final Exception exception; + + /** + * 创建一个空结果,禁止普通初始化 + */ + private DataBaseActionResult() { + this.data = null; + this.exception = null; + } + + /** + * 创建一个成功结果 + * @param data 数据 + */ + public DataBaseActionResult(T data) { + this.data = data; + this.exception = null; + } + + /** + * 创建一个失败结果 + * @param exception 异常 + */ + public DataBaseActionResult(Exception exception) { + this.data = null; + this.exception = exception; + } + + /** + * 创建一个结果 + * @param data 数据 + * @param exception 异常 + */ + public DataBaseActionResult(T data, Exception exception) { + this.data = data; + this.exception = exception; + } + + /** + * 获取数据 + * @return 数据 + */ + public T result() { + return data; + } + + /** + * 获取异常 + * @return 异常 + */ + public Exception exception() { + return exception; + } + + /** + * 抛出异常 + * @throws Exception 异常 + */ + public void throwException() throws Exception { + if (exception != null) { + throw exception; + } + } +} diff --git a/wcs/src/main/java/org/wcs/model/bo/stacker/StackerStatusData.java b/wcs/src/main/java/org/wcs/model/bo/stacker/StackerStatusData.java new file mode 100644 index 0000000..1b34b2d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/bo/stacker/StackerStatusData.java @@ -0,0 +1,37 @@ +package org.wcs.model.bo.stacker; + +import lombok.Getter; +import lombok.Setter; +import org.wcs.plugin.plc.model.StackerStatus; + +import java.time.LocalDateTime; + +/** + * 堆垛机状态数据 + */ +@Setter +@Getter +public class StackerStatusData { + + /** + * 堆垛机ID + */ + private Integer stackerId; + + /** + * 堆垛机名称 + */ + private String stackerName; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + /** + * 堆垛机状态 + */ + private StackerStatus status; + + +} diff --git a/wcs/src/main/java/org/wcs/model/bo/stock/StockLocation.java b/wcs/src/main/java/org/wcs/model/bo/stock/StockLocation.java new file mode 100644 index 0000000..354296a --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/bo/stock/StockLocation.java @@ -0,0 +1,30 @@ +package org.wcs.model.bo.stock; + +import lombok.Getter; +import lombok.Setter; +import org.wcs.constant.enums.business.LocationTypeEnum; + +/** + * 仓库点位模型 + */ +@Setter +@Getter +public class StockLocation { + + /** + * 点位类型 + */ + private LocationTypeEnum locationType; + + /** + * 点位ID + */ + private String locationId; + + /** + * 区域ID + */ + private String areaId; + + +} diff --git a/wcs/src/main/java/org/wcs/model/bo/tuple/Tuple2.java b/wcs/src/main/java/org/wcs/model/bo/tuple/Tuple2.java new file mode 100755 index 0000000..43ec066 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/bo/tuple/Tuple2.java @@ -0,0 +1,19 @@ +package org.wcs.model.bo.tuple; + +import lombok.Getter; + +/** + * 元组,2个元素 + */ +@Getter +public class Tuple2 { + + public T1 item1; + + public T2 item2; + + public Tuple2(T1 item1, T2 item2) { + this.item1 = item1; + this.item2 = item2; + } +} diff --git a/wcs/src/main/java/org/wcs/model/bo/tuple/Tuple3.java b/wcs/src/main/java/org/wcs/model/bo/tuple/Tuple3.java new file mode 100755 index 0000000..461cf4d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/bo/tuple/Tuple3.java @@ -0,0 +1,19 @@ +package org.wcs.model.bo.tuple; + +import lombok.Getter; + +/** + * 元组,3个元素 + */ +@Getter +public class Tuple3 { + public T1 item1; + public T2 item2; + public T3 item3; + + public Tuple3(T1 item1, T2 item2, T3 item3) { + this.item1 = item1; + this.item2 = item2; + this.item3 = item3; + } +} diff --git a/wcs/src/main/java/org/wcs/model/dto/client/ConveyTaskStatusUploadReq.java b/wcs/src/main/java/org/wcs/model/dto/client/ConveyTaskStatusUploadReq.java new file mode 100644 index 0000000..32675b3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/client/ConveyTaskStatusUploadReq.java @@ -0,0 +1,46 @@ +package org.wcs.model.dto.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class ConveyTaskStatusUploadReq { + + /** + * 任务ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 到达位置 + */ + @JsonProperty("arriveLocation") + private String arriveLocation; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 错误信息 + */ + @JsonProperty("message") + private String message; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/client/StockLoginDataResp.java b/wcs/src/main/java/org/wcs/model/dto/client/StockLoginDataResp.java new file mode 100644 index 0000000..fe31e99 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/client/StockLoginDataResp.java @@ -0,0 +1,76 @@ +package org.wcs.model.dto.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 任务注册的响应 + */ +@Setter +@Getter +public class StockLoginDataResp { + + /** + * 任务ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组ID + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 终点 + */ + @JsonProperty("destination") + private String destination; + + /** + * 优先级 + */ + @JsonProperty("priority") + private Integer priority; + + /** + * 尺寸 + */ + @JsonProperty("size") + private Integer size; + + /** + * 重量 + */ + @JsonProperty("weight") + private Integer weight; + + /** + * 系统名称 + */ + @JsonProperty("sysName") + private String sysName; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/client/StockLoginReq.java b/wcs/src/main/java/org/wcs/model/dto/client/StockLoginReq.java new file mode 100644 index 0000000..de7a310 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/client/StockLoginReq.java @@ -0,0 +1,63 @@ +package org.wcs.model.dto.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 任务注册请求 + */ +@Setter +@Getter +public class StockLoginReq { + + /** + * 请求ID + */ + @JsonProperty("requestId") + private String requestId; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 位置 + */ + @JsonProperty("location") + private String location; + + /** + * 载具尺寸 + */ + @JsonProperty("size") + private Integer size; + + /** + * 载具长度 + */ + @JsonProperty("length") + private Integer length; + + /** + * 载具宽度 + */ + @JsonProperty("width") + private Integer width; + + /** + * 载具高度 + */ + @JsonProperty("height") + private Integer height; + + /** + * 载具重量 + */ + @JsonProperty("weight") + private Integer weight; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/client/StockTaskStatusUploadReq.java b/wcs/src/main/java/org/wcs/model/dto/client/StockTaskStatusUploadReq.java new file mode 100644 index 0000000..78733e7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/client/StockTaskStatusUploadReq.java @@ -0,0 +1,54 @@ +package org.wcs.model.dto.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 上传仓储任务状态的请求参数 + */ +@Setter +@Getter +public class StockTaskStatusUploadReq { + + /** + * 任务ID + */ + @JsonProperty("taskId") + private String taskId; + + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 目的地 + */ + @JsonProperty("destination") + private String destination; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 信息 + */ + @JsonProperty("message") + private String message; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/client/UpperSystemBaseResponse.java b/wcs/src/main/java/org/wcs/model/dto/client/UpperSystemBaseResponse.java new file mode 100644 index 0000000..fe04ba8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/client/UpperSystemBaseResponse.java @@ -0,0 +1,36 @@ +package org.wcs.model.dto.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 上位系统标准响应 + */ +@Setter +@Getter +public class UpperSystemBaseResponse { + + /** + * 响应码 + */ + @JsonProperty("code") + private Integer code; + + /** + * 响应消息 + */ + @JsonProperty("message") + private String message; + + + /** + * 是否成功 + * @return true:成功,false:失败 + */ + public boolean isOk() { + return code == 200; + } + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/client/UpperSystemDataResponse.java b/wcs/src/main/java/org/wcs/model/dto/client/UpperSystemDataResponse.java new file mode 100644 index 0000000..96134b4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/client/UpperSystemDataResponse.java @@ -0,0 +1,19 @@ +package org.wcs.model.dto.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 上位系统获取系统数据响应 + */ +@Getter +@Setter +public class UpperSystemDataResponse extends UpperSystemBaseResponse { + + /** + * 返回数据 + */ + @JsonProperty("returnData") + private T returnData; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/pub/AddConveyTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/pub/AddConveyTaskReq.java new file mode 100644 index 0000000..c908a82 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/pub/AddConveyTaskReq.java @@ -0,0 +1,92 @@ +package org.wcs.model.dto.pub; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 添加箱式线任务参数 + */ +@Getter +@Setter +public class AddConveyTaskReq { + + /** + * 任务ID + */ + @JsonProperty("taskId") + @NotBlank(message = "任务ID不能为空") + private String taskId; + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + @NotNull(message = "任务类型不能为空") + private Integer taskType; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + @NotBlank(message = "载具号不能为空") + private String vehicleNo; + + /** + * 订单ID + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 目的位置 + */ + @JsonProperty("location") + @NotBlank(message = "货位不能为空") + private String location; + + /** + * 尺寸 + */ + @JsonProperty("size") + private String size; + + /** + * 重量 + */ + @JsonProperty("weight") + private Integer weight; + + /** + * 长度 + */ + @JsonProperty("length") + private Integer length; + + /** + * 宽度 + */ + @JsonProperty("width") + private Integer width; + + /** + * 高度 + */ + @JsonProperty("height") + private Integer height; + + /** + * 系统名称 + */ + @JsonProperty("sysName") + private String sysName; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/pub/AddEtagTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/pub/AddEtagTaskReq.java new file mode 100644 index 0000000..4349608 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/pub/AddEtagTaskReq.java @@ -0,0 +1,55 @@ +package org.wcs.model.dto.pub; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 添加电子标签任务参数 + */ +@Getter +@Setter +public class AddEtagTaskReq { + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @NotNull(message = "任务类型不能为空") + @JsonProperty("taskType") + private Integer taskType; + + /** + * 点亮模式 + */ + @NotNull(message = "点亮模式不能为空") + @JsonProperty("lightModel") + private Integer lightModel; + + /** + * 系统名称 + */ + @NotBlank(message = "系统名称不能为空") + @JsonProperty("sysName") + private String sysName; + + /** + * 任务列表 + */ + @Valid + @JsonProperty("taskItemList") + @Size.List(@Size(min = 1, message = "任务列表不能为空")) + private List taskItemList; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/pub/AddStockTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/pub/AddStockTaskReq.java new file mode 100644 index 0000000..34ce89f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/pub/AddStockTaskReq.java @@ -0,0 +1,80 @@ +package org.wcs.model.dto.pub; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 添加组合任务请求 + */ +@Setter +@Getter +public class AddStockTaskReq { + + /** + * 任务ID + */ + @NotBlank(message = "任务ID不能为空") + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组ID + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @NotNull(message = "任务类型不能为空") + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具编号 + */ + @NotBlank(message = "载具编号不能为空") + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 终点 + */ + @JsonProperty("destination") + private String destination; + + /** + * 优先级 + */ + @JsonProperty("priority") + private Integer priority; + + /** + * 尺寸 + */ + @JsonProperty("size") + private Integer size; + + /** + * 重量 + */ + @JsonProperty("weight") + private Integer weight; + + /** + * 系统名称 + */ + @NotBlank(message = "系统名称不能为空,请联系我们获取") + @JsonProperty("sysName") + private String sysName; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/pub/EtagTaskItem.java b/wcs/src/main/java/org/wcs/model/dto/pub/EtagTaskItem.java new file mode 100644 index 0000000..deb2cef --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/pub/EtagTaskItem.java @@ -0,0 +1,56 @@ +package org.wcs.model.dto.pub; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; + +/** + * 添加电子标签任务列表项 + */ +@Getter +@Setter +public class EtagTaskItem { + + /** + * 任务ID + */ + @NotBlank(message = "任务ID不能为空") + @JsonProperty("taskId") + private String taskId; + + /** + * 订单ID + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 货位 + */ + @NotBlank(message = "货位不能为空") + @JsonProperty("location") + private String location; + + /** + * 商品ID + */ + @JsonProperty("goodsId") + private String goodsId; + + /** + * 商品名称 + */ + @JsonProperty("goodsName") + private String goodsName; + + /** + * 点亮数量 + */ + @NotNull(message = "点亮数量不能为空") + @JsonProperty("lightNum") + private Integer lightNum; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/api/AddApiBaseInfoReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/api/AddApiBaseInfoReq.java new file mode 100644 index 0000000..8270606 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/api/AddApiBaseInfoReq.java @@ -0,0 +1,50 @@ +package org.wcs.model.dto.serve.api; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class AddApiBaseInfoReq { + + /** + * API KEY + */ + @NotBlank(message = "api键不能为空") + @JsonProperty("apiKey") + private String apiKey; + + /** + * API 名称 + */ + @NotBlank(message = "api名称不能为空") + @JsonProperty("apiName") + private String apiName; + + /** + * 根 Key + */ + @JsonProperty("rootKey") + private String rootKey; + + /** + * 地址 + */ + @NotBlank(message = "地址不能为空") + @JsonProperty("address") + private String address; + + /** + * 标记 + */ + @JsonProperty("tag") + private String tag; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/api/QueryApiBaseInfoReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/api/QueryApiBaseInfoReq.java new file mode 100644 index 0000000..5a43dd4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/api/QueryApiBaseInfoReq.java @@ -0,0 +1,22 @@ +package org.wcs.model.dto.serve.api; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class QueryApiBaseInfoReq { + + /** + * apiKey + */ + @JsonProperty("apiKey") + private String apiKey; + + /** + * apiName + */ + @JsonProperty("apiName") + private String apiName; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/api/UpdateApiBaseInfoReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/api/UpdateApiBaseInfoReq.java new file mode 100644 index 0000000..cfe08b1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/api/UpdateApiBaseInfoReq.java @@ -0,0 +1,50 @@ +package org.wcs.model.dto.serve.api; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class UpdateApiBaseInfoReq { + + /** + * API KEY + */ + @NotBlank(message = "api键不能为空") + @JsonProperty("apiKey") + private String apiKey; + + /** + * API 名称 + */ + @NotBlank(message = "api名称不能为空") + @JsonProperty("apiName") + private String apiName; + + /** + * 根 Key + */ + @JsonProperty("rootKey") + private String rootKey; + + /** + * 地址 + */ + @NotBlank(message = "地址不能为空") + @JsonProperty("address") + private String address; + + /** + * 标记 + */ + @JsonProperty("tag") + private String tag; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/baseError/AddBaseErrorReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/baseError/AddBaseErrorReq.java new file mode 100644 index 0000000..c554aad --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/baseError/AddBaseErrorReq.java @@ -0,0 +1,58 @@ +package org.wcs.model.dto.serve.baseError; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AddBaseErrorReq { + + /** + * 设备名称 + */ + @NotNull(message = "设备名称不能为空") + @JsonProperty("equipmentType") + private Integer equipmentType; + + /** + * 报警编号 + */ + @NotNull(message = "报警编号不能为空") + @JsonProperty("errCode") + private String errCode; + + /** + * 报警等级 + */ + @NotNull(message = "报警等级不能为空") + @JsonProperty("errLevel") + private Integer errLevel; + + /** + * 报警类型 + */ + @NotNull(message = "报警类型不能为空") + @JsonProperty("errType") + private Integer errType; + + /** + * 报警信息 + */ + @NotNull(message = "报警信息不能为空") + @JsonProperty("errMsg") + private String errMsg; + + /** + * 建议 + */ + @JsonProperty("suggest") + private String suggest; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/baseError/QueryBaseErrorReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/baseError/QueryBaseErrorReq.java new file mode 100644 index 0000000..97492f7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/baseError/QueryBaseErrorReq.java @@ -0,0 +1,40 @@ +package org.wcs.model.dto.serve.baseError; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class QueryBaseErrorReq { + + /** + * 设备类型 + */ + @JsonProperty("equipmentType") + private Integer equipmentType; + + /** + * 错误码 + */ + @JsonProperty("code") + private String errCode; + + /** + * 错误等级 + */ + @JsonProperty("errorLevel") + private Integer errLevel; + + /** + * 错误类型 + */ + @JsonProperty("errorType") + private Integer errType; + + /** + * 错误信息 + */ + @JsonProperty("message") + private String errMsg; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/baseError/UpdateBaseErrorReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/baseError/UpdateBaseErrorReq.java new file mode 100644 index 0000000..604cbf7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/baseError/UpdateBaseErrorReq.java @@ -0,0 +1,68 @@ +package org.wcs.model.dto.serve.baseError; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 修改基础错误请求参数 + */ +@Getter +@Setter +public class UpdateBaseErrorReq { + + /** + * ID + */ + @NotNull(message = "ID不能为空") + @JsonProperty("id") + private String id; + + /** + * 设备名称 + */ + @NotNull(message = "设备名称不能为空") + @JsonProperty("equipmentType") + private Integer equipmentType; + + /** + * 报警编号 + */ + @NotNull(message = "报警编号不能为空") + @JsonProperty("errCode") + private String errCode; + + /** + * 报警等级 + */ + @NotNull(message = "报警等级不能为空") + @JsonProperty("errLevel") + private Integer errLevel; + + /** + * 报警类型 + */ + @NotNull(message = "报警类型不能为空") + @JsonProperty("errType") + private Integer errType; + + /** + * 报警信息 + */ + @NotNull(message = "报警信息不能为空") + @JsonProperty("errMsg") + private String errMsg; + + /** + * 建议 + */ + @JsonProperty("suggest") + private String suggest; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/config/QueryConfigReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/config/QueryConfigReq.java new file mode 100644 index 0000000..3d68e56 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/config/QueryConfigReq.java @@ -0,0 +1,23 @@ +package org.wcs.model.dto.serve.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class QueryConfigReq { + + /** + * 配置键 + */ + @JsonProperty("configKey") + private String configKey; + + /** + * 配置名称 + */ + @JsonProperty("configName") + private String configName; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/config/UpdateConfigReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/config/UpdateConfigReq.java new file mode 100644 index 0000000..641aed5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/config/UpdateConfigReq.java @@ -0,0 +1,69 @@ +package org.wcs.model.dto.serve.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UpdateConfigReq { + + /** + * 配置键 + */ + @NotBlank(message = "配置键不能为空") + @JsonProperty("configKey") + private String configKey; + + /** + * 配置名称 + */ + @NotBlank(message = "配置名称不能为空") + @JsonProperty("configName") + private String configName; + + /** + * 配置类型 + */ + @JsonProperty("configType") + private Integer configType; + + /** + * 是否立即生效 + */ + @JsonProperty("immediately") + private Integer immediately; + + /** + * 配置值 + */ + @JsonProperty("configValue") + private String configValue; + + /** + * 标签文本 + */ + @JsonProperty("tagText") + private String tagText; + + /** + * 是否能被客户端搜索到 + */ + @JsonProperty("clientShow") + private Integer clientShow; + + /** + * 值类型 + */ + @JsonProperty("valueType") + private String valueType; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/convey/AddConveyLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/convey/AddConveyLocationReq.java new file mode 100644 index 0000000..019adff --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/convey/AddConveyLocationReq.java @@ -0,0 +1,90 @@ +package org.wcs.model.dto.serve.convey; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 添加输送点位请求 + */ +@Getter +@Setter +public class AddConveyLocationReq { + + /** + * 位置ID + */ + @NotBlank(message = "位置ID不能为空") + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务位置ID + */ + @NotBlank(message = "业务位置ID不能为空") + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 位置名称 + */ + @NotBlank(message = "位置名称不能为空") + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 位置类型 + */ + @NotNull(message = "位置类型不能为空") + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 位置状态 + */ + @NotNull(message = "位置状态不能为空") + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 路由ID + */ + @NotNull(message = "路由ID不能为空") + @JsonProperty(value = "locationRouter") + private Integer locationRouter; + + /** + * 区域ID + */ + @NotNull(message = "区域ID不能为空") + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 所属plc + */ + @NotNull(message = "所属plc不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/convey/QueryConveyLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/convey/QueryConveyLocationReq.java new file mode 100644 index 0000000..d2a553d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/convey/QueryConveyLocationReq.java @@ -0,0 +1,46 @@ +package org.wcs.model.dto.serve.convey; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class QueryConveyLocationReq { + + /** + * 点位ID + */ + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务点位ID + */ + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 点位名称 + */ + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 点位状态 + */ + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 点位类型 + */ + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 区域号 + */ + @JsonProperty(value = "areaId") + private String areaId; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/convey/UpdateConveyLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/convey/UpdateConveyLocationReq.java new file mode 100644 index 0000000..e152c35 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/convey/UpdateConveyLocationReq.java @@ -0,0 +1,87 @@ +package org.wcs.model.dto.serve.convey; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class UpdateConveyLocationReq { + + /** + * 位置ID + */ + @NotBlank(message = "位置ID不能为空") + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务位置ID + */ + @NotBlank(message = "业务位置ID不能为空") + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 位置名称 + */ + @NotBlank(message = "位置名称不能为空") + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 位置类型 + */ + @NotNull(message = "位置类型不能为空") + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 位置状态 + */ + @NotNull(message = "位置状态不能为空") + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 路由ID + */ + @NotNull(message = "路由ID不能为空") + @JsonProperty(value = "locationRouter") + private Integer locationRouter; + + /** + * 区域ID + */ + @NotNull(message = "区域ID不能为空") + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 所属plc + */ + @NotNull(message = "所属plc不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyCheckStandReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyCheckStandReq.java new file mode 100644 index 0000000..e55a942 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyCheckStandReq.java @@ -0,0 +1,75 @@ +package org.wcs.model.dto.serve.conveyStand; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 添加复核站台参数 + */ +@Getter +@Setter +public class AddConveyCheckStandReq { + + /** + * 站台ID + */ + @NotBlank(message = "站台ID不能为空") + @JsonProperty("standId") + private String standId; + + /** + * 站台名称 + */ + @NotBlank(message = "站台名称不能为空") + @JsonProperty("standName") + private String standName; + + /** + * PLC编号 + */ + @NotNull(message = "PLC编号不能为空") + @JsonProperty("plcId") + private Integer plcId; + + /** + * 区域ID + */ + @NotBlank(message = "区域ID不能为空") + @JsonProperty("areaId") + private String areaId; + + /** + * 站台状态 + */ + @NotNull(message = "站台状态不能为空") + @JsonProperty("standStatus") + private Integer standStatus; + + /** + * 路由 + */ + @NotNull(message = "路由不能为空") + @JsonProperty("router") + private Integer router; + + /** + * 读取到达站台地址 + */ + @JsonProperty("readArriveAddress") + private String readArriveAddress; + + /** + * 写任务地址 + */ + @JsonProperty("writeTaskAddress") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyPickStandReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyPickStandReq.java new file mode 100644 index 0000000..ed4eb78 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/AddConveyPickStandReq.java @@ -0,0 +1,79 @@ +package org.wcs.model.dto.serve.conveyStand; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AddConveyPickStandReq { + /** + * 站台ID + */ + @NotBlank(message = "站台ID不能为空") + @JsonProperty("standId") + private String standId; + + /** + * 站台名称 + */ + @NotBlank(message = "站台名称不能为空") + @JsonProperty("standName") + private String standName; + + /** + * PLC编号 + */ + @NotNull(message = "PLC编号不能为空") + @JsonProperty("plcId") + private Integer plcId; + + /** + * 区域ID + */ + @NotBlank(message = "区域ID不能为空") + @JsonProperty("areaId") + private String areaId; + + /** + * 站台状态 + */ + @NotNull(message = "站台状态不能为空") + @JsonProperty("standStatus") + private Integer status; + + /** + * 站台类型 + */ + @NotNull(message = "站台类型不能为空") + @JsonProperty("standType") + private Integer standType; + + /** + * 路由 + */ + @NotNull(message = "路由不能为空") + @JsonProperty("router") + private Integer router; + + /** + * 读取到达站台地址 + */ + @JsonProperty("readArriveAddress") + private String readArriveAddress; + + /** + * 写任务地址 + */ + @JsonProperty("writeTaskAddress") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @JsonProperty("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryCheckStandReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryCheckStandReq.java new file mode 100644 index 0000000..3499fc1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryCheckStandReq.java @@ -0,0 +1,33 @@ +package org.wcs.model.dto.serve.conveyStand; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询复核站台参数 + */ +@Setter +@Getter +public class QueryCheckStandReq { + + /** + * 站台ID + */ + @JsonProperty("standId") + private String standId; + + /** + * 站台名称 + */ + @JsonProperty("areaId") + private String areaId; + + /** + * 站台状态 + */ + @JsonProperty("standStatus") + private Integer standStatus; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryPickStandReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryPickStandReq.java new file mode 100644 index 0000000..ab4fabf --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/QueryPickStandReq.java @@ -0,0 +1,36 @@ +package org.wcs.model.dto.serve.conveyStand; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class QueryPickStandReq { + + /** + * 站台ID + */ + @JsonProperty("standId") + private String standId; + + /** + * 站台名称 + */ + @JsonProperty("areaId") + private String areaId; + + /** + * 站台状态 + */ + @JsonProperty("standStatus") + private Integer standStatus; + + /** + * 站台类型 + */ + @JsonProperty("standType") + private Integer standType; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyCheckStandReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyCheckStandReq.java new file mode 100644 index 0000000..b814169 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyCheckStandReq.java @@ -0,0 +1,75 @@ +package org.wcs.model.dto.serve.conveyStand; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 更新复核站台参数 + */ +@Getter +@Setter +public class UpdateConveyCheckStandReq { + + /** + * 站台ID + */ + @NotBlank(message = "站台ID不能为空") + @JsonProperty("standId") + private String standId; + + /** + * 站台名称 + */ + @NotBlank(message = "站台名称不能为空") + @JsonProperty("standName") + private String standName; + + /** + * PLC编号 + */ + @NotNull(message = "PLC编号不能为空") + @JsonProperty("plcId") + private Integer plcId; + + /** + * 区域ID + */ + @NotBlank(message = "区域ID不能为空") + @JsonProperty("areaId") + private String areaId; + + /** + * 站台状态 + */ + @NotNull(message = "站台状态不能为空") + @JsonProperty("standStatus") + private Integer standStatus; + + /** + * 路由 + */ + @NotNull(message = "路由不能为空") + @JsonProperty("router") + private Integer router; + + /** + * 读取到达站台地址 + */ + @JsonProperty("readArriveAddress") + private String readArriveAddress; + + /** + * 写任务地址 + */ + @JsonProperty("writeTaskAddress") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyPickStandReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyPickStandReq.java new file mode 100644 index 0000000..5cfd12b --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyStand/UpdateConveyPickStandReq.java @@ -0,0 +1,81 @@ +package org.wcs.model.dto.serve.conveyStand; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + *更新站台参数 + */ +@Getter +@Setter +public class UpdateConveyPickStandReq { + /** + * 站台ID + */ + @NotBlank(message = "站台ID不能为空") + @JsonProperty("standId") + private String standId; + + /** + * 站台名称 + */ + @NotBlank(message = "站台名称不能为空") + @JsonProperty("standName") + private String standName; + + /** + * PLC编号 + */ + @NotNull(message = "PLC编号不能为空") + @JsonProperty("plcId") + private Integer plcId; + + /** + * 区域ID + */ + @NotBlank(message = "区域ID不能为空") + @JsonProperty("areaId") + private String areaId; + + /** + * 站台状态 + */ + @NotNull(message = "站台状态不能为空") + @JsonProperty("standStatus") + private Integer status; + + /** + * 站台类型 + */ + @NotNull(message = "站台类型不能为空") + @JsonProperty("standType") + private Integer standType; + + /** + * 路由 + */ + @NotNull(message = "路由不能为空") + @JsonProperty("router") + private Integer router; + + /** + * 读取到达站台地址 + */ + @JsonProperty("readArriveAddress") + private String readArriveAddress; + + /** + * 写任务地址 + */ + @JsonProperty("writeTaskAddress") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/AddConveyTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/AddConveyTaskReq.java new file mode 100644 index 0000000..702afe6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/AddConveyTaskReq.java @@ -0,0 +1,87 @@ +package org.wcs.model.dto.serve.conveyTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Setter +@Getter +public class AddConveyTaskReq { + + + /** + * 任务类型 + */ + @NotNull(message = "任务类型不能为空") + @JsonProperty("taskType") + private Integer taskType; + + /** + * 订单号 + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 载具号 + */ + @NotBlank(message = "载具号不能为空") + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 目的位置 + */ + @NotBlank(message = "目的位置不能为空") + @JsonProperty("location") + private String location; + + /** + * 载具尺寸 + */ + @JsonProperty("size") + private String size; + + /** + * 载具重量 + */ + @NotNull(message = "载具重量不能为空") + @JsonProperty("weight") + private BigDecimal weight; + + /** + * 长 + */ + @NotNull(message = "长不能为空") + @JsonProperty("length") + private BigDecimal length; + + /** + * 宽 + */ + @NotNull(message = "宽不能为空") + @JsonProperty("width") + private BigDecimal width; + + /** + * 高 + */ + @NotNull(message = "高不能为空") + @JsonProperty("height") + private BigDecimal height; + + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/QueryConveyTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/QueryConveyTaskReq.java new file mode 100644 index 0000000..40b2108 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/QueryConveyTaskReq.java @@ -0,0 +1,67 @@ +package org.wcs.model.dto.serve.conveyTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +public class QueryConveyTaskReq { + + /** + * 任务ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 目标位置 + */ + @JsonProperty("location") + private String location; + + /** + * 到达位置 + */ + @JsonProperty("arriveLocation") + private String arriveLocation; + + /** + * plc任务ID + */ + @JsonProperty("plcTaskId") + private String plcTaskId; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 创建时间 + */ + @JsonProperty("createTimeRange") + private LocalDateTime[] createTimeRange; + + /** + * 到达时间 + */ + @JsonProperty("arriveTimeRange") + private LocalDateTime[] arriveTimeRange; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/ReporterConveyTaskStatusReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/ReporterConveyTaskStatusReq.java new file mode 100644 index 0000000..cef6770 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/conveyTask/ReporterConveyTaskStatusReq.java @@ -0,0 +1,26 @@ +package org.wcs.model.dto.serve.conveyTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ReporterConveyTaskStatusReq { + + /** + * 任务ID + */ + @NotBlank(message = "任务ID不能为空") + @JsonProperty("taskId") + private String taskId; + + /** + * 任务完成位置 + */ + @JsonProperty("arriveLocation") + private String arriveLocation; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagControllerReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagControllerReq.java new file mode 100644 index 0000000..07d36bb --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagControllerReq.java @@ -0,0 +1,61 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AddEtagControllerReq { + + /** + * 控制器编号 + */ + @NotNull(message = "控制器编号不能为空") + @JsonProperty("controllerId") + private Integer controllerId; + + /** + * 控制器名称 + */ + @NotBlank(message = "控制器名称不能为空") + @JsonProperty("controllerName") + private String controllerName; + + /** + * 控制器类型 + */ + @NotBlank(message = "控制器类型不能为空") + @JsonProperty("controllerType") + private String controllerType; + + /** + * 控制器状态 + */ + @NotNull(message = "控制器状态不能为空") + @JsonProperty("controllerStatus") + private Integer controllerStatus; + + /** + * ip地址 + */ + @NotBlank(message = "ip地址不能为空") + @JsonProperty("ip") + private String ip; + + /** + * 端口 + */ + @NotNull(message = "端口不能为空") + @JsonProperty("port") + private Integer port; + + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagLocationReq.java new file mode 100644 index 0000000..d8216a7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagLocationReq.java @@ -0,0 +1,51 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; + +/** + * 新增电子标签货位信息请求参数 + */ +@Getter +@Setter +public class AddEtagLocationReq { + + /** + * 电子标签货位 + */ + @NotBlank(message = "电子标签货位不能为空") + @JsonProperty("location") + private String location; + + /** + * 标签名称 + */ + @NotBlank(message = "标签名称不能为空") + @JsonProperty("tagName") + private String tagName; + + /** + * 点位类型 + */ + @NotNull(message = "点位类型不能为空") + @JsonProperty("locationType") + private Integer locationType; + + /** + * 站台 + */ + @JsonProperty("stand") + private String stand; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagTagInfoReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagTagInfoReq.java new file mode 100644 index 0000000..41869cb --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/AddEtagTagInfoReq.java @@ -0,0 +1,74 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 新增电子标签小标签基础信息 + */ +@Setter +@Getter +public class AddEtagTagInfoReq { + + /** + * 标签名称 + */ + @NotBlank(message = "标签名称不能为空") + @JsonProperty("tagName") + private String tagName; + + /** + * 控制器id + */ + @NotNull(message = "控制器id不能为空") + @JsonProperty("controllerId") + private Integer controllerId; + + /** + * 标签id + */ + @NotNull(message = "标签id不能为空") + @Max(value = 127, message = "标签id不能大于127") + @Min(value = 1, message = "标签id不能小于1") + @JsonProperty("tagId") + private Integer tagId; + + /** + * 标签类型 + */ + @NotNull(message = "标签类型不能为空") + @JsonProperty("tagType") + private Integer tagType; + + /** + * 业务类型 + */ + @NotNull(message = "业务类型不能为空") + @JsonProperty("businessType") + private Integer businessType; + + /** + * 区域id + */ + @NotBlank(message = "区域id不能为空") + @JsonProperty("areaId") + private String areaId; + + /** + * 巷道号 + */ + @NotBlank(message = "巷道号不能为空") + @JsonProperty("tunnelNo") + private String tunnelNo; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagControllerQueryReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagControllerQueryReq.java new file mode 100644 index 0000000..4c17392 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagControllerQueryReq.java @@ -0,0 +1,26 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 电子标签控制器查询参数 + */ +@Getter +@Setter +public class EtagControllerQueryReq { + + /** + * 控制器名称 + */ + @JsonProperty("controllerName") + private String controllerName; + + /** + * 控制器IP + */ + @JsonProperty("ip") + private String ip; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagLocationQueryReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagLocationQueryReq.java new file mode 100644 index 0000000..c2f1d0b --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagLocationQueryReq.java @@ -0,0 +1,40 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询电子标签货位信息请求参数 + */ +@Getter +@Setter +public class EtagLocationQueryReq { + + /** + * 标签名称 + */ + @JsonProperty("tagName") + private String tagName; + + /** + * 电子标签货位 + */ + @JsonProperty("location") + private String location; + + /** + * 货位类型 + */ + @JsonProperty("locationType") + private Integer locationType; + + /** + * 站台 + */ + @JsonProperty("stand") + private String stand; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagTagInfoQueryReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagTagInfoQueryReq.java new file mode 100644 index 0000000..d3d507d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/EtagTagInfoQueryReq.java @@ -0,0 +1,55 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询电子标签小标签基础信息参数 + */ +@Getter +@Setter +public class EtagTagInfoQueryReq { + + /** + * 标签名称 + */ + @JsonProperty("tagName") + private String tagName; + + /** + * 控制器id + */ + @JsonProperty("controllerId") + private Integer controllerId; + + /** + * 标签id + */ + @JsonProperty("tagId") + private Integer tagId; + + /** + * 标签类型 + */ + @JsonProperty("tagType") + private Integer tagType; + + /** + * 业务类型 + */ + @JsonProperty("businessType") + private Integer businessType; + + /** + * 区域id + */ + @JsonProperty("areaId") + private String areaId; + + /** + * 巷道号 + */ + @JsonProperty("tunnelNo") + private String tunnelNo; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagControllerReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagControllerReq.java new file mode 100644 index 0000000..1a3a53e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagControllerReq.java @@ -0,0 +1,62 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +public class UpdateEtagControllerReq { + + /** + * 控制器编号 + */ + @NotNull(message = "控制器编号不能为空") + @JsonProperty("controllerId") + private Integer controllerId; + + /** + * 控制器名称 + */ + @NotBlank(message = "控制器名称不能为空") + @JsonProperty("controllerName") + private String controllerName; + + /** + * 控制器类型 + */ + @NotBlank(message = "控制器类型不能为空") + @JsonProperty("controllerType") + private String controllerType; + + /** + * 控制器状态 + */ + @NotNull(message = "控制器状态不能为空") + @JsonProperty("controllerStatus") + private Integer controllerStatus; + + /** + * ip地址 + */ + @NotBlank(message = "ip地址不能为空") + @JsonProperty("ip") + private String ip; + + /** + * 端口 + */ + @NotNull(message = "端口不能为空") + @JsonProperty("port") + private Integer port; + + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagLocationReq.java new file mode 100644 index 0000000..014cddf --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagLocationReq.java @@ -0,0 +1,56 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; + +/** + * 修改电子标签货位信息请求参数 + */ +@Getter +@Setter +public class UpdateEtagLocationReq { + + /** + * 记录ID + */ + @JsonProperty("recordId") + @NotNull(message = "记录ID不能为空") + private String recordId; + + /** + * 电子标签货位 + */ + @NotBlank(message = "电子标签货位不能为空") + @JsonProperty("location") + private String location; + + /** + * 标签名称 + */ + @NotBlank(message = "标签名称不能为空") + @JsonProperty("tagName") + private String tagName; + + /** + * 点位类型 + */ + @NotNull(message = "点位类型不能为空") + @JsonProperty("locationType") + private Integer locationType; + + /** + * 站台 + */ + @JsonProperty("stand") + private String stand; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagTagInfoReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagTagInfoReq.java new file mode 100644 index 0000000..2c0d654 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagBase/UpdateEtagTagInfoReq.java @@ -0,0 +1,74 @@ +package org.wcs.model.dto.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 修改电子标签小标签基础信息 + */ +@Getter +@Setter +public class UpdateEtagTagInfoReq { + + /** + * 标签名称 + */ + @NotBlank(message = "标签名称不能为空") + @JsonProperty("tagName") + private String tagName; + + /** + * 控制器id + */ + @NotNull(message = "控制器id不能为空") + @JsonProperty("controllerId") + private Integer controllerId; + + /** + * 标签id + */ + @NotNull(message = "标签id不能为空") + @Max(value = 127, message = "标签id不能大于127") + @Min(value = 1, message = "标签id不能小于1") + @JsonProperty("tagId") + private Integer tagId; + + /** + * 标签类型 + */ + @NotNull(message = "标签类型不能为空") + @JsonProperty("tagType") + private Integer tagType; + + /** + * 业务类型 + */ + @NotNull(message = "业务类型不能为空") + @JsonProperty("businessType") + private Integer businessType; + + /** + * 区域id + */ + @NotBlank(message = "区域id不能为空") + @JsonProperty("areaId") + private String areaId; + + /** + * 巷道号 + */ + @NotBlank(message = "巷道号不能为空") + @JsonProperty("tunnelNo") + private String tunnelNo; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/AddEtagTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/AddEtagTaskReq.java new file mode 100644 index 0000000..4969644 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/AddEtagTaskReq.java @@ -0,0 +1,79 @@ +package org.wcs.model.dto.serve.etagTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * 添加电子标签任务请求 + */ +@Getter +@Setter +public class AddEtagTaskReq { + + /** + * 任务类型 + */ + @NotNull(message = "任务类型不能为空") + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具号 + */ + @NotBlank(message = "载具号不能为空") + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 订单号 + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 位置 + */ + @NotBlank(message = "位置不能为空") + @JsonProperty("location") + private String location; + + /** + * 商品id + */ + @JsonProperty("goodsId") + private String goodsId; + + /** + * 商品名称 + */ + @JsonProperty("goodsName") + private String goodsName; + + /** + * 点亮数量 + */ + @NotNull(message = "点亮数量不能为空") + @JsonProperty("lightNum") + private BigDecimal lightNum; + + /** + * 点亮模式 + */ + @NotNull(message = "点亮模式不能为空") + @JsonProperty("lightModel") + private Integer lightModel; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/EtagTaskQueryReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/EtagTaskQueryReq.java new file mode 100644 index 0000000..dcfc33e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/EtagTaskQueryReq.java @@ -0,0 +1,60 @@ +package org.wcs.model.dto.serve.etagTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 电子标签任务查询参数 + */ +@Getter +@Setter +public class EtagTaskQueryReq { + + /** + * 任务号 + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 物料编号 + */ + @JsonProperty("goodsId") + private String goodsId; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private List createTime; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/UpdateEtagTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/UpdateEtagTaskReq.java new file mode 100644 index 0000000..dbf8573 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/etagTask/UpdateEtagTaskReq.java @@ -0,0 +1,104 @@ +package org.wcs.model.dto.serve.etagTask; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * 更新电子标签任务请求 + */ +@Getter +@Setter +public class UpdateEtagTaskReq { + + /** + * 任务id + */ + @NotBlank(message = "任务id不能为空") + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @NotNull(message = "任务类型不能为空") + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具号 + */ + @NotBlank(message = "载具号不能为空") + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 订单号 + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 位置 + */ + @NotBlank(message = "位置不能为空") + @JsonProperty("location") + private String location; + + /** + * 商品id + */ + @JsonProperty("goodsId") + private String goodsId; + + /** + * 商品名称 + */ + @JsonProperty("goodsName") + private String goodsName; + + /** + * 点亮数量 + */ + @NotNull(message = "点亮数量不能为空") + @JsonProperty("lightNum") + private BigDecimal lightNum; + + /** + * 确认数量 + */ + @NotNull(message = "确认数量不能为空") + @JsonProperty("confirmNum") + private BigDecimal confirmNum; + + /** + * 任务状态 + */ + @NotNull(message = "任务状态不能为空") + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 点亮模式 + */ + @NotNull(message = "点亮模式不能为空") + @JsonProperty("lightModel") + private Integer lightModel; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/led/AddBaseLedReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/led/AddBaseLedReq.java new file mode 100644 index 0000000..f54bcd0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/led/AddBaseLedReq.java @@ -0,0 +1,73 @@ +package org.wcs.model.dto.serve.led; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 添加LED屏基础资料请求 + */ +@Setter +@Getter +public class AddBaseLedReq { + + + /** + * LED屏IP + */ + @NotBlank(message = "LED屏IP不能为空") + @JsonProperty("ledIp") + private String ledIp; + + /** + * LED屏品牌 + */ + @NotNull(message = "LED屏品牌不能为空") + @JsonProperty("ledBrand") + private Integer ledBrand; + + /** + * LED屏高度 + */ + @NotNull(message = "LED屏高度不能为空") + @JsonProperty("height") + private Integer height; + + /** + * LED屏宽度 + */ + @NotNull(message = "LED屏宽度不能为空") + @JsonProperty("width") + private Integer width; + + /** + * LED屏颜色类型 + * * 1 - 单色 + * * 2 - 双色 + * * 3 - 三色 + */ + @NotNull(message = "LED屏颜色类型不能为空") + @JsonProperty("colorType") + private Integer colorType; + + /** + * LED屏位置 + */ + @JsonProperty("location") + private String location; + + /** + * 是否外部控制 + */ + @NotNull(message = "LED屏是否外部控制不能为空") + @JsonProperty("isExternal") + private Integer isExternal; + + /** + * LED屏备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/led/QueryLedReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/led/QueryLedReq.java new file mode 100644 index 0000000..bc57347 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/led/QueryLedReq.java @@ -0,0 +1,32 @@ +package org.wcs.model.dto.serve.led; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询LED屏基础资料请求 + */ +@Setter +@Getter +public class QueryLedReq { + + /** + * LED屏IP + */ + @JsonProperty("ledIp") + private String ledIp; + + /** + * LED屏位置 + */ + @JsonProperty("location") + private String location; + + /** + * LED屏品牌 + */ + @JsonProperty("ledBrand") + private Integer ledBrand; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/led/UpdateBaseLedReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/led/UpdateBaseLedReq.java new file mode 100644 index 0000000..9cd21e1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/led/UpdateBaseLedReq.java @@ -0,0 +1,76 @@ +package org.wcs.model.dto.serve.led; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class UpdateBaseLedReq { + + /** + * LED屏ID + */ + @JsonProperty("id") + @NotBlank(message = "LED屏ID不能为空") + private String id; + + /** + * LED屏IP + */ + @NotBlank(message = "LED屏IP不能为空") + @JsonProperty("ledIp") + private String ledIp; + + /** + * LED屏品牌 + */ + @NotNull(message = "LED屏品牌不能为空") + @JsonProperty("ledBrand") + private Integer ledBrand; + + /** + * LED屏高度 + */ + @NotNull(message = "LED屏高度不能为空") + @JsonProperty("height") + private Integer height; + + /** + * LED屏宽度 + */ + @NotNull(message = "LED屏宽度不能为空") + @JsonProperty("width") + private Integer width; + + /** + * LED屏颜色类型 + * * 1 - 单色 + * * 2 - 双色 + * * 3 - 三色 + */ + @NotNull(message = "LED屏颜色类型不能为空") + @JsonProperty("colorType") + private Integer colorType; + + /** + * LED屏位置 + */ + @JsonProperty("location") + private String location; + + /** + * 是否外部控制 + */ + @NotNull(message = "LED屏是否外部控制不能为空") + @JsonProperty("isExternal") + private Integer isExternal; + + /** + * LED屏备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/menu/AddMenuReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/menu/AddMenuReq.java new file mode 100644 index 0000000..7f7368b --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/menu/AddMenuReq.java @@ -0,0 +1,63 @@ +package org.wcs.model.dto.serve.menu; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 添加菜单的请求参数 + */ +@Getter +@Setter +public class AddMenuReq { + + /** + * 菜单ID + */ + @NotBlank(message = "菜单ID不能为空") + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @NotBlank(message = "菜单名称不能为空") + @JsonProperty("menuName") + private String menuName; + + /** + * 菜单等级 + */ + @NotNull(message = "菜单等级不能为空") + @JsonProperty("menuLevel") + private Integer menuLevel; + + /** + * 父菜单ID + */ + @JsonProperty("fatherMenuId") + private String fatherMenuId; + + /** + * 菜单状态 + */ + @NotNull(message = "菜单状态不能为空") + @JsonProperty("menuStatus") + private Integer menuStatus; + + /** + * 菜单图标 + */ + @JsonProperty("menuIco") + private String menuIco; + + /** + * 路由名称 + */ + @JsonProperty("routerName") + private String routerName; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/menu/QueryMenuReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/menu/QueryMenuReq.java new file mode 100644 index 0000000..5d5635e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/menu/QueryMenuReq.java @@ -0,0 +1,33 @@ +package org.wcs.model.dto.serve.menu; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 获取菜单数据的请求参数 + */ +@Getter +@Setter +public class QueryMenuReq { + + /** + * 菜单ID + */ + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @JsonProperty("menuName") + private String menuName; + + /** + * 菜单级别 + */ + @JsonProperty("menuLevel") + private Integer menuLevel; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/menu/UpdateMenuReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/menu/UpdateMenuReq.java new file mode 100644 index 0000000..6e3447e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/menu/UpdateMenuReq.java @@ -0,0 +1,60 @@ +package org.wcs.model.dto.serve.menu; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 请求变更菜单的请求参数 + */ +@Getter +@Setter +public class UpdateMenuReq { + /** + * 菜单ID + */ + @NotBlank(message = "菜单ID不能为空") + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @NotBlank(message = "菜单名称不能为空") + @JsonProperty("menuName") + private String menuName; + + /** + * 菜单等级 + */ + @NotNull(message = "菜单等级不能为空") + @JsonProperty("menuLevel") + private Integer menuLevel; + + /** + * 父菜单ID + */ + @JsonProperty("fatherMenuId") + private String fatherMenuId; + + /** + * 菜单状态 + */ + @NotNull(message = "菜单状态不能为空") + @JsonProperty("menuStatus") + private Integer menuStatus; + + /** + * 菜单图标 + */ + @JsonProperty("menuIco") + private String menuIco; + + /** + * 路由名称 + */ + @JsonProperty("routerName") + private String routerName; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/plc/AddPlcReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/plc/AddPlcReq.java new file mode 100644 index 0000000..9d1248d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/plc/AddPlcReq.java @@ -0,0 +1,89 @@ +package org.wcs.model.dto.serve.plc; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AddPlcReq { + + /** + * plc 编号 ---- 唯一 + */ + @NotNull(message = "plcId 不能为空") + @JsonProperty("plcId") + private Integer plcId; + + /** + * PLC 名称 + */ + @NotBlank(message = "PLC名称不能为空") + @JsonProperty("plcName") + private String plcName; + + /** + * PLC 类型 + */ + @NotNull(message = "plc类型 不能为空") + @JsonProperty("plcType") + private Integer plcType; + + /** + * PLC 版本 + */ + @JsonProperty("plcVersion") + private String plcVersion; + + /** + * 状态 + */ + @NotNull(message = "plc状态 不能为空") + @JsonProperty("plcStatus") + private Integer plcStatus; + + /** + * IP 地址 + */ + @NotBlank(message = "ip 不能为空") + @JsonProperty("ip") + private String ip; + + /** + * 端口 + */ + @NotNull(message = "端口号 不能为空") + @Max(value = 65535, message = "端口号 不能大于 65535") + @Min(value = 1, message = "端口号 不能小于 1") + @JsonProperty("port") + private Integer port; + + /** + * 槽位 + */ + @NotNull(message = "插槽 不能为空") + @Min(value = 0, message = "插槽 不能小于 0") + @JsonProperty("slot") + private Integer slot; + + /** + * 架位 + */ + @NotNull(message = "机架 不能为空") + @Min(value = 0, message = "机架 不能小于 0") + @JsonProperty("rack") + private Integer rack; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/plc/QueryBasePlcReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/plc/QueryBasePlcReq.java new file mode 100644 index 0000000..fbb631f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/plc/QueryBasePlcReq.java @@ -0,0 +1,22 @@ +package org.wcs.model.dto.serve.plc; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class QueryBasePlcReq { + + /** + * plc 名称 + */ + @JsonProperty("plcName") + private String plcName; + + /** + * plc 类型 + */ + @JsonProperty("plcType") + private Integer plcType; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/plc/UpdatePlcReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/plc/UpdatePlcReq.java new file mode 100644 index 0000000..bbc6290 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/plc/UpdatePlcReq.java @@ -0,0 +1,85 @@ +package org.wcs.model.dto.serve.plc; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UpdatePlcReq { + /** + * plc 编号 ---- 唯一 + */ + @NotNull(message = "plcId 不能为空") + @JsonProperty("plcId") + private Integer plcId; + + /** + * PLC 名称 + */ + @NotBlank(message = "PLC名称不能为空") + @JsonProperty("plcName") + private String plcName; + + /** + * PLC 类型 + */ + @NotNull(message = "plc类型 不能为空") + @JsonProperty("plcType") + private Integer plcType; + + /** + * PLC 版本 + */ + @JsonProperty("plcVersion") + private String plcVersion; + + /** + * 状态 + */ + @NotNull(message = "plc状态 不能为空") + @JsonProperty("plcStatus") + private Integer plcStatus; + + /** + * IP 地址 + */ + @NotBlank(message = "ip 不能为空") + @JsonProperty("ip") + private String ip; + + /** + * 端口 + */ + @NotNull(message = "端口号 不能为空") + @Max(value = 65535, message = "端口号 不能大于 65535") + @Min(value = 1, message = "端口号 不能小于 1") + @JsonProperty("port") + private Integer port; + + /** + * 槽位 + */ + @NotNull(message = "插槽 不能为空") + @Min(value = 0, message = "插槽 不能小于 0") + @JsonProperty("slot") + private Integer slot; + + /** + * 架位 + */ + @NotNull(message = "机架 不能为空") + @Min(value = 0, message = "机架 不能小于 0") + @JsonProperty("rack") + private Integer rack; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/quartz/AddQuartzConfigReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/quartz/AddQuartzConfigReq.java new file mode 100644 index 0000000..6e91991 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/quartz/AddQuartzConfigReq.java @@ -0,0 +1,48 @@ +package org.wcs.model.dto.serve.quartz; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class AddQuartzConfigReq { + + /** + * 类名 + */ + @JsonProperty("className") + @NotBlank(message = "类名不能为空") + private String className; + + /** + * 任务描述 + */ + @JsonProperty("jobDesc") + @NotBlank(message = "任务描述不能为空") + private String jobDesc; + + /** + * 任务状态 + */ + @JsonProperty("status") + @NotNull(message = "任务状态不能为空") + private Integer status; + + /** + * 任务表达式 + */ + @JsonProperty("cron") + @NotBlank(message = "任务表达式不能为空") + private String cron; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/quartz/QuartzReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/quartz/QuartzReq.java new file mode 100644 index 0000000..2572240 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/quartz/QuartzReq.java @@ -0,0 +1,23 @@ +package org.wcs.model.dto.serve.quartz; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +public class QuartzReq { + + /** + * 类名 + */ + @JsonProperty("className") + private String className; + + /** + * 任务描述 + */ + @JsonProperty("jobDesc") + private String jobDesc; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/quartz/UpdateQuartzConfigReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/quartz/UpdateQuartzConfigReq.java new file mode 100644 index 0000000..3672bfa --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/quartz/UpdateQuartzConfigReq.java @@ -0,0 +1,46 @@ +package org.wcs.model.dto.serve.quartz; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UpdateQuartzConfigReq { + + /** + * 类名 + */ + @JsonProperty("className") + @NotBlank(message = "类名不能为空") + private String className; + + /** + * 任务描述 + */ + @JsonProperty("jobDesc") + @NotBlank(message = "任务描述不能为空") + private String jobDesc; + + /** + * 任务状态 + */ + @JsonProperty("status") + @NotNull(message = "任务状态不能为空") + private Integer status; + + /** + * 任务表达式 + */ + @JsonProperty("cron") + @NotBlank(message = "任务表达式不能为空") + private String cron; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiRequestReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiRequestReq.java new file mode 100644 index 0000000..4d879b8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiRequestReq.java @@ -0,0 +1,31 @@ +package org.wcs.model.dto.serve.recordApi; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +public class QueryRecordApiRequestReq { + + /** + * 是否成功 + */ + @JsonProperty("success") + private Integer success; + + /** + * 查询字符串 + */ + @JsonProperty("queryStr") + private String queryStr; + + /** + * 请求时间 + */ + @JsonProperty("requestTimes") + private LocalDateTime[] requestTimes; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiResponseReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiResponseReq.java new file mode 100644 index 0000000..6d396b9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/recordApi/QueryRecordApiResponseReq.java @@ -0,0 +1,30 @@ +package org.wcs.model.dto.serve.recordApi; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +public class QueryRecordApiResponseReq { + + /** + * 路径 + */ + @JsonProperty("path") + private String path; + + /** + * 查询字符串 + */ + @JsonProperty("queryStr") + private String queryStr; + + /** + * 请求时间 + */ + @JsonProperty("requestTimes") + private LocalDateTime[] requestTimes; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/recordError/QueryEquipmentErrorReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/recordError/QueryEquipmentErrorReq.java new file mode 100644 index 0000000..3d97b07 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/recordError/QueryEquipmentErrorReq.java @@ -0,0 +1,40 @@ +package org.wcs.model.dto.serve.recordError; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 查询设备错误请求参数 + */ +@Setter +@Getter +public class QueryEquipmentErrorReq { + + /** + * 设备类型 + */ + @JsonProperty("equipmentType") + private Integer equipmentType; + + /** + * 设备ID + */ + @JsonProperty("equipmentId") + private String equipmentId; + + /** + * 错误码 + */ + @JsonProperty("errCode") + private String errCode; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime[] createTime; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/recordScan/QueryRecordScanReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/recordScan/QueryRecordScanReq.java new file mode 100644 index 0000000..3f05f48 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/recordScan/QueryRecordScanReq.java @@ -0,0 +1,30 @@ +package org.wcs.model.dto.serve.recordScan; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryRecordScanReq { + + /** + * 扫码位置 + */ + @JsonProperty("location") + private String location; + + /** + * 条码 + */ + @JsonProperty("code") + private String code; + + /** + * 扫码时间 + */ + @JsonProperty("scanTimes") + private LocalDateTime[] scanTimes; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/AddSiemensDbReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/AddSiemensDbReq.java new file mode 100644 index 0000000..a7018ae --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/AddSiemensDbReq.java @@ -0,0 +1,48 @@ +package org.wcs.model.dto.serve.siemensDb; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.Min; + +/** + * 新增西门子DB请求参数 + */ +@Getter +@Setter +public class AddSiemensDbReq { + + + /** + * DB名称 + */ + @NotBlank(message = "DB名称不能为空") + @JsonProperty("dbName") + private String dbName; + + /** + * DB地址 + */ + @NotBlank(message = "DB地址不能为空") + @JsonProperty("dbAddress") + private String dbAddress; + + /** + * 管辖的PLC + */ + @NotNull(message = "管辖的PLC不能为空") + @Min(value = 1, message = "管辖的PLC不能小于1") + @JsonProperty("plcId") + private Integer plcId; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/QuerySiemensDbReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/QuerySiemensDbReq.java new file mode 100644 index 0000000..345cce3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/QuerySiemensDbReq.java @@ -0,0 +1,31 @@ +package org.wcs.model.dto.serve.siemensDb; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询Siemens DB地址请求参数 + */ +@Getter +@Setter +public class QuerySiemensDbReq { + + /** + * DB名称 + */ + @JsonProperty("dbName") + private String dbName; + + /** + * DB地址 + */ + @JsonProperty("dbAddress") + private String dbAddress; + + /** + * 备注 + */ + @JsonProperty("plcId") + private Integer plcId; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/UpdateSiemensDbReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/UpdateSiemensDbReq.java new file mode 100644 index 0000000..a04b69c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/siemensDb/UpdateSiemensDbReq.java @@ -0,0 +1,46 @@ +package org.wcs.model.dto.serve.siemensDb; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.Min; + +/** + * 修改西门子DB请求参数 + */ +@Getter +@Setter +public class UpdateSiemensDbReq { + + /** + * DB名称 + */ + @NotBlank(message = "DB名称不能为空") + @JsonProperty("dbName") + private String dbName; + + /** + * DB地址 + */ + @NotBlank(message = "DB地址不能为空") + @JsonProperty("dbAddress") + private String dbAddress; + + /** + * 管辖的PLC + */ + @NotNull(message = "管辖的PLC不能为空") + @Min(value = 1, message = "管辖的PLC不能小于1") + @JsonProperty("plcId") + private Integer plcId; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddOrUpdateStackerStandReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddOrUpdateStackerStandReq.java new file mode 100644 index 0000000..ac60439 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddOrUpdateStackerStandReq.java @@ -0,0 +1,122 @@ +package org.wcs.model.dto.serve.stacker; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +public class AddOrUpdateStackerStandReq { + + /** + * 站台ID + */ + @NotBlank( message = "站台ID不能为空") + @JsonProperty(value = "standId") + private String standId; + + /** + * 堆垛机ID + */ + @NotNull( message = "堆垛机ID不能为空") + @JsonProperty(value = "stackerId") + private Integer stackerId; + + /** + * PLC ID + */ + @NotNull( message = "PLC ID不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 站台名称 + */ + @NotBlank( message = "站台名称不能为空") + @JsonProperty(value = "standName") + private String standName; + + /** + * 站台状态 + */ + @NotNull( message = "站台状态不能为空") + @JsonProperty(value = "standStatus") + private Integer standStatus; + + /** + * 巷道编号 + */ + @NotNull( message = "巷道编号不能为空") + @JsonProperty(value = "laneId") + private Integer laneId; + + /** + * 站台位置 + */ + @NotNull( message = "站台位置不能为空") + @JsonProperty(value = "standLocation") + private String standLocation; + + /** + * 站台坐标 + */ + @JsonProperty(value = "standXyz") + private String standXyz; + + /** + * 区域ID + */ + @NotNull( message = "区域ID不能为空") + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 入站权限 + */ + @NotNull( message = "入站权限不能为空") + @JsonProperty(value = "allowIn") + private Integer allowIn; + + /** + * 入站类型 + */ + @NotNull( message = "入站类型不能为空") + @JsonProperty(value = "inType") + private Integer inType; + + /** + * 出站权限 + */ + @NotNull( message = "出站权限不能为空") + @JsonProperty(value = "allowOut") + private Integer allowOut; + + /** + * 出站类型 + */ + @JsonProperty(value = "outType") + private Integer outType; + + /** + * 读状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddStackerReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddStackerReq.java new file mode 100644 index 0000000..bc8092d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stacker/AddStackerReq.java @@ -0,0 +1,114 @@ +package org.wcs.model.dto.serve.stacker; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 添加堆垛机的请求类 + */ +@Getter +@Setter +public class AddStackerReq { + + /** + * 堆垛机ID + */ + @JsonProperty(value = "stackerId") + @NotNull(message = "堆垛机ID不能为空") + private Integer stackerId; + + /** + * PLC ID + */ + @NotNull(message = "PLC ID不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 堆垛机名称 + */ + @NotBlank(message = "堆垛机名称不能为空") + @JsonProperty(value = "stackerName") + private String stackerName; + + /** + * 堆垛机状态 + */ + @NotNull(message = "堆垛机状态不能为空") + @JsonProperty(value = "stackerStatus") + private Integer stackerStatus; + + /** + * 货叉状态 + */ + @NotBlank(message = "货叉状态不能为空") + @JsonProperty(value = "forkStatus") + private String forkStatus; + + /** + * 是否允许入库 + */ + @NotNull(message = "是否允许入库不能为空") + @JsonProperty(value = "allowIn") + private Integer allowIn; + + /** + * 是否允许出库 + */ + @NotNull(message = "是否允许出库不能为空") + @JsonProperty(value = "allowOut") + private Integer allowOut; + + /** + * 是否允许移库 + */ + @NotNull(message = "是否允许移库不能为空") + @JsonProperty(value = "allowMove") + private Integer allowMove; + + /** + * 动作节拍 + */ + @NotBlank(message = "动作节拍不能为空") + @JsonProperty(value = "actionBeat") + private String actionBeat; + + /** + * 读状态地址 + */ + @NotBlank(message = "读状态地址不能为空") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @NotBlank(message = "写任务地址不能为空") + private String writeTaskAddress; + + + /** + * 写任务确认地址 + */ + @JsonProperty(value = "taskConfirmAddress") + private String taskConfirmAddress; + + /** + * 过账地址 + */ + @NotBlank(message = "过账地址不能为空") + private String taskStatusAddress; + + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stacker/UpdateStackerInfoReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stacker/UpdateStackerInfoReq.java new file mode 100644 index 0000000..e728762 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stacker/UpdateStackerInfoReq.java @@ -0,0 +1,110 @@ +package org.wcs.model.dto.serve.stacker; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 更新堆垛机信息的请求类 + */ +@Getter +@Setter +public class UpdateStackerInfoReq { + + /** + * 堆垛机ID + */ + @JsonProperty(value = "stackerId") + @NotNull(message = "堆垛机ID不能为空") + private Integer stackerId; + + /** + * PLC ID + */ + @NotNull(message = "PLC ID不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 堆垛机名称 + */ + @NotBlank(message = "堆垛机名称不能为空") + @JsonProperty(value = "stackerName") + private String stackerName; + + /** + * 堆垛机状态 + */ + @NotNull(message = "堆垛机状态不能为空") + @JsonProperty(value = "stackerStatus") + private Integer stackerStatus; + + /** + * 货叉状态 + */ + @NotBlank(message = "货叉状态不能为空") + @JsonProperty(value = "forkStatus") + private String forkStatus; + + /** + * 是否允许入库 + */ + @NotNull(message = "是否允许入库不能为空") + @JsonProperty(value = "allowIn") + private Integer allowIn; + + /** + * 是否允许出库 + */ + @NotNull(message = "是否允许出库不能为空") + @JsonProperty(value = "allowOut") + private Integer allowOut; + + /** + * 是否允许移库 + */ + @NotNull(message = "是否允许移库不能为空") + @JsonProperty(value = "allowMove") + private Integer allowMove; + + /** + * 动作节拍 + */ + @NotBlank(message = "动作节拍不能为空") + @JsonProperty(value = "actionBeat") + private String actionBeat; + + /** + * 读状态地址 + */ + @NotBlank(message = "读状态地址不能为空") + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @NotBlank(message = "写任务地址不能为空") + private String writeTaskAddress; + + /** + * 写任务确认地址 + */ + @JsonProperty(value = "taskConfirmAddress") + private String taskConfirmAddress; + + /** + * 过账地址 + */ + @NotBlank(message = "过账地址不能为空") + private String taskStatusAddress; + + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddManyStackerLocationsReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddManyStackerLocationsReq.java new file mode 100644 index 0000000..4833b1c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddManyStackerLocationsReq.java @@ -0,0 +1,105 @@ +package org.wcs.model.dto.serve.stackerLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AddManyStackerLocationsReq { + + /** + * 库位类型 + */ + @NotNull(message = "库位类型不能为空") + @JsonProperty("locationType") + private Integer locationType; + + /** + * 起始字符串 + */ + @JsonProperty("startString") + private String startString; + + /** + * 巷道号 + */ + @NotNull(message = "巷道号不能为空") + @JsonProperty("laneId") + private Integer laneId; + + /** + * 堆垛机ID + */ + @NotNull(message = "堆垛机ID不能为空") + @JsonProperty("machineId") + private Integer machineId; + + /** + * 排 + */ + @NotNull(message = "排不能为空") + @JsonProperty("lRow") + private Integer lRow; + + /** + * 总列数 + */ + @NotNull(message = "总列数不能为空") + @JsonProperty("lLineTotal") + private Integer lLineTotal; + + /** + * 列偏移 + */ + @NotNull(message = "列偏移不能为空") + @JsonProperty("lLineOffset") + private Integer lLineOffset; + + /** + * 忽略的列 + */ + @JsonProperty("lLineSkip") + private String lLineSkip; + + /** + * 总层数 + */ + @NotNull(message = "总层数不能为空") + @JsonProperty("lLayerTotal") + private Integer lLayerTotal; + + /** + * 忽略的层 + */ + @JsonProperty("lLayerSkip") + private String lLayerSkip; + + /** + * 总深度 + */ + @NotNull(message = "总深度不能为空") + @JsonProperty("lDepthTotal") + private Integer lDepthTotal; + + /** + * 结束字符串 + */ + @JsonProperty("endString") + private String endString; + + /** + * 库位标签 + */ + @JsonProperty("locationTag") + private String locationTag; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddStackerLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddStackerLocationReq.java new file mode 100644 index 0000000..2233fd9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/AddStackerLocationReq.java @@ -0,0 +1,90 @@ +package org.wcs.model.dto.serve.stackerLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class AddStackerLocationReq { + + /** + * 库位ID + */ + @NotBlank(message = "库位ID不能为空") + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务库位 + */ + @NotBlank(message = "业务库位不能为空") + @JsonProperty("businessLocation") + private String businessLocation; + + /** + * 库位类型 + */ + @NotNull(message = "库位类型不能为空") + @JsonProperty("locationType") + private Integer locationType; + + /** + * 巷道号 + */ + @NotNull(message = "巷道号不能为空") + @JsonProperty("laneId") + private Integer laneId; + + /** + * 堆垛机ID + */ + @NotNull(message = "堆垛机ID不能为空") + @JsonProperty("machineId") + private Integer machineId; + + /** + * 排 + */ + @NotNull(message = "排不能为空") + @JsonProperty("lRow") + private Integer lRow; + + /** + * 列 + */ + @NotNull(message = "列不能为空") + @JsonProperty("lLine") + private Integer lLine; + + /** + * 层 + */ + @NotNull(message = "层不能为空") + @JsonProperty("lLayer") + private Integer lLayer; + + /** + * 深度 + */ + @NotNull(message = "深度不能为空") + @JsonProperty("lDepth") + private Integer lDepth; + + /** + * 库位标签 + */ + @JsonProperty("locationTag") + private String locationTag; + + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/QueryStackerLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/QueryStackerLocationReq.java new file mode 100644 index 0000000..1cc88a2 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/QueryStackerLocationReq.java @@ -0,0 +1,35 @@ +package org.wcs.model.dto.serve.stackerLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class QueryStackerLocationReq { + + /** + * 库位编号 + */ + @JsonProperty("locationId") + private String locationId; + + /** + * 业务库位 + */ + @JsonProperty("businessLocation") + private String businessLocation; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 库位状态 + */ + @JsonProperty("locationStatus") + private Integer locationStatus; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/UpdateStackerLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/UpdateStackerLocationReq.java new file mode 100644 index 0000000..904cbc4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stackerLocation/UpdateStackerLocationReq.java @@ -0,0 +1,101 @@ +package org.wcs.model.dto.serve.stackerLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +public class UpdateStackerLocationReq { + + /** + * 库位ID + */ + @NotBlank(message = "库位ID不能为空") + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 库位状态 + */ + @NotNull(message = "库位状态不能为空") + private Integer locationStatus; + + /** + * 业务库位 + */ + @NotBlank(message = "业务库位不能为空") + @JsonProperty("businessLocation") + private String businessLocation; + + /** + * 库位类型 + */ + @NotNull(message = "库位类型不能为空") + @JsonProperty("locationType") + private Integer locationType; + + /** + * 巷道号 + */ + @NotNull(message = "巷道号不能为空") + @JsonProperty("laneId") + private Integer laneId; + + /** + * 堆垛机ID + */ + @NotNull(message = "堆垛机ID不能为空") + @JsonProperty("machineId") + private Integer machineId; + + /** + * 排 + */ + @NotNull(message = "排不能为空") + @JsonProperty("lRow") + private Integer lRow; + + /** + * 列 + */ + @NotNull(message = "列不能为空") + @JsonProperty("lLine") + private Integer lLine; + + /** + * 层 + */ + @NotNull(message = "层不能为空") + @JsonProperty("lLayer") + private Integer lLayer; + + /** + * 深度 + */ + @NotNull(message = "深度不能为空") + @JsonProperty("lDepth") + private Integer lDepth; + + /** + * 库位标签 + */ + @JsonProperty("locationTag") + private String locationTag; + + /** + * 当前载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/AddStockComposeTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/AddStockComposeTaskReq.java new file mode 100644 index 0000000..52551ae --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/AddStockComposeTaskReq.java @@ -0,0 +1,67 @@ +package org.wcs.model.dto.serve.stcokComposeTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; + +/** + * 添加组合任务请求 + */ +@Getter +@Setter +public class AddStockComposeTaskReq { + + /** + * 任务类型 + */ + @JsonProperty("taskType") + @NotNull(message = "任务类型不能为空") + private Integer taskType; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + @NotBlank(message = "载具编号不能为空") + private String vehicleNo; + + /** + * 起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 终点 + */ + @JsonProperty("destination") + private String destination; + + /** + * 优先级 + */ + @JsonProperty("priority") + @NotNull(message = "优先级不能为空") + private Integer priority; + + /** + * 载具尺寸 + */ + @JsonProperty("vehicleSize") + @NotNull(message = "载具尺寸不能为空") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty("weight") + @NotNull(message = "载具重量不能为空") + private BigDecimal weight; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/QueryStockComposeTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/QueryStockComposeTaskReq.java new file mode 100644 index 0000000..4716286 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/QueryStockComposeTaskReq.java @@ -0,0 +1,77 @@ +package org.wcs.model.dto.serve.stcokComposeTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 查询组合式任务的请求类 + */ +@Getter +@Setter +public class QueryStockComposeTaskReq { + + /** + * 任务ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组ID + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 上游任务号 + */ + @JsonProperty("upperTaskId") + private String upperTaskId; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 任务起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 任务终点 + */ + @JsonProperty("destination") + private String destination; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 创建时间范围 + */ + @JsonProperty("createTimeRange") + private List createTimeRange; + + /** + * 完成时间范围 + */ + @JsonProperty("endTimeRange") + private List endTimeRange; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/ReporterTaskStatusReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/ReporterTaskStatusReq.java new file mode 100644 index 0000000..e4170ee --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stcokComposeTask/ReporterTaskStatusReq.java @@ -0,0 +1,32 @@ +package org.wcs.model.dto.serve.stcokComposeTask; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ReporterTaskStatusReq { + + /** + * 任务ID + */ + @NotBlank(message = "任务ID不能为空") + @JsonProperty("taskId") + private String taskId; + + /** + * 信息 + */ + @NotBlank(message = "上报信息不能为空") + @JsonProperty("message") + private String message; + + /** + * 目的地 + */ + @JsonProperty("destination") + private String destination; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/AddStockScanReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/AddStockScanReq.java new file mode 100644 index 0000000..d4b1aad --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/AddStockScanReq.java @@ -0,0 +1,97 @@ +package org.wcs.model.dto.serve.stockScan; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +public class AddStockScanReq { + + /** + * 扫码器ID + */ + @NotBlank(message = "扫码ID不能为空") + @JsonProperty(value = "scanId") + private String scanId; + + /** + * 扫码器名称 + */ + @NotBlank(message = "扫码名称不能为空") + @JsonProperty(value = "scanName") + private String scanName; + + /** + * 扫码器状态 + */ + @NotNull(message = "扫码状态不能为空") + @JsonProperty(value = "scanStatus") + private Integer scanStatus; + + /** + * 扫码器类型 + */ + @NotNull(message = "扫码类型不能为空") + @JsonProperty(value = "scanType") + private Integer scanType; + + /** + * 扫码器方法 + */ + @JsonProperty(value = "scanMethod") + private String scanMethod; + + /** + * 扫码器参数1 + */ + @JsonProperty(value = "param1") + private String param1; + + /** + * 扫码器参数2 + */ + @JsonProperty(value = "param2") + private String param2; + + /** + * 扫码器参数3 + */ + @JsonProperty(value = "param3") + private String param3; + + /** + * 管辖的PLC + */ + @NotNull(message = "plcId不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写入任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * LED屏编号 + */ + @NotNull(message = "ledNo不能为空") + @JsonProperty(value = "ledNo") + private Integer ledNo; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/QueryStockScanReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/QueryStockScanReq.java new file mode 100644 index 0000000..1577580 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/QueryStockScanReq.java @@ -0,0 +1,43 @@ +package org.wcs.model.dto.serve.stockScan; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询仓库扫码信息的查询参数 + */ +@Setter +@Getter +public class QueryStockScanReq { + + /** + * 扫码ID + */ + @JsonProperty("scanId") + private String scanId; + + /** + * 扫码名称 + */ + @JsonProperty("scanName") + private String scanName; + + /** + * 扫码状态 + */ + @JsonProperty("scanStatus") + private Integer scanStatus; + + /** + * 扫码类型 + */ + @JsonProperty("scanType") + private Integer scanType; + + /** + * 扫码执行方法 + */ + @JsonProperty("scanMethod") + private String scanMethod; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/UpdateStockScanReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/UpdateStockScanReq.java new file mode 100644 index 0000000..d07bb0b --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stockScan/UpdateStockScanReq.java @@ -0,0 +1,97 @@ +package org.wcs.model.dto.serve.stockScan; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UpdateStockScanReq { + + /** + * 扫码器ID + */ + @NotBlank(message = "扫码ID不能为空") + @JsonProperty(value = "scanId") + private String scanId; + + /** + * 扫码器名称 + */ + @NotBlank(message = "扫码名称不能为空") + @JsonProperty(value = "scanName") + private String scanName; + + /** + * 扫码器状态 + */ + @NotNull(message = "扫码状态不能为空") + @JsonProperty(value = "scanStatus") + private Integer scanStatus; + + /** + * 扫码器类型 + */ + @NotNull(message = "扫码类型不能为空") + @JsonProperty(value = "scanType") + private Integer scanType; + + /** + * 扫码器方法 + */ + @JsonProperty(value = "scanMethod") + private String scanMethod; + + /** + * 扫码器参数1 + */ + @JsonProperty(value = "param1") + private String param1; + + /** + * 扫码器参数2 + */ + @JsonProperty(value = "param2") + private String param2; + + /** + * 扫码器参数3 + */ + @JsonProperty(value = "param3") + private String param3; + + /** + * 管辖的PLC + */ + @NotNull(message = "plcId不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写入任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * LED屏编号 + */ + @NotNull(message = "ledNo不能为空") + @JsonProperty(value = "ledNo") + private Integer ledNo; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/AddSingleTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/AddSingleTaskReq.java new file mode 100644 index 0000000..0aab6a9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/AddSingleTaskReq.java @@ -0,0 +1,71 @@ +package org.wcs.model.dto.serve.stockSingleTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; + +@Getter +@Setter +public class AddSingleTaskReq { + + /** + * 执行设备 + */ + @JsonProperty("executeMachine") + @NotNull(message = "执行设备不能为空") + private Integer executeMachine; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + @NotNull(message = "任务类型不能为空") + private Integer taskType; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + @NotBlank(message = "载具号不能为空") + private String vehicleNo; + + /** + * 起点 + */ + @JsonProperty("origin") + @NotBlank(message = "起点不能为空") + private String origin; + + /** + * 终点 + */ + @JsonProperty("destination") + @NotBlank(message = "终点不能为空") + private String destination; + + /** + * 优先级 + */ + @JsonProperty("priority") + @NotNull(message = "优先级不能为空") + private Integer priority; + + /** + * 载具尺寸 + */ + @JsonProperty("vehicleSize") + @NotNull(message = "载具尺寸不能为空") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty("weight") + @NotNull(message = "载具重量不能为空") + private BigDecimal weight; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/QueryStockSingleTaskReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/QueryStockSingleTaskReq.java new file mode 100644 index 0000000..223f0f5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/stockSingleTask/QueryStockSingleTaskReq.java @@ -0,0 +1,89 @@ +package org.wcs.model.dto.serve.stockSingleTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.List; + + +@Getter +@Setter +public class QueryStockSingleTaskReq { + + /** + * 任务ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * PLC任务ID + */ + @JsonProperty("plcTaskId") + private String plcTaskId; + + /** + * 执行设备 + */ + @JsonProperty("executeMachine") + public Integer executeMachine; + + /** + * 上位任务ID + */ + @JsonProperty("upperTaskId") + private String upperTaskId; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 终点 + */ + @JsonProperty("destination") + private String destination; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 创建时间范围 + */ + @JsonProperty("createTimeRange") + private List createTimeRange; + + /** + * 完成时间范围 + */ + @JsonProperty("endTimeRange") + private List endTimeRange; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/AddTrayConveyLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/AddTrayConveyLocationReq.java new file mode 100644 index 0000000..7f1ad0a --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/AddTrayConveyLocationReq.java @@ -0,0 +1,85 @@ +package org.wcs.model.dto.serve.trayConveyLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AddTrayConveyLocationReq { + + /** + * 位置id + */ + @NotBlank(message = "位置id不能为空") + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务位置id + */ + @NotBlank(message = "业务位置id不能为空") + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 位置名称 + */ + @NotBlank(message = "位置名称不能为空") + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 位置状态 + */ + @NotNull(message = "位置状态不能为空") + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 位置类型 + */ + @NotNull(message = "位置类型不能为空") + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 管辖的PLC ID + */ + @NotNull(message = "管辖的PLC ID不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 位置坐标 + */ + @JsonProperty(value = "locationXyz") + private String locationXyz; + + /** + * 区域id + */ + @NotBlank(message = "区域id不能为空") + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写入状态地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/QueryTrayConveyLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/QueryTrayConveyLocationReq.java new file mode 100644 index 0000000..35e0d50 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/QueryTrayConveyLocationReq.java @@ -0,0 +1,50 @@ +package org.wcs.model.dto.serve.trayConveyLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询托盘库位的请求参数 + */ +@Setter +@Getter +public class QueryTrayConveyLocationReq { + + /** + * 点位ID + */ + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务点位ID + */ + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 点位名称 + */ + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 点位状态 + */ + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 点位类型 + */ + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 区域号 + */ + @JsonProperty(value = "areaId") + private String areaId; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/UpdateTrayConveyLocationReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/UpdateTrayConveyLocationReq.java new file mode 100644 index 0000000..85b4f48 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/trayConveyLocation/UpdateTrayConveyLocationReq.java @@ -0,0 +1,92 @@ +package org.wcs.model.dto.serve.trayConveyLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 更新数据的请求 + */ +@Getter +@Setter +public class UpdateTrayConveyLocationReq { + + @JsonProperty(value = "id") + @NotBlank(message = "记录id不能为空") + private String id; + + /** + * 位置id + */ + @NotBlank(message = "位置id不能为空") + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务位置id + */ + @NotBlank(message = "业务位置id不能为空") + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 位置名称 + */ + @NotBlank(message = "位置名称不能为空") + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 位置状态 + */ + @NotNull(message = "位置状态不能为空") + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 位置类型 + */ + @NotNull(message = "位置类型不能为空") + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 管辖的PLC ID + */ + @NotNull(message = "管辖的PLC ID不能为空") + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 位置坐标 + */ + @JsonProperty(value = "locationXyz") + private String locationXyz; + + /** + * 区域id + */ + @NotBlank(message = "区域id不能为空") + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写入状态地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/user/CreateUserReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/user/CreateUserReq.java new file mode 100644 index 0000000..8fc07c5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/user/CreateUserReq.java @@ -0,0 +1,72 @@ +package org.wcs.model.dto.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +public class CreateUserReq { + + /** + * 用户ID + */ + @JsonProperty("userId") + @NotBlank(message = "用户ID不能为空") + private String userId; + + /** + * 用户名称 + */ + @JsonProperty("userName") + @NotBlank(message = "用户名称不能为空") + private String userName; + + /** + * 用户密码 + */ + @JsonProperty("userPwd") + @NotBlank(message = "用户密码不能为空") + private String userPwd; + + /** + * 用户状态 + */ + @JsonProperty("userStatus") + @NotNull(message = "用户状态不能为空") + private Integer userStatus; + + /** + * 用户级别 + */ + @JsonProperty("userLevel") + @NotNull(message = "用户级别不能为空") + private Integer userLevel; + + + /** + * 用户组 + */ + @JsonProperty("userGroup") + @NotBlank(message = "用户组不能为空") + private String userGroup; + + /** + * 性别 + */ + @JsonProperty("sex") + @NotNull(message = "性别不能为空") + private Integer sex; + + /** + * 用户头像 + */ + @JsonProperty("photo") + private String photo; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/user/LoginReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/user/LoginReq.java new file mode 100644 index 0000000..f2b1452 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/user/LoginReq.java @@ -0,0 +1,30 @@ +package org.wcs.model.dto.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +/** + * 登录请求类 + */ +@Getter +@Setter +@AllArgsConstructor +public class LoginReq { + + /** + * 用户名 + */ + @JsonProperty("userId") + @NotBlank(message = "用户ID不允许为空") + private String userId; + + /** + * 密码 + */ + @JsonProperty("password") + @NotBlank(message = "用户密码不允许为空") + private String password; +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/user/QueryUserReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/user/QueryUserReq.java new file mode 100644 index 0000000..aefaa8c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/user/QueryUserReq.java @@ -0,0 +1,26 @@ +package org.wcs.model.dto.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 查询用户详情的请求参数 + */ +@Getter +@Setter +public class QueryUserReq { + + /** + * 用户ID + */ + @JsonProperty("userId") + private String userId; + + /** + * 用户名 + */ + @JsonProperty("userName") + private String userName; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateSelfUserReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateSelfUserReq.java new file mode 100644 index 0000000..9cec59c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateSelfUserReq.java @@ -0,0 +1,54 @@ +package org.wcs.model.dto.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +/** + * 更新自己的信息请求 + */ +@Getter +@Setter +public class UpdateSelfUserReq { + + /** + * 用户ID + */ + @NotBlank(message = "用户ID不能为空") + @JsonProperty("userId") + private String userId; + + /** + * 用户名 + */ + @NotBlank(message = "用户名不能为空") + @JsonProperty("userName") + private String userName; + + /** + * 旧密码 + */ + @NotBlank(message = "旧密码不能为空") + @JsonProperty("oldPwd") + private String oldPwd; + + /** + * 新密码 + */ + @JsonProperty("newPwd") + private String newPwd; + + /** + * 性别 + */ + @JsonProperty("sex") + private Integer sex; + + /** + * 头像 + */ + @JsonProperty("photo") + private String photo; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateUserReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateUserReq.java new file mode 100644 index 0000000..b79987d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/user/UpdateUserReq.java @@ -0,0 +1,68 @@ +package org.wcs.model.dto.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 修改用户信息的请求类 + */ +@Getter +@Setter +public class UpdateUserReq { + /** + * 用户ID + */ + @NotBlank(message = "用户ID不能为空") + @JsonProperty("userId") + private String userId; + + /** + * 用户名称 + */ + @NotBlank(message = "用户名称不能为空") + @JsonProperty("userName") + private String userName; + + /** + * 用户密码 + */ + @JsonProperty("userPwd") + private String userPwd; + + /** + * 用户状态 + */ + @JsonProperty("userStatus") + private Integer userStatus; + + /** + * 用户级别 + */ + @JsonProperty("userLevel") + private Integer userLevel; + + /** + * 用户组 + */ + @JsonProperty("userGroup") + private String userGroup; + + /** + * 性别 + */ + @JsonProperty("sex") + private Integer sex; + + /** + * 用户头像 + */ + @JsonProperty("photo") + private String photo; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/AddUserGroupReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/AddUserGroupReq.java new file mode 100644 index 0000000..a3b2203 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/AddUserGroupReq.java @@ -0,0 +1,45 @@ +package org.wcs.model.dto.serve.userGroup; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +/** + * 添加用户组的请求 + */ +@Getter +@Setter +public class AddUserGroupReq { + + /** + * 用户组 + */ + @JsonProperty("userGroup") + @NotBlank(message = "用户组不能为空") + private String userGroup; + + /** + * 用户组名称 + */ + @JsonProperty("groupName") + @NotBlank(message = "用户组名称不能为空") + private String groupName; + + /** + * 用户组等级 + */ + @JsonProperty("groupLevel") + @NotNull(message = "用户组等级不能为空") + private Integer groupLevel; + + /** + * 用户组状态 + */ + @JsonProperty("groupStatus") + @NotNull(message = "用户组状态不能为空") + private Integer groupStatus; + + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateGroupPermissionReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateGroupPermissionReq.java new file mode 100644 index 0000000..a3dbe81 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateGroupPermissionReq.java @@ -0,0 +1,29 @@ +package org.wcs.model.dto.serve.userGroup; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class UpdateGroupPermissionReq { + + /** + * 用户组 + */ + @NotBlank(message = "用户组不能为空") + @JsonProperty("userGroup") + private String userGroup; + + /** + * 权限列表 + */ + @NotEmpty(message = "权限列表不能为空") + @JsonProperty("permissionList") + private List permissionList; + +} diff --git a/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateUserGroupReq.java b/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateUserGroupReq.java new file mode 100644 index 0000000..1c78a2f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/dto/serve/userGroup/UpdateUserGroupReq.java @@ -0,0 +1,40 @@ +package org.wcs.model.dto.serve.userGroup; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UpdateUserGroupReq { + + /** + * 用户组 + */ + @JsonProperty("userGroup") + @NotBlank(message = "用户组不能为空") + private String userGroup; + + /** + * 用户组名称 + */ + @JsonProperty("groupName") + @NotBlank(message = "用户组名称不能为空") + private String groupName; + + /** + * 用户组等级 + */ + @JsonProperty("groupLevel") + @NotNull(message = "用户组等级不能为空") + private Integer groupLevel; + + /** + * 用户组状态 + */ + @JsonProperty("groupStatus") + @NotNull(message = "用户组状态不能为空") + private Integer groupStatus; +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseApiInfo.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseApiInfo.java new file mode 100755 index 0000000..b314041 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseApiInfo.java @@ -0,0 +1,54 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * API 信息基础资料表 + */ +@Setter +@Getter +@TableName("t_app_base_api_info") +public class AppBaseApiInfo { + + /** + * API KEY + */ + @TableId("api_key") + private String apiKey; + + /** + * API 名称 + */ + @TableField("api_name") + private String apiName; + + /** + * 根 Key + */ + @TableField("root_key") + private String rootKey; + + /** + * 地址 + */ + @TableField("address") + private String address; + + /** + * 标记 + */ + @TableField("tag") + private String tag; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseConfig.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseConfig.java new file mode 100755 index 0000000..aa9feaf --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseConfig.java @@ -0,0 +1,95 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 系统配置表 + */ +@Data +@TableName("t_app_base_config") +@AllArgsConstructor +public class AppBaseConfig { + + public AppBaseConfig() { + } + + public AppBaseConfig(String configKey, String configValue) { + this.configKey = configKey; + this.configValue = configValue; + } + + + /** + * 配置键 + */ + @TableId("config_key") + private String configKey; + + /** + * 配置名称 + */ + @TableField("config_name") + private String configName; + + /** + * 配置类型 + */ + @TableField("config_type") + private Integer configType; + + /** + * 是否立即生效 + */ + @TableField("immediately") + private Integer immediately; + + /** + * 配置值 + */ + @TableField("config_value") + private String configValue; + + /** + * 标签文本 + */ + @TableField("tag_text") + private String tagText; + + /** + * 是否能被客户端搜索到 + */ + @TableField("client_show") + private Integer clientShow; + + /** + * 值类型 + */ + @TableField("value_type") + private String valueType; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseDb.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseDb.java new file mode 100644 index 0000000..a7245b6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseDb.java @@ -0,0 +1,40 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@TableName("t_app_base_db") +public class AppBaseDb { + + /** + * DB地址名称 + */ + @TableId("db_name") + private String dbName; + + /** + * PLC编号 + */ + @TableField("plc_id") + private Integer plcId; + + /** + * DB地址 + */ + @TableField("db_address") + private String dbAddress; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseErrInfo.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseErrInfo.java new file mode 100755 index 0000000..12cabf0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseErrInfo.java @@ -0,0 +1,64 @@ +package org.wcs.model.po.app; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 基础报警信息 + */ +@Data +@TableName("t_app_base_err_info") +public class AppBaseErrInfo { + + /** + * 主键序号 + */ + @TableId("id") + private String id; + + /** + * 设备名称 + */ + @TableField("equipment_type") + private Integer equipmentType; + + /** + * 报警编号 + */ + @TableField("err_code") + private String errCode; + + /** + * 报警等级 + */ + @TableField("err_level") + private Integer errLevel; + + /** + * 报警类型 + */ + @TableField("err_type") + private Integer errType; + + /** + * 报警信息 + */ + @TableField("err_msg") + private String errMsg; + + /** + * 建议 + */ + @TableField("suggest") + private String suggest; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseGroupPermission.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseGroupPermission.java new file mode 100755 index 0000000..e6e721e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseGroupPermission.java @@ -0,0 +1,49 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 用户组权限表 + */ +@Data +@TableName("t_app_base_group_permission") +public class AppBaseGroupPermission { + + /** + * 主键序号 + */ + @TableId("id") + private String id; + + /** + * 用户组 + */ + @TableField("user_group") + private String userGroup; + + /** + * 菜单ID + */ + @TableField("menu_id") + private String menuId; + + /** + * 创建人 + */ + @TableField("create_user") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime creatTime; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseLed.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseLed.java new file mode 100644 index 0000000..5c4f655 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseLed.java @@ -0,0 +1,77 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +/** + * LED 屏基础资料 + */ +@Setter +@Getter +@TableName("t_app_base_led") +public class AppBaseLed { + + /** + * 主键序号 + */ + @TableId("id") + private String id; + + /** + * LED屏IP + */ + @TableField("led_ip") + private String ledIp; + + /** + * LED屏品牌 + */ + @TableField("led_brand") + private Integer ledBrand; + + /** + * LED屏高度 + */ + @TableField("height") + private Integer height; + + /** + * LED屏宽度 + */ + @TableField("width") + private Integer width; + + /** + * LED屏颜色类型 + * * 1 - 单色 + * * 2 - 双色 + * * 3 - 三色 + */ + @TableField("color_type") + private Integer colorType; + + /** + * LED屏位置 + */ + @TableField("location") + private String location; + + /** + * 是否外部控制 + */ + @TableField("is_external") + private Integer isExternal; + + /** + * LED屏备注 + */ + @TableField("remark") + private String remark; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseMaintenanceInfo.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseMaintenanceInfo.java new file mode 100755 index 0000000..ac9ee91 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseMaintenanceInfo.java @@ -0,0 +1,55 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 保养计划基础资料表 + */ +@Data +@TableName("t_app_base_maintenance_info") +public class AppBaseMaintenanceInfo { + + /** + * 保养编号 + */ + @TableId("maintenance_no") + private Integer maintenanceNo; + + /** + * 保养周期 + */ + @TableField("maintenance_period") + private Integer maintenancePeriod; + + /** + * 上次保养时间 + */ + @TableField("last_time") + private LocalDateTime lastTime; + + /** + * 下次保养时间 + */ + @TableField("next_time") + private LocalDateTime nextTime; + + /** + * 保养信息内容 + */ + @TableField("maintenance_mag") + private String maintenanceMsg; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseMenu.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseMenu.java new file mode 100755 index 0000000..f9c6a04 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseMenu.java @@ -0,0 +1,72 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 菜单基础资料 + */ +@Data +@TableName("t_app_base_menu") +public class AppBaseMenu { + + /** + * 菜单ID + */ + @TableId("menu_id") + private String menuId; + + /** + * 菜单名称 + */ + @TableField("menu_name") + private String menuName; + + /** + * 菜单等级 + */ + @TableField("menu_level") + private Integer menuLevel; + + /** + * 父菜单ID + */ + @TableField("father_menu_id") + private String fatherMenuId; + + /** + * 菜单状态 + */ + @TableField("menu_status") + private Integer menuStatus; + + /** + * 菜单图标 + */ + @TableField("menu_ico") + private String menuIco; + + /** + * 路由名称 + */ + @TableField("router_name") + private String routerName; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBasePlc.java b/wcs/src/main/java/org/wcs/model/po/app/AppBasePlc.java new file mode 100755 index 0000000..19e9794 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBasePlc.java @@ -0,0 +1,92 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * PLC 信息表 + */ +@Data +@TableName("t_app_base_plc") +public class AppBasePlc { + + /** + * 主键 + */ + @TableId("plc_id") + private Integer plcId; + + /** + * PLC 名称 + */ + @TableField("plc_name") + private String plcName; + + /** + * PLC 类型 + */ + @TableField("plc_type") + private Integer plcType; + + /** + * PLC 版本 + */ + @TableField("plc_version") + private String plcVersion; + + /** + * 状态 + */ + @TableField("plc_status") + private Integer plcStatus; + + /** + * IP 地址 + */ + @TableField("ip") + private String ip; + + /** + * 端口 + */ + @TableField("port") + private Integer port; + + /** + * 槽位 + */ + @TableField("slot") + private Integer slot; + + /** + * 架位 + */ + @TableField("rack") + private Integer rack; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseScanMethod.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseScanMethod.java new file mode 100644 index 0000000..289d213 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseScanMethod.java @@ -0,0 +1,50 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +@TableName("t_app_base_scan_method") +public class AppBaseScanMethod { + + /** + * 扫描方式ID + */ + @TableId(value = "method_id") + private String methodId; + + /** + * 扫描方式名称 + */ + @TableField(value = "method_name") + private String methodName; + + /** + * 扫描方式描述 + */ + @TableField(value = "method_msg") + private String methodMsg; + + /** + * 参数1描述 + */ + @TableField(value = "param1_desc") + private String param1Desc; + + /** + * 参数2描述 + */ + @TableField(value = "param2_desc") + private String param2Desc; + + /** + * 扫描方式参数3描述 + */ + @TableField(value = "param3_desc") + private String param3Desc; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseUser.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseUser.java new file mode 100755 index 0000000..02e1240 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseUser.java @@ -0,0 +1,85 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * 基础用户表 + */ +@Data +@TableName("t_app_base_user") +public class AppBaseUser { + + /** + * 用户ID + */ + @TableId("user_id") + private String userId; + + /** + * 用户名称 + */ + @TableField("user_name") + private String userName; + + /** + * 用户密码 + */ + @TableField("user_pwd") + private String userPwd; + + /** + * 用户状态 + */ + @TableField("user_status") + private Integer userStatus; + + /** + * 用户级别 + */ + @TableField("user_level") + private Integer userLevel; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 用户组 + */ + @TableField("user_group") + private String userGroup; + + /** + * 性别 + */ + @TableField("sex") + private Integer sex; + + /** + * 用户头像 + */ + @TableField("photo") + private String photo; + + /** + * 上次登录时间 + */ + @TableField("last_login_time") + private LocalDateTime lastLoginTime; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppBaseUserGroup.java b/wcs/src/main/java/org/wcs/model/po/app/AppBaseUserGroup.java new file mode 100755 index 0000000..e5a64e9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppBaseUserGroup.java @@ -0,0 +1,57 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 用户组基础资料 + */ +@Data +@TableName("t_app_base_user_group") +public class AppBaseUserGroup { + + /** + * 用户组 + */ + @TableId("user_group") + private String userGroup; + + /** + * 用户组名称 + */ + @TableField("group_name") + private String groupName; + + /** + * 用户组等级 + */ + @TableField("group_level") + private Integer groupLevel; + + /** + * 用户组状态 + */ + @TableField("group_status") + private Integer groupStatus; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppConveyCheckStand.java b/wcs/src/main/java/org/wcs/model/po/app/AppConveyCheckStand.java new file mode 100644 index 0000000..bcefe7c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppConveyCheckStand.java @@ -0,0 +1,72 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +/** + * 输送线复核站台 + */ +@Getter +@Setter +@TableName("t_app_convey_check_stand") +public class AppConveyCheckStand { + + /** + * 站台编号 + */ + @TableId(value = "stand_id") + private String standId; + + /** + * 站台名称 + */ + @TableField(value = "stand_name") + private String standName; + + /** + * 管辖的PLC编号 + */ + @TableField(value = "plc_id") + private Integer plcId; + + /** + * 站台所属区域编号 + */ + @TableField(value = "area_id") + private String areaId; + + /** + * 站台状态 + */ + @TableField(value = "stand_status") + private Integer standStatus; + + /** + * 站台路由 + */ + @TableField(value = "router") + private Integer router; + + /** + * 站台读取任务到达地址 + */ + @TableField(value = "read_arrive_address") + private String readArriveAddress; + + /** + * 站台写入任务地址 + */ + @TableField(value = "write_task_address") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @TableField(value = "remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppConveyLocation.java b/wcs/src/main/java/org/wcs/model/po/app/AppConveyLocation.java new file mode 100644 index 0000000..aa1fa40 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppConveyLocation.java @@ -0,0 +1,95 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@TableName("t_app_convey_location") +public class AppConveyLocation { + + /** + * 位置ID + */ + @TableId(value = "location_id") + private String locationId; + + /** + * 业务位置ID + */ + @TableField(value = "business_location_id") + private String businessLocationId; + + /** + * 位置名称 + */ + @TableField(value = "location_name") + private String locationName; + + /** + * 位置类型 + */ + @TableField(value = "location_type") + private Integer locationType; + + /** + * 位置状态 + */ + @TableField(value = "location_status") + private Integer locationStatus; + + /** + * 路由ID + */ + @TableField(value = "location_router") + private Integer locationRouter; + + /** + * 区域ID + */ + @TableField(value = "area_id") + private String areaId; + + /** + * 所属PLC + */ + @TableField(value = "plc_id") + private Integer plcId; + + /** + * 读取状态地址 + */ + @TableField(value = "read_status_address") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @TableField(value = "write_task_address") + private String writeTaskAddress; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @TableField(value = "update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppConveyPickStand.java b/wcs/src/main/java/org/wcs/model/po/app/AppConveyPickStand.java new file mode 100644 index 0000000..b610caa --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppConveyPickStand.java @@ -0,0 +1,78 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +/** + * 输送线捡选站台 + */ +@Setter +@Getter +@TableName("t_app_convey_pick_stand") +public class AppConveyPickStand { + + /** + * 站台ID + */ + @TableId("stand_id") + private String standId; + + /** + * 站台名称 + */ + @TableField("stand_Name") + private String standName; + + /** + * PLC编号 + */ + @TableField("plc_id") + private Integer plcId; + + /** + * 区域ID + */ + @TableField("area_id") + private String areaId; + + /** + * 站台状态 + */ + @TableField("stand_status") + private Integer status; + + /** + * 站台类型 + */ + @TableField("stand_type") + private Integer standType; + + /** + * 路由 + */ + @TableField("router") + private Integer router; + + /** + * 读取到达站台地址 + */ + @TableField("read_arrive_address") + private String readArriveAddress; + + /** + * 写任务地址 + */ + @TableField("write_task_address") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @TableField("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppConveyTask.java b/wcs/src/main/java/org/wcs/model/po/app/AppConveyTask.java new file mode 100755 index 0000000..7512302 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppConveyTask.java @@ -0,0 +1,143 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 箱式线任务表 + */ +@Data +@TableName("t_app_convey_task") +public class AppConveyTask { + + /** + * 任务ID + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组 + */ + @TableField("task_group") + private String taskGroup; + + /** + * 任务类型 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 订单号 + */ + @TableField("order_id") + private String orderId; + + /** + * 载具号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 目的位置 + */ + @TableField("location") + private String location; + + /** + * 载具尺寸 + */ + @TableField("size") + private String size; + + /** + * 载具重量 + */ + @TableField("weight") + private BigDecimal weight; + + /** + * 长 + */ + @TableField("length") + private BigDecimal length; + + /** + * 宽 + */ + @TableField("width") + private BigDecimal width; + + /** + * 高 + */ + @TableField("height") + private BigDecimal height; + + /** + * 任务状态 + */ + @TableField("task_status") + private Integer taskStatus; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * PLC ID + */ + @TableField("plc_id") + private Integer plcId; + + /** + * 到达位置 + */ + @TableField("arrive_location") + private String arriveLocation; + + /** + * 到达时间 + */ + @TableField("arrive_time") + private LocalDateTime arriveTime; + + /** + * 完成时间 + */ + @TableField("complete_time") + private LocalDateTime completeTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskBak.java b/wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskBak.java new file mode 100755 index 0000000..3af809e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskBak.java @@ -0,0 +1,143 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 箱式线任务表 ---- 备份表 + */ +@Data +@TableName("t_app_convey_task_bak") +public class AppConveyTaskBak { + + /** + * 任务ID + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组 + */ + @TableField("task_group") + private String taskGroup; + + /** + * 任务类型 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 订单号 + */ + @TableField("order_id") + private String orderId; + + /** + * 载具号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 目的位置 + */ + @TableField("location") + private String location; + + /** + * 载具尺寸 + */ + @TableField("size") + private String size; + + /** + * 载具重量 + */ + @TableField("weight") + private BigDecimal weight; + + /** + * 长 + */ + @TableField("length") + private BigDecimal length; + + /** + * 宽 + */ + @TableField("width") + private BigDecimal width; + + /** + * 高 + */ + @TableField("height") + private BigDecimal height; + + /** + * 任务状态 + */ + @TableField("task_status") + private Integer taskStatus; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * PLC ID + */ + @TableField("plc_id") + private Integer plcId; + + /** + * 到达位置 + */ + @TableField("arrive_location") + private String arriveLocation; + + /** + * 到达时间 + */ + @TableField("arrive_time") + private LocalDateTime arriveTime; + + /** + * 完成时间 + */ + @TableField("complete_time") + private LocalDateTime completeTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskEvent.java b/wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskEvent.java new file mode 100755 index 0000000..6a157d0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppConveyTaskEvent.java @@ -0,0 +1,50 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 箱式线任务事件表 + */ +@Getter +@Setter +@TableName("t_app_convey_task_event") +public class AppConveyTaskEvent { + + /** + * 记录号 + */ + @TableId("record_id") + private String recordId; + + /** + * 任务号 + */ + @TableField("task_id") + private String taskId; + + /** + * 记录时间 + */ + @TableField("record_time") + private LocalDateTime recordTime; + + /** + * 标签 + */ + @TableField("tag") + private String tag; + + /** + * 内容 + */ + @TableField("msg") + private String msg; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagControllerInfo.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagControllerInfo.java new file mode 100755 index 0000000..c99a854 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagControllerInfo.java @@ -0,0 +1,75 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 电子标签控制器基础资料类 + */ +@Data +@TableName("t_app_etag_controller_info") +public class AppEtagControllerInfo { + + /** + * 控制器编号 + */ + @TableId("controller_id") + private Integer controllerId; + + /** + * 控制器名称 + */ + @TableField("controller_name") + private String controllerName; + + /** + * 控制器类型 + */ + @TableField("controller_type") + private String controllerType; + + /** + * 控制器状态 + */ + @TableField("controller_status") + private Integer controllerStatus; + + /** + * ip地址 + */ + @TableField("ip") + private String ip; + + /** + * 端口 + */ + @TableField("port") + private Integer port; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagStock.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagStock.java new file mode 100755 index 0000000..f5cae6f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagStock.java @@ -0,0 +1,69 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 电子标签库存表 + */ +@Data +@TableName("t_app_etag_stock") +public class AppEtagStock { + + /** + * 库位 + */ + @TableId("location") + private String location; + + /** + * 商品ID + */ + @TableField("goods_id") + private String goodsId; + + /** + * 商品名称 + */ + @TableField("goods_name") + private String goodsName; + + /** + * 商品类型 + */ + @TableField("goods_type") + private String goodsType; + + /** + * 批次 + */ + @TableField("batch") + private String batch; + + /** + * 库存数量 + */ + @TableField("goods_num") + private BigDecimal goodsNum; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagTagInfo.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTagInfo.java new file mode 100755 index 0000000..00fa0e7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTagInfo.java @@ -0,0 +1,67 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 电子标签小标签基础信息 + */ +@Data +@TableName("t_app_etag_tag_info") +public class AppEtagTagInfo { + + /** + * 标签名称 + */ + @TableId("tag_name") + private String tagName; + + /** + * 控制器id + */ + @TableField("controller_id") + private Integer controllerId; + + /** + * 标签id + */ + @TableField("tag_id") + private Integer tagId; + + /** + * 标签类型 + */ + @TableField("tag_type") + private Integer tagType; + + /** + * 业务类型 + * 0 - 普通; + * 1 - 区域标签 + * 2 - 巷道灯 + */ + @TableField("business_type") + private Integer businessType; + + /** + * 区域id + */ + @TableField("area_id") + private String areaId; + + /** + * 巷道号 + */ + @TableField("tunnel_no") + private String tunnelNo; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagTagLocation.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTagLocation.java new file mode 100755 index 0000000..a39daf3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTagLocation.java @@ -0,0 +1,58 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 电子标签货位表 + */ +@Getter +@Setter +@TableName("t_app_etag_tag_location") +public class AppEtagTagLocation { + + /** + * 记录ID + */ + @TableId("record_id") + private String recordId; + + /** + * 货位 + */ + @TableField("location") + private String location; + + /** + * 标签名称 + */ + @TableField("tag_name") + private String tagName; + + /** + * 货位类型 + */ + @TableField("location_type") + private Integer locationType; + + /** + * 站台 + */ + @TableField("stand") + private String stand; + + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java new file mode 100755 index 0000000..4c52b42 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java @@ -0,0 +1,143 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 电子标签任务类 + */ +@Data +@TableName("t_app_etag_task") +public class AppEtagTask { + + /** + * 任务号 + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组 + */ + @TableField("task_group") + private String taskGroup; + + /** + * 任务类型 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 载具号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 订单号 + */ + @TableField("order_id") + private String orderId; + + /** + * 库位号 + */ + @TableField("location") + private String location; + + /** + * 物料编号 + */ + @TableField("goods_id") + private String goodsId; + + /** + * 物料名称 + */ + @TableField("goods_name") + private String goodsName; + + /** + * 点亮数量 + */ + @TableField("light_num") + private BigDecimal lightNum; + + /** + * 确认数量 + */ + @TableField("confirm_num") + private BigDecimal confirmNum; + + /** + * 任务状态 + */ + @TableField("task_status") + private Integer taskStatus; + + /** + * 点亮模式 + * 1 - 立即点亮 + * 2 - 暂存待点亮 + */ + @TableField("light_model") + private Integer lightModel; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 点亮时间 + */ + @TableField("light_time") + private LocalDateTime lightTime; + + /** + * 确认时间 + */ + @TableField("confirm_time") + private LocalDateTime confirmTime; + + /** + * 确认人 + */ + @TableField("confirm_person") + private String confirmPerson; + + /** + * 完成时间 + */ + @TableField("completed_time") + private LocalDateTime completedTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskBak.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskBak.java new file mode 100644 index 0000000..ae8621a --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskBak.java @@ -0,0 +1,141 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 电子标签任务类 ---- 备份表 + */ +@Data +@TableName("t_app_etag_task_bak") +public class AppEtagTaskBak { + + /** + * 任务号 + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组 + */ + @TableField("task_group") + private String taskGroup; + + /** + * 任务类型 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 载具号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 订单号 + */ + @TableField("order_id") + private String orderId; + + /** + * 库位号 + */ + @TableField("location") + private String location; + + /** + * 物料编号 + */ + @TableField("goods_id") + private String goodsId; + + /** + * 物料名称 + */ + @TableField("goods_name") + private String goodsName; + + /** + * 点亮数量 + */ + @TableField("light_num") + private BigDecimal lightNum; + + /** + * 确认数量 + */ + @TableField("confirm_num") + private BigDecimal confirmNum; + + /** + * 任务状态 + */ + @TableField("task_status") + private Integer taskStatus; + + /** + * 点亮模式 + * 1 - 立即点亮 + * 2 - 暂存待点亮 + */ + @TableField("light_model") + private Integer lightModel; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 点亮时间 + */ + @TableField("light_time") + private LocalDateTime lightTime; + + /** + * 确认时间 + */ + @TableField("confirm_time") + private LocalDateTime confirmTime; + + /** + * 确认人 + */ + @TableField("confirm_person") + private String confirmPerson; + + /** + * 完成时间 + */ + @TableField("completed_time") + private LocalDateTime completedTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskEvent.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskEvent.java new file mode 100755 index 0000000..3d4f631 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTaskEvent.java @@ -0,0 +1,50 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 电子标签任务事件表 + */ +@Getter +@Setter +@TableName("t_app_etag_task_event") +public class AppEtagTaskEvent { + + + /** + * 记录号 + */ + @TableId("record_id") + private String recordId; + + /** + * 任务号 + */ + @TableField("task_id") + private String taskId; + + /** + * 记录时间 + */ + @TableField("record_time") + private LocalDateTime recordTime; + + /** + * 标签 + */ + @TableField("tag") + private String tag; + + /** + * 内容 + */ + @TableField("msg") + private String msg; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppQuartzConfig.java b/wcs/src/main/java/org/wcs/model/po/app/AppQuartzConfig.java new file mode 100644 index 0000000..a63aafe --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppQuartzConfig.java @@ -0,0 +1,59 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@TableName("t_app_quartz_config") +public class AppQuartzConfig { + + /** + * 类名 + */ + @TableId("class_name") + private String className; + + /** + * 任务描述 + */ + @TableField("job_desc") + private String jobDesc; + + /** + * 任务状态 + */ + @TableField("status") + private Integer status; + + /** + * 任务表达式 + */ + @TableField("cron") + private String cron; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppRecordApiRequest.java b/wcs/src/main/java/org/wcs/model/po/app/AppRecordApiRequest.java new file mode 100755 index 0000000..a38d667 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppRecordApiRequest.java @@ -0,0 +1,91 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * WCS 系统向外部请求的记录 + */ +@Data +@TableName("t_app_record_api_request") +public class AppRecordApiRequest { + + /** + * 记录ID + */ + @TableId("record_id") + private String recordId; + + /** + * API KEY + */ + @TableField("api_key") + private String apiKey; + + /** + * 请求URL + */ + @TableField("request_url") + private String requestUrl; + + /** + * 请求是否成功 + */ + @TableField("success") + private Integer success; + + /** + * 请求方式 + */ + @TableField("method") + private String method; + + /** + * url参数 + */ + @TableField("url_param") + private String urlParam; + + /** + * 请求参数 + */ + @TableField("request_msg") + private String requestMsg; + + /** + * 响应内容 + */ + @TableField("response_msg") + private String responseMsg; + + /** + * 请求时间 + */ + @TableField("request_time") + private LocalDateTime requestTime; + + /** + * 响应时间 + */ + @TableField("response_time") + private LocalDateTime responseTime; + + /** + * 耗时 + */ + @TableField("use_time") + private BigDecimal useTime; + + /** + * 错误信息 + */ + @TableField("err_msg") + private String errMsg; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppRecordApiResponse.java b/wcs/src/main/java/org/wcs/model/po/app/AppRecordApiResponse.java new file mode 100755 index 0000000..ed7425c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppRecordApiResponse.java @@ -0,0 +1,112 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 其他系统请求WCS的记录表 + */ +@Data +@TableName("t_app_record_api_response") +public class AppRecordApiResponse { + + /** + * 记录ID + */ + @TableId("record_id") + private String recordId; + + /** + * 请求路径 + */ + @TableField("path") + private String path; + + /** + * 请求方式 + */ + @TableField("method") + private String method; + + /** + * 请求URL参数 + */ + @TableField("url_param") + private String urlParam; + + /** + * 响应码 + */ + @TableField("response_code") + private Integer responseCode; + + /** + * 请求类型 + */ + @TableField("media_type") + private String mediaType; + + /** + * 请求IP + */ + @TableField("client_address") + private String clientAddress; + + /** + * 请求头 + */ + @TableField("header") + private String header; + + /** + * 请求时间 + */ + @TableField("request_time") + private LocalDateTime requestTime; + + /** + * 响应时间 + */ + @TableField("response_time") + private LocalDateTime responseTime; + + /** + * 耗时 + */ + @TableField("use_time") + private BigDecimal useTime; + + /** + * 请求参数 + */ + @TableField("request_msg") + private String requestMsg; + + /** + * 响应参数 + */ + @TableField("response_msg") + private String responseMsg; + + /** + * Cookie + */ + @TableField("cookie") + private String cookie; + + /** + * 错误信息 + */ + @TableField("err_msg") + private String errMsg; + + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppRecordErr.java b/wcs/src/main/java/org/wcs/model/po/app/AppRecordErr.java new file mode 100755 index 0000000..bfc72dd --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppRecordErr.java @@ -0,0 +1,58 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 设备报警记录表 + */ +@Data +@TableName("t_app_record_err") +public class AppRecordErr { + + /** + * 报警记录id + */ + @TableId("id") + private String Id; + + /** + * 设备类型 + */ + @TableField("equipment_type") + private Integer equipmentType; + + /** + * 设备名称 + */ + @TableField("equipment_name") + private String equipmentName; + + /** + * 设备id + */ + @TableField("equipment_id") + private String equipmentId; + + /** + * 报警码 + */ + @TableField("err_code") + private String errCode; + + /** + * 报警时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 报警恢复时间 + */ + @TableField("recover_time") + private LocalDateTime recoverTime; +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppRecordMaintenance.java b/wcs/src/main/java/org/wcs/model/po/app/AppRecordMaintenance.java new file mode 100755 index 0000000..df1daa1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppRecordMaintenance.java @@ -0,0 +1,48 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 设备维保记录 + */ +@Data +@TableName("t_app_record_maintenance") +public class AppRecordMaintenance { + + /** + * 维保记录id + */ + @TableId("id") + private String id; + + /** + * 维保要求编号 + */ + @TableField("maintenance_no") + private Integer maintenanceNo; + + /** + * 维保时间 + */ + @TableField("maintenance_time") + private LocalDateTime maintenanceTime; + + /** + * 维保人员 + */ + @TableField("maintenance_person") + private String maintenancePerson; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppRecordPlcInteractive.java b/wcs/src/main/java/org/wcs/model/po/app/AppRecordPlcInteractive.java new file mode 100755 index 0000000..a591716 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppRecordPlcInteractive.java @@ -0,0 +1,54 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 和PLC交互的记录表 + */ +@Data +@TableName("t_app_record_plc_interactive") +public class AppRecordPlcInteractive { + + /** + * 记录号 + */ + @TableId("record_id") + private String recordId; + + /** + * 交互类型 + */ + @TableField("interactive_type") + private Integer interactiveType; + + /** + * PLC名称 + */ + @TableField("plc_name") + private String plcName; + + /** + * 消息号 + */ + @TableField("msg_id") + private String msgId; + + /** + * 消息内容 + */ + @TableField("msg") + private String msg; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppRecordScan.java b/wcs/src/main/java/org/wcs/model/po/app/AppRecordScan.java new file mode 100755 index 0000000..6b718d6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppRecordScan.java @@ -0,0 +1,81 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 扫码记录表 + */ +@Data +@TableName("t_app_record_scan") +public class AppRecordScan { + + /** + * 扫码记录ID + */ + @TableId("record_id") + private String recordId; + + /** + * 扫码位置 + */ + @TableField("location") + private String location; + + /** + * 扫码条码 + */ + @TableField("code") + private String code; + + /** + * 尺寸 + */ + @TableField("size") + private String size; + + /** + * 重量 + */ + @TableField("weight") + private BigDecimal weight; + + /** + * 长度 + */ + @TableField("length") + private BigDecimal length; + + /** + * 宽度 + */ + @TableField("width") + private BigDecimal width; + + /** + * 高度 + */ + @TableField("height") + private BigDecimal height; + + /** + * 扫码时间 + */ + @TableField("scan_time") + private LocalDateTime scanTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppRecordTaskMag.java b/wcs/src/main/java/org/wcs/model/po/app/AppRecordTaskMag.java new file mode 100644 index 0000000..2ba91a7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppRecordTaskMag.java @@ -0,0 +1,55 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +@NoArgsConstructor +@TableName("t_app_record_task_mag") +public class AppRecordTaskMag { + + public AppRecordTaskMag(String recordId, String taskId, String vehicleNo, String message) { + this.taskId = taskId; + this.vehicleNo = vehicleNo; + this.message = message; + this.recordId = recordId; + } + + /** + * 记录ID + */ + @TableId(value = "record_id") + private String recordId; + + /** + * 任务ID + */ + @TableField(value = "task_id") + private String taskId; + + /** + * 载具编号 + */ + @TableField(value = "vehicle_no") + private String vehicleNo; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private LocalDateTime createTime; + + /** + * 信息 + */ + @TableField(value = "message") + private String message; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStackerInfo.java b/wcs/src/main/java/org/wcs/model/po/app/AppStackerInfo.java new file mode 100644 index 0000000..aee0eca --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStackerInfo.java @@ -0,0 +1,115 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@TableName("t_app_stacker_info") +public class AppStackerInfo { + + /** + * 堆垛机ID + */ + @TableId(value = "stacker_id") + private Integer stackerId; + + /** + * PLC ID + */ + @TableField(value = "plc_id") + private Integer plcId; + + /** + * 堆垛机名称 + */ + @TableField(value = "stacker_name") + private String stackerName; + + /** + * 堆垛机状态 + */ + @TableField(value = "stacker_status") + private Integer stackerStatus; + + /** + * 货叉状态 + */ + @TableField(value = "fork_status") + private String forkStatus; + + /** + * 是否允许入库 + */ + @TableField(value = "allow_in") + private Integer allowIn; + + /** + * 是否允许出库 + */ + @TableField(value = "allow_out") + private Integer allowOut; + + /** + * 是否允许移库 + */ + @TableField(value = "allow_move") + private Integer allowMove; + + /** + * 动作节拍 + */ + @TableField(value = "action_beat") + private String actionBeat; + + /** + * 读状态地址 + */ + @TableField(value = "read_status_address") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @TableField(value = "write_task_address") + private String writeTaskAddress; + + /** + * 任务确认地址 + */ + @TableField(value = "task_confirm_address") + private String taskConfirmAddress; + + /** + * 任务状态地址 + */ + @TableField(value = "task_status_address") + private String taskStatusAddress; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStackerLocation.java b/wcs/src/main/java/org/wcs/model/po/app/AppStackerLocation.java new file mode 100644 index 0000000..6abfd0c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStackerLocation.java @@ -0,0 +1,109 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 堆垛机库位表 + */ +@Setter +@Getter +@TableName("t_app_stacker_location") +public class AppStackerLocation { + + /** + * 库位ID + */ + @TableId(value = "location_id") + private String locationId; + + /** + * 库位状态 + */ + @TableField("location_status") + private Integer locationStatus; + + /** + * 业务库位 + */ + @TableField("business_location") + private String businessLocation; + + /** + * 库位类型 + */ + @TableField("location_type") + private Integer locationType; + + /** + * 巷道号 + */ + @TableField("lane_id") + private Integer laneId; + + /** + * 堆垛机ID + */ + @TableField("machine_id") + private Integer machineId; + + /** + * 排 + */ + @TableField("l_row") + private Integer lRow; + + /** + * 列 + */ + @TableField("l_line") + private Integer lLine; + + /** + * 层 + */ + @TableField("l_layer") + private Integer lLayer; + + /** + * 深度 + */ + @TableField("l_depth") + private Integer lDepth; + + /** + * 库位标签 + */ + @TableField("location_tag") + private String locationTag; + + /** + * 载具号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStackerStand.java b/wcs/src/main/java/org/wcs/model/po/app/AppStackerStand.java new file mode 100644 index 0000000..4e6547c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStackerStand.java @@ -0,0 +1,128 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 堆垛机站台表 + */ +@Getter +@Setter +@TableName("t_app_stacker_stand") +public class AppStackerStand { + + /** + * 站台ID + */ + @TableId(value = "stand_id") + private String standId; + + /** + * 堆垛机ID + */ + @TableField(value = "stacker_id") + private Integer stackerId; + + /** + * PLC ID + */ + @TableField(value = "plc_id") + private Integer plcId; + + /** + * 站台名称 + */ + @TableField(value = "stand_name") + private String standName; + + /** + * 站台状态 + */ + @TableField(value = "stand_status") + private Integer standStatus; + + /** + * 巷道编号 + */ + @TableField(value = "lane_id") + private Integer laneId; + + /** + * 站台位置 + */ + @TableField(value = "stand_location") + private String standLocation; + + /** + * 站台坐标 + */ + @TableField(value = "stand_xyz") + private String standXyz; + + /** + * 区域ID + */ + @TableField(value = "area_id") + private String areaId; + + /** + * 入站权限 + */ + @TableField(value = "allow_in") + private Integer allowIn; + + /** + * 入站类型 + */ + @TableField(value = "in_type") + private Integer inType; + + /** + * 出站权限 + */ + @TableField(value = "allow_out") + private Integer allowOut; + + /** + * 出站类型 + */ + @TableField(value = "out_type") + private Integer outType; + + /** + * 读状态地址 + */ + @TableField(value = "read_status_address") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @TableField(value = "write_task_address") + private String writeTaskAddress; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @TableField(value = "update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTask.java b/wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTask.java new file mode 100644 index 0000000..7f6dc9c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTask.java @@ -0,0 +1,166 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 组合式设备任务表 + */ +@Getter +@Setter +@TableName("t_app_stock_compose_task") +public class AppStockComposeTask { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组ID + */ + @TableField("task_group") + private String taskGroup; + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @TableField("upper_task_id") + private String upperTaskId; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 任务起点 + */ + @TableField("origin") + private String origin; + + /** + * 任务目的地 + */ + @TableField("destination") + private String destination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-任务超时 + */ + @TableField("task_status") + private Integer taskStatus; + + /** + * 步骤状态 + * 0-待执行 + * 1-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-离开起点 + * 7-到达终点 + */ + @TableField("step_status") + private Integer stepStatus; + + /** + * 是否可取消 + */ + @TableField("can_cancel") + private Integer canCancel; + + /** + * 优先级 + */ + @TableField("priority") + private Integer priority; + + /** + * 载具编号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 载具尺寸 + */ + @TableField("vehicle_size") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @TableField("weight") + private BigDecimal weight; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @TableField("start_time") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @TableField("complete_time") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @TableField("end_time") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 任务信息 + */ + @TableField("task_msg") + private String taskMsg; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTaskBak.java b/wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTaskBak.java new file mode 100644 index 0000000..2e1bbe5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStockComposeTaskBak.java @@ -0,0 +1,165 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 组合式设备任务表 ---- 备份表 + */ +@Getter +@Setter +@TableName("t_app_stock_compose_task_bak") +public class AppStockComposeTaskBak { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组ID + */ + @TableField("task_group") + private String taskGroup; + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @TableField("upper_task_id") + private String upperTaskId; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 任务起点 + */ + @TableField("origin") + private String origin; + + /** + * 任务目的地 + */ + @TableField("destination") + private String destination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-任务超时 + */ + @TableField("task_status") + private Integer taskStatus; + + /** + * 步骤状态 + * 0-待执行 + * 1-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-离开起点 + * 7-到达终点 + */ + @TableField("step_status") + private Integer stepStatus; + + /** + * 是否可取消 + */ + @TableField("can_cancel") + private Integer canCancel; + + /** + * 优先级 + */ + @TableField("priority") + private Integer priority; + + /** + * 载具编号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 载具尺寸 + */ + @TableField("vehicle_size") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @TableField("weight") + private BigDecimal weight; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @TableField("start_time") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @TableField("complete_time") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @TableField("end_time") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 任务信息 + */ + @TableField("task_msg") + private String taskMsg; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStockScan.java b/wcs/src/main/java/org/wcs/model/po/app/AppStockScan.java new file mode 100644 index 0000000..4af62b7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStockScan.java @@ -0,0 +1,107 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +@TableName("t_app_stock_scan") +public class AppStockScan { + + /** + * 扫码器ID + */ + @TableId(value = "scan_id") + private String scanId; + + /** + * 扫码器名称 + */ + @TableField(value = "scan_name") + private String scanName; + + /** + * 扫码器状态 + */ + @TableField(value = "scan_status") + private Integer scanStatus; + + /** + * 扫码器类型 + */ + @TableField(value = "scan_type") + private Integer scanType; + + /** + * 扫码器方法 + */ + @TableField(value = "scan_method") + private String scanMethod; + + /** + * 扫码器参数1 + */ + @TableField(value = "param1") + private String param1; + + /** + * 扫码器参数2 + */ + @TableField(value = "param2") + private String param2; + + /** + * 扫码器参数3 + */ + @TableField(value = "param3") + private String param3; + + /** + * 管辖的PLC + */ + @TableField(value = "plc_id") + private Integer plcId; + + /** + * 读取状态地址 + */ + @TableField(value = "read_status_address") + private String readStatusAddress; + + /** + * 写入任务地址 + */ + @TableField(value = "write_task_address") + private String writeTaskAddress; + + /** + * LED屏编号 + */ + @TableField(value = "led_no") + private Integer ledNo; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTask.java b/wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTask.java new file mode 100644 index 0000000..3fe9bd5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTask.java @@ -0,0 +1,181 @@ +package org.wcs.model.po.app; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 单项式任务 + */ +@Getter +@Setter +@TableName("t_app_stock_single_task") +public class AppStockSingleTask { + + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组ID + */ + @TableField("task_group") + private String taskGroup; + + /** + * PLC任务ID + */ + @TableField("plc_task_id") + private Integer plcTaskId; + + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @TableField("upper_task_id") + private String upperTaskId; + + /** + * 执行机器 + */ + @TableField("execute_machine") + private Integer executeMachine; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 任务起点 + */ + @TableField("origin") + private String origin; + + /** + * 任务目的地 + */ + @TableField("destination") + private String destination; + + /** + * 最终终点 + */ + @TableField("compose_destination") + private String composeDestination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-任务超时 + */ + @TableField("task_status") + private Integer taskStatus; + + + /** + * 是否可取消 + */ + @TableField("can_cancel") + private Integer canCancel; + + /** + * 优先级 + */ + @TableField("priority") + private Integer priority; + + /** + * 载具编号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 载具号数字 + */ + @TableField("vehicle_no_number") + private Integer vehicleNoNumber; + + /** + * 载具尺寸 + */ + @TableField("vehicle_size") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @TableField("weight") + private BigDecimal weight; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @TableField("start_time") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @TableField("complete_time") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @TableField("end_time") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 任务信息 + */ + @TableField("task_msg") + private String taskMsg; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTaskBak.java b/wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTaskBak.java new file mode 100644 index 0000000..fefa03e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppStockSingleTaskBak.java @@ -0,0 +1,179 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * 单项式任务 + */ +@Getter +@Setter +@TableName("t_app_stock_single_task_bak") +public class AppStockSingleTaskBak { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @TableId("task_id") + private String taskId; + + /** + * 任务组ID + */ + @TableField("task_group") + private String taskGroup; + + /** + * PLC任务ID + */ + @TableField("plc_task_id") + private Integer plcTaskId; + + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @TableField("upper_task_id") + private String upperTaskId; + + /** + * 执行机器 + */ + @TableField("execute_machine") + private Integer executeMachine; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @TableField("task_type") + private Integer taskType; + + /** + * 任务起点 + */ + @TableField("origin") + private String origin; + + /** + * 任务目的地 + */ + @TableField("destination") + private String destination; + + /** + * 最终终点 + */ + @TableField("compose_destination") + private String composeDestination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-任务超时 + */ + @TableField("task_status") + private Integer taskStatus; + + + /** + * 是否可取消 + */ + @TableField("can_cancel") + private Integer canCancel; + + /** + * 优先级 + */ + @TableField("priority") + private Integer priority; + + /** + * 载具编号 + */ + @TableField("vehicle_no") + private String vehicleNo; + + /** + * 载具号数字 + */ + @TableField("vehicle_no_number") + private Integer vehicleNoNumber; + + /** + * 载具尺寸 + */ + @TableField("vehicle_size") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @TableField("weight") + private BigDecimal weight; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @TableField("start_time") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @TableField("complete_time") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @TableField("end_time") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @TableField("task_source") + private String taskSource; + + /** + * 创建人 + */ + @TableField("create_person") + private String createPerson; + + /** + * 任务信息 + */ + @TableField("task_msg") + private String taskMsg; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppTrayConveyLocation.java b/wcs/src/main/java/org/wcs/model/po/app/AppTrayConveyLocation.java new file mode 100644 index 0000000..ab52671 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/AppTrayConveyLocation.java @@ -0,0 +1,101 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@TableName("t_app_tray_convey_location") +public class AppTrayConveyLocation { + + /** + * 主键 + */ + @TableId(value = "id") + private String id; + + /** + * 位置id + */ + @TableField(value = "location_id") + private String locationId; + + /** + * 业务位置id + */ + @TableField(value = "business_location_id") + private String businessLocationId; + + /** + * 位置名称 + */ + @TableField(value = "location_name") + private String locationName; + + /** + * 位置状态 + */ + @TableField(value = "location_status") + private Integer locationStatus; + + /** + * 位置类型 + */ + @TableField(value = "location_type") + private Integer locationType; + + /** + * 管辖的PLC ID + */ + @TableField(value = "plc_id") + private Integer plcId; + + /** + * 位置坐标 + */ + @TableField(value = "location_xyz") + private String locationXyz; + + /** + * 区域id + */ + @TableField(value = "area_id") + private String areaId; + + /** + * 读取状态地址 + */ + @TableField(value = "read_status_address") + private String readStatusAddress; + + /** + * 写入状态地址 + */ + @TableField(value = "write_task_address") + private String writeTaskAddress; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/JoinRecordError.java b/wcs/src/main/java/org/wcs/model/po/app/JoinRecordError.java new file mode 100644 index 0000000..f1790c7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/JoinRecordError.java @@ -0,0 +1,36 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 报警记录表联表基础错误表查询报警记录信息 + */ +@Getter +@Setter +public class JoinRecordError extends AppRecordErr { + + + + /** + * 报警等级 + */ + @TableField("err_level") + private Integer errLevel; + + /** + * 报警类型 + */ + @TableField("err_type") + private Integer errType; + + /** + * 报警信息 + */ + @TableField("err_msg") + private String errMsg; + +} diff --git a/wcs/src/main/java/org/wcs/model/po/app/JoinUserInfoWithGroupInfo.java b/wcs/src/main/java/org/wcs/model/po/app/JoinUserInfoWithGroupInfo.java new file mode 100644 index 0000000..23a9f8f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/po/app/JoinUserInfoWithGroupInfo.java @@ -0,0 +1,100 @@ +package org.wcs.model.po.app; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 用户表联表用户组表查询用户信息 + */ +@Getter +@Setter +public class JoinUserInfoWithGroupInfo { + + /** + * 用户ID + */ + @TableField("user_id") + private String userId; + + /** + * 用户名称 + */ + @TableField("user_name") + private String userName; + + /** + * 用户密码 + */ + @TableField("user_pwd") + private String userPwd; + + /** + * 用户等级 + */ + @TableField("user_level") + private Integer userLevel; + + /** + * 用户状态 + */ + @TableField("user_status") + private Integer userStatus; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 用户组 + */ + @TableField("user_group") + private String userGroup; + + /** + * 性别 + */ + @TableField("sex") + private Integer sex; + + /** + * 用户头像 + */ + @TableField("photo") + private String photo; + + /** + * 上次登录时间 + */ + @TableField("last_login_time") + private LocalDateTime lastLoginTime; + + /** + * 用户组名称 + */ + @TableField("group_name") + private String groupName; + + /** + * 用户组等级 + */ + @TableField("group_level") + private Integer groupLevel; + + /** + * 用户组状态 + */ + @TableField("group_status") + private Integer groupStatus; +} diff --git a/wcs/src/main/java/org/wcs/model/pojo/led/LedBaseInfo.java b/wcs/src/main/java/org/wcs/model/pojo/led/LedBaseInfo.java new file mode 100644 index 0000000..f0e6920 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/pojo/led/LedBaseInfo.java @@ -0,0 +1,35 @@ +package org.wcs.model.pojo.led; + +import lombok.Getter; +import lombok.Setter; + +/** + * 灵信LED屏的基础信息 + */ +@Setter +@Getter +public class LedBaseInfo { + + /** + * LED 屏宽度 + */ + private int width; + + /** + * LED屏高度 + */ + private int height; + + /** + * LED 屏颜色尺寸 + */ + private int colorType; + + /** + * LED 屏品牌 + */ + private Integer ledBrand; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/pojo/led/LedDataDetail.java b/wcs/src/main/java/org/wcs/model/pojo/led/LedDataDetail.java new file mode 100644 index 0000000..a4d42d0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/pojo/led/LedDataDetail.java @@ -0,0 +1,84 @@ +package org.wcs.model.pojo.led; + +import lombok.Getter; +import lombok.Setter; + +/** + * 灵信LED屏的数据详情 + */ +@Setter +@Getter +public class LedDataDetail { + + + /** + * 左上角位置 + */ + private int leftLocationX; + + /** + * 左上角位置 + */ + private int leftLocationY; + + /** + * 宽度 + */ + private int width; + + /** + * 高度 + */ + private int height; + + /** + * 字体名称 + */ + private String fontName; + + /** + * 字体大小 + */ + private int fontSize; + + /** + * 字体颜色 + */ + private int fontColor; + + /** + * 显示样式 + * 0 - 立即显示, + * 6 - 连续左移, + * 8 - 连续上移, + * 10 - 闪烁 + */ + private int inStyle; + + /** + * 显示速度 + */ + private int nSpeed; + + /** + * 文字对齐方式 + * 0 - 左对齐, + * 2 - 居中, + * 1 - 右对齐 + */ + private int nAlignment; + + /** + * 是否垂直居中 + */ + private boolean VCenterIs; + + /** + * 内容 + */ + private String content; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/pojo/led/LedShowData.java b/wcs/src/main/java/org/wcs/model/pojo/led/LedShowData.java new file mode 100644 index 0000000..6ae49a4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/pojo/led/LedShowData.java @@ -0,0 +1,53 @@ +package org.wcs.model.pojo.led; + +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * 灵信LED屏的数据结构 + */ +@Getter +@Setter +public class LedShowData { + + /** + * 灵信LED屏的IP地址 + */ + private String ledIp; + + /** + * 灵信LED屏卡型号 + */ + private int ledType; + + /** + * 灵信LED屏的屏幕高度 + */ + private int ledHeight; + + /** + * 灵信LED屏的屏幕宽度 + */ + private int ledWidth; + + /** + * 灵信LED屏的屏幕颜色类型 + * 1 - 单色 + * 2 - 双色 + * 3 - 三色 + */ + private int colorType; + + + /** + * 灵信LED屏的数据详情 + */ + private List dataDetails; + + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/pojo/serve/NotificationInfo.java b/wcs/src/main/java/org/wcs/model/pojo/serve/NotificationInfo.java new file mode 100644 index 0000000..05a1051 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/pojo/serve/NotificationInfo.java @@ -0,0 +1,76 @@ +package org.wcs.model.pojo.serve; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 发送到前端通知的信息 + */ +@Setter +@Getter +public class NotificationInfo { + + /** + * 消息 + */ + @JsonProperty("message") + private String message; + + /** + * 标题 + */ + @JsonProperty("title") + private String title; + + /** + * 类型 + */ + @JsonProperty("type") + private String type; + + /** + * 持续时间 + */ + @JsonProperty("duration") + private Integer duration; + + + public static NotificationInfo success(String message, String title, Integer duration) { + NotificationInfo info = new NotificationInfo(); + info.setMessage(message); + info.setTitle(title); + info.setType("success"); + info.setDuration(duration); + return info; + } + + public static NotificationInfo error(String message, String title, Integer duration) { + NotificationInfo info = new NotificationInfo(); + info.setMessage(message); + info.setTitle(title); + info.setType("error"); + info.setDuration(duration); + return info; + } + + public static NotificationInfo warning(String message, String title, Integer duration) { + NotificationInfo info = new NotificationInfo(); + info.setMessage(message); + info.setTitle(title); + info.setType("warning"); + info.setDuration(duration); + return info; + } + + public static NotificationInfo info(String message, String title, Integer duration) { + NotificationInfo info = new NotificationInfo(); + info.setMessage(message); + info.setTitle(title); + info.setType("info"); + info.setDuration(duration); + return info; + } + + +} diff --git a/wcs/src/main/java/org/wcs/model/pojo/serve/RunningEventInfo.java b/wcs/src/main/java/org/wcs/model/pojo/serve/RunningEventInfo.java new file mode 100644 index 0000000..08e2680 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/pojo/serve/RunningEventInfo.java @@ -0,0 +1,23 @@ +package org.wcs.model.pojo.serve; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class RunningEventInfo { + + /** + * 事件发生时间 + */ + @JsonProperty("eventTime") + private String eventTime; + + /** + * 事件内容 + */ + @JsonProperty("eventMsg") + private String eventMsg; + +} diff --git a/wcs/src/main/java/org/wcs/model/pojo/serve/UserMenuPermission.java b/wcs/src/main/java/org/wcs/model/pojo/serve/UserMenuPermission.java new file mode 100644 index 0000000..3e490f6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/pojo/serve/UserMenuPermission.java @@ -0,0 +1,51 @@ +package org.wcs.model.pojo.serve; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 用户的菜单权限 + */ +@Getter +@Setter +public class UserMenuPermission { + + /** + * 菜单ID + */ + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @JsonProperty("menuName") + private String menuName; + + /** + * 菜单等级 + */ + @JsonProperty("menuLevel") + private Integer menuLevel; + + /** + * 父菜单ID + */ + @JsonProperty("fatherMenuId") + private String fatherMenuId; + + /** + * 菜单图标 + */ + @JsonProperty("menuIco") + private String menuIco; + + /** + * 路由名称 + */ + @JsonProperty("routerName") + private String routerName; + + +} diff --git a/wcs/src/main/java/org/wcs/model/pojo/task/SimpleTask.java b/wcs/src/main/java/org/wcs/model/pojo/task/SimpleTask.java new file mode 100644 index 0000000..288e00f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/pojo/task/SimpleTask.java @@ -0,0 +1,32 @@ +package org.wcs.model.pojo.task; + +import lombok.Getter; +import lombok.Setter; +import org.wcs.constant.enums.business.SimpleTaskEnum; + +@Setter +@Getter +public class SimpleTask { + + /** + * 起点 + */ + private String origin; + + /** + * 终点 + */ + private String destination; + + /** + * 任务类型 + */ + private SimpleTaskEnum taskType; + + /** + * 任务序号 + */ + private Integer taskIndex; + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/custom/BaseChartsDataItem.java b/wcs/src/main/java/org/wcs/model/vo/custom/BaseChartsDataItem.java new file mode 100644 index 0000000..a90d5d2 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/custom/BaseChartsDataItem.java @@ -0,0 +1,31 @@ +package org.wcs.model.vo.custom; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 基础图表数据项 + */ +@Getter +@Setter +public class BaseChartsDataItem { + + /** + * 名称 + */ + @JsonProperty("name") + private String name; + + /** + * 值 + */ + @JsonProperty("value") + private Long value; + + public BaseChartsDataItem(String name, Long value) { + this.name = name; + this.value = value; + } + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartData.java b/wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartData.java new file mode 100644 index 0000000..b720cee --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartData.java @@ -0,0 +1,30 @@ +package org.wcs.model.vo.custom; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * 多线折线图数据 + */ +@Getter +@Setter +public class MultilineLineChartData { + + /** + * x轴数据 + */ + @JsonProperty("xDataList") + private List xDataList; + + /** + * y轴数据 + */ + @JsonProperty("yDataList") + private List yDataList; + + +} + diff --git a/wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartDataItem.java b/wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartDataItem.java new file mode 100644 index 0000000..d8901a4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/custom/MultilineLineChartDataItem.java @@ -0,0 +1,30 @@ +package org.wcs.model.vo.custom; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class MultilineLineChartDataItem { + + /** + * 折线名称 + */ + @JsonProperty("name") + private String name; + + /** + * 折线值 + */ + @JsonProperty("data") + private List data; + + public MultilineLineChartDataItem(String name, List data) { + this.name = name; + this.data = data; + } + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/pub/PubServeDataResponse.java b/wcs/src/main/java/org/wcs/model/vo/pub/PubServeDataResponse.java new file mode 100644 index 0000000..573fe98 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/pub/PubServeDataResponse.java @@ -0,0 +1,19 @@ +package org.wcs.model.vo.pub; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 带数据的外部接口统一返回类 + */ +@Setter +@Getter +public class PubServeDataResponse extends PubServeResponse { + + /** + * 返回数据 + */ + @JsonProperty("returnData") + private T data; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/pub/PubServeResponse.java b/wcs/src/main/java/org/wcs/model/vo/pub/PubServeResponse.java new file mode 100644 index 0000000..f34156a --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/pub/PubServeResponse.java @@ -0,0 +1,28 @@ +package org.wcs.model.vo.pub; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 外部系统接口统一返回 + */ +@Setter +@Getter +public class PubServeResponse { + + /** + * 状态码 ---- 200表示成功 + */ + @JsonProperty("code") + private Integer code; + + /** + * 状态信息 + */ + @JsonProperty("message") + private String message; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/pub/deveice/ConveyStatusVo.java b/wcs/src/main/java/org/wcs/model/vo/pub/deveice/ConveyStatusVo.java new file mode 100644 index 0000000..55932c0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/pub/deveice/ConveyStatusVo.java @@ -0,0 +1,71 @@ +package org.wcs.model.vo.pub.deveice; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ConveyStatusVo { + + + /** + * 输送机编号 + */ + @JsonProperty("conveyNo") + private Short conveyNo; + + /** + * PLC任务ID + */ + @JsonProperty("plcTaskId") + private Integer plcTaskId; + + /** + * 任务允许 + */ + @JsonProperty("taskAllow") + private Short taskAllow; + + /** + * 控制方式 + */ + @JsonProperty("controlModel") + private Short controlModel; + + /** + * 设备状态 + */ + @JsonProperty("deviceStatus") + private Short deviceStatus; + + /** + * 是否有AGV + */ + @JsonProperty("haveAgv") + private Short haveAgv; + + /** + * 载具尺寸 + */ + @JsonProperty("vehicleSize") + private Short vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty("weight") + private Short weight; + + /** + * 错误码 + */ + @JsonProperty("errCode") + private Short errCode; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/pub/task/StockTaskDetailVo.java b/wcs/src/main/java/org/wcs/model/vo/pub/task/StockTaskDetailVo.java new file mode 100644 index 0000000..9166d14 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/pub/task/StockTaskDetailVo.java @@ -0,0 +1,127 @@ +package org.wcs.model.vo.pub.task; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 响应给上位系统查询的任务信息 + */ +@Setter +@Getter +public class StockTaskDetailVo { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组ID + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @JsonProperty("upperTaskId") + private String upperTaskId; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 任务起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 任务目的地 + */ + @JsonProperty("destination") + private String destination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + + /** + * 是否可取消 + */ + @JsonProperty("canCancel") + private Integer canCancel; + + /** + * 优先级 + */ + @JsonProperty("priority") + private Integer priority; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 载具尺寸 + */ + @JsonProperty("vehicleSize") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty("weight") + private BigDecimal weight; + + + /** + * 任务开始时间 + */ + @JsonProperty("startTime") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @JsonProperty("completeTime") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @JsonProperty("endTime") + private LocalDateTime endTime; + + + /** + * 任务信息 + */ + @JsonProperty("taskMsg") + private String taskMsg; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/AppServeDataResponse.java b/wcs/src/main/java/org/wcs/model/vo/serve/AppServeDataResponse.java new file mode 100644 index 0000000..e6b99a1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/AppServeDataResponse.java @@ -0,0 +1,21 @@ +package org.wcs.model.vo.serve; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 此服务带数据的响应 + * @param + */ +@Getter +@Setter +public class AppServeDataResponse extends AppServeResponse { + + /** + * 返回数据 + */ + @JsonProperty("data") + private T data; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/AppServeResponse.java b/wcs/src/main/java/org/wcs/model/vo/serve/AppServeResponse.java new file mode 100644 index 0000000..88d0150 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/AppServeResponse.java @@ -0,0 +1,26 @@ +package org.wcs.model.vo.serve; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 此服务的基础响应 + */ +@Getter +@Setter +public class AppServeResponse { + + /** + * 响应码 + */ + @JsonProperty("code") + private Integer code; + + /** + * 响应信息 + */ + @JsonProperty("msg") + private String msg; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/api/QueryApiBaseInfoVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/api/QueryApiBaseInfoVo.java new file mode 100644 index 0000000..d6a89c7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/api/QueryApiBaseInfoVo.java @@ -0,0 +1,46 @@ +package org.wcs.model.vo.serve.api; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class QueryApiBaseInfoVo { + + /** + * API KEY + */ + @JsonProperty("apiKey") + private String apiKey; + + /** + * API 名称 + */ + @JsonProperty("apiName") + private String apiName; + + /** + * 根 Key + */ + @JsonProperty("rootKey") + private String rootKey; + + /** + * 地址 + */ + @JsonProperty("address") + private String address; + + /** + * 标记 + */ + @JsonProperty("tag") + private String tag; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/baseError/BaseErrorImport.java b/wcs/src/main/java/org/wcs/model/vo/serve/baseError/BaseErrorImport.java new file mode 100644 index 0000000..53b61d8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/baseError/BaseErrorImport.java @@ -0,0 +1,53 @@ +package org.wcs.model.vo.serve.baseError; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class BaseErrorImport { + + /** + * 设备类型 + */ + @Excel(name = "设备类型", orderNum = "1") + private String equipmentName; + + /** + * 错误码 + */ + @Excel(name = "错误码", orderNum = "2") + private String errCode; + + /** + * 错误等级 + */ + @Excel(name = "错误等级", orderNum = "3") + private String errLevel; + + /** + * 错误类型 + */ + @Excel(name = "错误类型", orderNum = "4") + private String errType; + + /** + * 错误信息 + */ + @Excel(name = "错误信息", orderNum = "5") + private String errMsg; + + /** + * 建议 + */ + @Excel(name = "建议", orderNum = "6") + private String suggest; + + /** + * 备注 + */ + @Excel(name = "备注", orderNum = "7") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/baseError/QueryBaseErrorVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/baseError/QueryBaseErrorVo.java new file mode 100644 index 0000000..7a81858 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/baseError/QueryBaseErrorVo.java @@ -0,0 +1,57 @@ +package org.wcs.model.vo.serve.baseError; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class QueryBaseErrorVo { + /** + * 主键序号 + */ + @JsonProperty("id") + private String id; + + /** + * 设备名称 + */ + @JsonProperty("equipmentType") + private Integer equipmentType; + + /** + * 报警编号 + */ + @JsonProperty("errCode") + private String errCode; + + /** + * 报警等级 + */ + @JsonProperty("errLevel") + private Integer errLevel; + + /** + * 报警类型 + */ + @JsonProperty("errType") + private Integer errType; + + /** + * 报警信息 + */ + @JsonProperty("errMsg") + private String errMsg; + + /** + * 建议 + */ + @JsonProperty("suggest") + private String suggest; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/common/PageDataResponse.java b/wcs/src/main/java/org/wcs/model/vo/serve/common/PageDataResponse.java new file mode 100644 index 0000000..12ae7a7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/common/PageDataResponse.java @@ -0,0 +1,40 @@ +package org.wcs.model.vo.serve.common; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * 返回分页的数据 + */ +@Getter +@Setter +public class PageDataResponse { + + /** + * 页码 + */ + @JsonProperty("pageIndex") + private Integer pageIndex; + + /** + * 页大小 + */ + @JsonProperty("pageSize") + private Integer pageSize; + + /** + * 总行数 + */ + @JsonProperty("totalCount") + private Long totalCount; + + /** + * 数据 + */ + @JsonProperty("data") + private List data; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/config/QueryConfigResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/config/QueryConfigResp.java new file mode 100644 index 0000000..f52ed83 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/config/QueryConfigResp.java @@ -0,0 +1,80 @@ +package org.wcs.model.vo.serve.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + + +@Getter +@Setter +public class QueryConfigResp { + + /** + * 配置键 + */ + @JsonProperty("configKey") + private String configKey; + + /** + * 配置名称 + */ + @JsonProperty("configName") + private String configName; + + /** + * 配置类型 + */ + @JsonProperty("configType") + private Integer configType; + + /** + * 是否立即生效 + */ + @JsonProperty("immediately") + private Integer immediately; + + /** + * 配置值 + */ + @JsonProperty("configValue") + private String configValue; + + /** + * 标签文本 + */ + @JsonProperty("tagText") + private String tagText; + + /** + * 是否能被客户端搜索到 + */ + @JsonProperty("clientShow") + private Integer clientShow; + + /** + * 值类型 + */ + @JsonProperty("valueType") + private String valueType; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/convey/ConveyStatusVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/convey/ConveyStatusVo.java new file mode 100644 index 0000000..5049374 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/convey/ConveyStatusVo.java @@ -0,0 +1,67 @@ +package org.wcs.model.vo.serve.convey; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 箱式输送机状态 + */ +@Setter +@Getter +public class ConveyStatusVo { + + /** + * 输送机编号 + */ + @JsonProperty(value = "conveyNo") + private Short conveyNo; + + /** + * PLC任务ID + */ + @JsonProperty(value = "plcTaskId") + private Integer plcTaskId; + + /** + * 任务允许 + */ + @JsonProperty(value = "taskAllow") + private Short taskAllow; + + /** + * 控制方式 + */ + @JsonProperty(value = "controlModel") + private Short controlModel; + + /** + * 设备状态 + */ + @JsonProperty(value = "deviceStatus") + private Short deviceStatus; + + /** + * 载具尺寸 + */ + @JsonProperty(value = "vehicleSize") + private Short vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty(value = "weight") + private Integer weight; + + /** + * 错误码 + */ + @JsonProperty(value = "errCode") + private Short errCode; + + /** + * 载具编号 + */ + @JsonProperty(value = "vehicleNo") + private String vehicleNo; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/convey/QueryConveyLocationVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/convey/QueryConveyLocationVo.java new file mode 100644 index 0000000..aa816dc --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/convey/QueryConveyLocationVo.java @@ -0,0 +1,91 @@ +package org.wcs.model.vo.serve.convey; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryConveyLocationVo { + + /** + * 位置ID + */ + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务位置ID + */ + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 位置名称 + */ + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 位置类型 + */ + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 位置状态 + */ + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 路由ID + */ + @JsonProperty(value = "locationRouter") + private Integer locationRouter; + + /** + * 区域ID + */ + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 所属plc + */ + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 创建时间 + */ + @JsonProperty(value = "createTime") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @JsonProperty(value = "updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyCheckStandVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyCheckStandVo.java new file mode 100644 index 0000000..0838e18 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyCheckStandVo.java @@ -0,0 +1,69 @@ +package org.wcs.model.vo.serve.conveyStand; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 输送线复核站台返回信息 + */ +@Getter +@Setter +public class ConveyCheckStandVo { + + /** + * 站台编号 + */ + @JsonProperty(value = "standId") + private String standId; + + /** + * 站台名称 + */ + @JsonProperty(value = "standName") + private String standName; + + /** + * 管辖的PLC编号 + */ + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 站台所属区域编号 + */ + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 站台状态 + */ + @JsonProperty(value = "standStatus") + private Integer standStatus; + + /** + * 站台路由 + */ + @JsonProperty(value = "router") + private Integer router; + + /** + * 站台读取任务到达地址 + */ + @JsonProperty(value = "readArriveAddress") + private String readArriveAddress; + + /** + * 站台写入任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @JsonProperty(value = "remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyPickStandVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyPickStandVo.java new file mode 100644 index 0000000..099bf7b --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/conveyStand/ConveyPickStandVo.java @@ -0,0 +1,74 @@ +package org.wcs.model.vo.serve.conveyStand; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class ConveyPickStandVo { + + + /** + * 站台ID + */ + @JsonProperty("standId") + private String standId; + + /** + * 站台名称 + */ + @JsonProperty("standName") + private String standName; + + /** + * PLC编号 + */ + @JsonProperty("plcId") + private Integer plcId; + + /** + * 区域ID + */ + @JsonProperty("areaId") + private String areaId; + + /** + * 站台状态 + */ + @JsonProperty("standStatus") + private Integer status; + + /** + * 站台类型 + */ + @JsonProperty("standType") + private Integer standType; + + /** + * 路由 + */ + @JsonProperty("router") + private Integer router; + + /** + * 读取到达站台地址 + */ + @JsonProperty("readArriveAddress") + private String readArriveAddress; + + /** + * 写任务地址 + */ + @JsonProperty("writeTaskAddress") + private String writeTaskAddress; + + /** + * 站台描述 + */ + @JsonProperty("remark") + private String remark; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/ExportConveyTaskBakVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/ExportConveyTaskBakVo.java new file mode 100644 index 0000000..dfda8aa --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/ExportConveyTaskBakVo.java @@ -0,0 +1,139 @@ +package org.wcs.model.vo.serve.conveyTask; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Setter +@Getter +public class ExportConveyTaskBakVo { + + /** + * 任务ID + */ + @Excel(name = "任务ID") + private String taskId; + + /** + * 任务组 + */ + @Excel(name = "任务组") + private String taskGroup; + + /** + * 任务类型 + */ + @Excel(name = "任务类型") + private String taskType; + + /** + * 订单号 + */ + @Excel(name = "订单号") + private String orderId; + + /** + * 载具号 + */ + @Excel(name = "载具号") + private String vehicleNo; + + /** + * 目的位置 + */ + @Excel(name = "货位") + private String location; + + /** + * 载具尺寸 + */ + @Excel(name = "载具尺寸") + private String size; + + /** + * 载具重量 + */ + @Excel(name = "重量") + private BigDecimal weight; + + /** + * 长 + */ + @Excel(name = "长") + private BigDecimal length; + + /** + * 宽 + */ + @Excel(name = "宽") + private BigDecimal width; + + /** + * 高 + */ + @Excel(name = "高") + private BigDecimal height; + + /** + * 任务状态 + */ + @Excel(name = "任务状态") + private String taskStatus; + + /** + * 任务来源 + */ + @Excel(name = "任务来源") + private String taskSource; + + /** + * 创建人 + */ + @Excel(name = "创建人") + private String createPerson; + + /** + * 创建时间 + */ + @Excel(name = "创建时间") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Excel(name = "更新时间") + private LocalDateTime updateTime; + + /** + * PLC ID + */ + @Excel(name = "PLC任务号") + private Integer plcId; + + /** + * 到达位置 + */ + @Excel(name = "到达位置") + private String arriveLocation; + + /** + * 到达时间 + */ + @Excel(name = "到达时间") + private LocalDateTime arriveTime; + + /** + * 完成时间 + */ + @Excel(name = "完成时间") + private LocalDateTime completeTime; + + /** + * 备注 + */ + @Excel(name = "备注") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/QueryConveyTaskVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/QueryConveyTaskVo.java new file mode 100644 index 0000000..f64406d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/conveyTask/QueryConveyTaskVo.java @@ -0,0 +1,140 @@ +package org.wcs.model.vo.serve.conveyTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Setter +@Getter +public class QueryConveyTaskVo { + + /** + * 任务ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 订单号 + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 目的位置 + */ + @JsonProperty("location") + private String location; + + /** + * 载具尺寸 + */ + @JsonProperty("size") + private String size; + + /** + * 载具重量 + */ + @JsonProperty("weight") + private BigDecimal weight; + + /** + * 长 + */ + @JsonProperty("length") + private BigDecimal length; + + /** + * 宽 + */ + @JsonProperty("width") + private BigDecimal width; + + /** + * 高 + */ + @JsonProperty("height") + private BigDecimal height; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 任务来源 + */ + @JsonProperty("taskSource") + private String taskSource; + + /** + * 创建人 + */ + @JsonProperty("createPerson") + private String createPerson; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * PLC ID + */ + @JsonProperty("plcId") + private Integer plcId; + + /** + * 到达位置 + */ + @JsonProperty("arriveLocation") + private String arriveLocation; + + /** + * 到达时间 + */ + @JsonProperty("arriveTime") + private LocalDateTime arriveTime; + + /** + * 完成时间 + */ + @JsonProperty("completeTime") + private LocalDateTime completeTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagControllerVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagControllerVo.java new file mode 100644 index 0000000..6f4379f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagControllerVo.java @@ -0,0 +1,69 @@ +package org.wcs.model.vo.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 电子标签控制器信息返回视图 + */ +@Getter +@Setter +public class EtagControllerVo { + + /** + * 控制器编号 + */ + @JsonProperty("controllerId") + private Integer controllerId; + + /** + * 控制器名称 + */ + @JsonProperty("controllerName") + private String controllerName; + + /** + * 控制器类型 + */ + @JsonProperty("controllerType") + private String controllerType; + + /** + * 控制器状态 + */ + @JsonProperty("controllerStatus") + private Integer controllerStatus; + + /** + * ip地址 + */ + @JsonProperty("ip") + private String ip; + + /** + * 端口 + */ + @JsonProperty("port") + private Integer port; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagLocationVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagLocationVo.java new file mode 100644 index 0000000..7f6cdd2 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagLocationVo.java @@ -0,0 +1,51 @@ +package org.wcs.model.vo.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 电子标签货位表 + */ +@Getter +@Setter +public class EtagLocationVo { + + /** + * 记录ID + */ + @JsonProperty("recordId") + private String recordId; + + /** + * 电子标签货位 + */ + @JsonProperty("location") + private String location; + + /** + * 标签名称 + */ + @JsonProperty("tagName") + private String tagName; + + /** + * 点位类型 + */ + @JsonProperty("locationType") + private Integer locationType; + + /** + * 站台 + */ + @JsonProperty("stand") + private String stand; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagTagInfoVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagTagInfoVo.java new file mode 100644 index 0000000..bd04308 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/etagBase/EtagTagInfoVo.java @@ -0,0 +1,61 @@ +package org.wcs.model.vo.serve.etagBase; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 电子标签小标签基础信息 + */ +@Getter +@Setter +public class EtagTagInfoVo { + + /** + * 标签名称 + */ + @JsonProperty("tagName") + private String tagName; + + /** + * 控制器id + */ + @JsonProperty("controllerId") + private Integer controllerId; + + /** + * 标签id + */ + @JsonProperty("tagId") + private Integer tagId; + + /** + * 标签类型 + */ + @JsonProperty("tagType") + private Integer tagType; + + /** + * 业务类型 + */ + @JsonProperty("businessType") + private Integer businessType; + + /** + * 区域id + */ + @JsonProperty("areaId") + private String areaId; + + /** + * 巷道号 + */ + @JsonProperty("tunnelNo") + private String tunnelNo; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskBakVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskBakVo.java new file mode 100644 index 0000000..07ddc8a --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskBakVo.java @@ -0,0 +1,135 @@ +package org.wcs.model.vo.serve.etagTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Getter +@Setter +public class EtagTaskBakVo { + + /** + * 任务号 + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 订单号 + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 库位号 + */ + @JsonProperty("location") + private String location; + + /** + * 物料编号 + */ + @JsonProperty("goodsId") + private String goodsId; + + /** + * 物料名称 + */ + @JsonProperty("goodsName") + private String goodsName; + + /** + * 点亮数量 + */ + @JsonProperty("lightNum") + private BigDecimal lightNum; + + /** + * 确认数量 + */ + @JsonProperty("confirmNum") + private BigDecimal confirmNum; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 点亮模式 + * 1 - 立即点亮 + * 2 - 暂存待点亮 + */ + @JsonProperty("lightModel") + private Integer lightModel; + + /** + * 任务来源 + */ + @JsonProperty("taskSource") + private String taskSource; + + /** + * 创建人 + */ + @JsonProperty("createPerson") + private String createPerson; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 点亮时间 + */ + @JsonProperty("lightTime") + private LocalDateTime lightTime; + + /** + * 确认时间 + */ + @JsonProperty("confirmTime") + private LocalDateTime confirmTime; + + /** + * 确认人 + */ + @JsonProperty("confirmPerson") + private String confirmPerson; + + /** + * 完成时间 + */ + @JsonProperty("completedTime") + private LocalDateTime completedTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskVo.java new file mode 100644 index 0000000..db6d2eb --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/etagTask/EtagTaskVo.java @@ -0,0 +1,136 @@ +package org.wcs.model.vo.serve.etagTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +@Getter +@Setter +public class EtagTaskVo { + + /** + * 任务号 + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组 + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 任务类型 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 订单号 + */ + @JsonProperty("orderId") + private String orderId; + + /** + * 库位号 + */ + @JsonProperty("location") + private String location; + + /** + * 物料编号 + */ + @JsonProperty("goodsId") + private String goodsId; + + /** + * 物料名称 + */ + @JsonProperty("goodsName") + private String goodsName; + + /** + * 点亮数量 + */ + @JsonProperty("lightNum") + private BigDecimal lightNum; + + /** + * 确认数量 + */ + @JsonProperty("confirmNum") + private BigDecimal confirmNum; + + /** + * 任务状态 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 点亮模式 + * 1 - 立即点亮 + * 2 - 暂存待点亮 + */ + @JsonProperty("lightModel") + private Integer lightModel; + + /** + * 任务来源 + */ + @JsonProperty("taskSource") + private String taskSource; + + /** + * 创建人 + */ + @JsonProperty("createPerson") + private String createPerson; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 点亮时间 + */ + @JsonProperty("lightTime") + private LocalDateTime lightTime; + + /** + * 确认时间 + */ + @JsonProperty("confirmTime") + private LocalDateTime confirmTime; + + /** + * 确认人 + */ + @JsonProperty("confirmPerson") + private String confirmPerson; + + /** + * 完成时间 + */ + @JsonProperty("completedTime") + private LocalDateTime completedTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/led/QueryLedVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/led/QueryLedVo.java new file mode 100644 index 0000000..32b658d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/led/QueryLedVo.java @@ -0,0 +1,70 @@ +package org.wcs.model.vo.serve.led; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * LED屏查询视图 + */ +@Setter +@Getter +public class QueryLedVo { + + /** + * 主键序号 + */ + @JsonProperty("id") + private String id; + + /** + * LED屏IP + */ + @JsonProperty("ledIp") + private String ledIp; + + /** + * LED屏品牌 + */ + @JsonProperty("ledBrand") + private Integer ledBrand; + + /** + * LED屏高度 + */ + @JsonProperty("height") + private Integer height; + + /** + * LED屏宽度 + */ + @JsonProperty("width") + private Integer width; + + /** + * LED屏颜色类型 + * * 1 - 单色 + * * 2 - 双色 + * * 3 - 三色 + */ + @JsonProperty("colorType") + private Integer colorType; + + /** + * LED屏位置 + */ + @JsonProperty("location") + private String location; + + /** + * 是否外部控制 + */ + @JsonProperty("isExternal") + private Integer isExternal; + + /** + * LED屏备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/menu/QueryMenuResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/menu/QueryMenuResp.java new file mode 100644 index 0000000..2e4e0d1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/menu/QueryMenuResp.java @@ -0,0 +1,70 @@ +package org.wcs.model.vo.serve.menu; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 菜单查询响应 + */ +@Getter +@Setter +public class QueryMenuResp { + + /** + * 菜单ID + */ + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @JsonProperty("menuName") + private String menuName; + + /** + * 菜单等级 + */ + @JsonProperty("menuLevel") + private Integer menuLevel; + + /** + * 父菜单ID + */ + @JsonProperty("fatherMenuId") + private String fatherMenuId; + + /** + * 菜单状态 + */ + @JsonProperty("menuStatus") + private Integer menuStatus; + + /** + * 菜单图标 + */ + @JsonProperty("menuIco") + private String menuIco; + + /** + * 路由名称 + */ + @JsonProperty("routerName") + private String routerName; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/plc/QueryBasePlcResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/plc/QueryBasePlcResp.java new file mode 100644 index 0000000..5560155 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/plc/QueryBasePlcResp.java @@ -0,0 +1,87 @@ +package org.wcs.model.vo.serve.plc; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 查询PLC数据的返回值 + */ +@Getter +@Setter +public class QueryBasePlcResp { + + /** + * plc 编号 ---- 唯一 + */ + @JsonProperty("plcId") + private Integer plcId; + + /** + * PLC 名称 + */ + @JsonProperty("plcName") + private String plcName; + + /** + * PLC 类型 + */ + @JsonProperty("plcType") + private Integer plcType; + + /** + * PLC 版本 + */ + @JsonProperty("plcVersion") + private String plcVersion; + + /** + * 状态 + */ + @JsonProperty("plcStatus") + private Integer plcStatus; + + /** + * IP 地址 + */ + @JsonProperty("ip") + private String ip; + + /** + * 端口 + */ + @JsonProperty("port") + private Integer port; + + /** + * 槽位 + */ + @JsonProperty("slot") + private Integer slot; + + /** + * 架位 + */ + @JsonProperty("rack") + private Integer rack; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/quartz/QueryResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/quartz/QueryResp.java new file mode 100644 index 0000000..c23a237 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/quartz/QueryResp.java @@ -0,0 +1,54 @@ +package org.wcs.model.vo.serve.quartz; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryResp { + + /** + * 类名 + */ + @JsonProperty("className") + private String className; + + /** + * 任务描述 + */ + @JsonProperty("jobDesc") + private String jobDesc; + + /** + * 任务状态 + */ + @JsonProperty("status") + private Integer status; + + /** + * 任务表达式 + */ + @JsonProperty("cron") + private String cron; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiRequestVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiRequestVo.java new file mode 100644 index 0000000..7dd676a --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiRequestVo.java @@ -0,0 +1,85 @@ +package org.wcs.model.vo.serve.recordApi; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Setter +@Getter +public class RecordApiRequestVo { + + /** + * 记录ID + */ + @JsonProperty("recordId") + private String recordId; + + /** + * API KEY + */ + @JsonProperty("apiKey") + private String apiKey; + + /** + * 请求URL + */ + @JsonProperty("requestUrl") + private String requestUrl; + + /** + * 请求是否成功 + */ + @JsonProperty("success") + private Integer success; + + /** + * 请求方式 + */ + @JsonProperty("method") + private String method; + + /** + * url参数 + */ + @JsonProperty("urlParam") + private String urlParam; + + /** + * 请求参数 + */ + @JsonProperty("requestMsg") + private String requestMsg; + + /** + * 响应内容 + */ + @JsonProperty("responseMsg") + private String responseMsg; + + /** + * 请求时间 + */ + @JsonProperty("requestTime") + private LocalDateTime requestTime; + + /** + * 响应时间 + */ + @JsonProperty("responseTime") + private LocalDateTime responseTime; + + /** + * 耗时 + */ + @JsonProperty("useTime") + private BigDecimal useTime; + + /** + * 错误信息 + */ + @JsonProperty("errMsg") + private String errMsg; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiResponseVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiResponseVo.java new file mode 100644 index 0000000..b6d126c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/recordApi/RecordApiResponseVo.java @@ -0,0 +1,96 @@ +package org.wcs.model.vo.serve.recordApi; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Getter +@Setter +public class RecordApiResponseVo { + + /** + * 记录ID + */ + @JsonProperty("recordId") + private String recordId; + + /** + * 请求路径 + */ + @JsonProperty("path") + private String path; + + /** + * 请求方式 + */ + @JsonProperty("method") + private String method; + + /** + * 请求URL参数 + */ + @JsonProperty("urlParam") + private String urlParam; + + /** + * 响应码 + */ + @JsonProperty("responseCode") + private Integer responseCode; + + /** + * 请求类型 + */ + @JsonProperty("mediaType") + private String mediaType; + + /** + * 请求IP + */ + @JsonProperty("clientAddress") + private String clientAddress; + + + /** + * 请求时间 + */ + @JsonProperty("requestTime") + private LocalDateTime requestTime; + + /** + * 响应时间 + */ + @JsonProperty("responseTime") + private LocalDateTime responseTime; + + /** + * 耗时 + */ + @JsonProperty("useTime") + private BigDecimal useTime; + + /** + * 请求参数 + */ + @JsonProperty("requestMsg") + private String requestMsg; + + /** + * 响应参数 + */ + @JsonProperty("responseMsg") + private String responseMsg; + + + /** + * 错误信息 + */ + @JsonProperty("errMsg") + private String errMsg; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/recordError/ExportEquipmentErrorVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/recordError/ExportEquipmentErrorVo.java new file mode 100644 index 0000000..4bcc577 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/recordError/ExportEquipmentErrorVo.java @@ -0,0 +1,76 @@ +package org.wcs.model.vo.serve.recordError; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 设备错误信息导出参数 + */ +@Getter +@Setter +public class ExportEquipmentErrorVo { + + /** + * 报警记录ID + */ + @Excel(name = "ID号") + private String id; + + /** + * 设备类型 + */ + @Excel(name ="设备类型") + private String equipmentType; + + /** + * 设备名称 + */ + @Excel(name ="设备名称") + private String equipmentName; + + /** + * 设备ID + */ + @Excel(name ="设备编号") + private String equipmentId; + + /** + * 报警编号 + */ + @Excel(name ="报警编号") + private String errCode; + + /** + * 报警等级 + */ + @Excel(name ="报警等级") + private String errLevel; + + /** + * 报警类型 + */ + @Excel(name ="报警类型") + private String errType; + + /** + * 报警信息 + */ + @Excel(name ="报警类型") + private String errMsg; + + /** + * 创建时间 + */ + @Excel(name ="发生时间") + private LocalDateTime createTime; + + /** + * 恢复时间 + */ + @Excel(name = "恢复时间") + private LocalDateTime recoverTime; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/recordError/QueryEquipmentErrorVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/recordError/QueryEquipmentErrorVo.java new file mode 100644 index 0000000..d3d4ccc --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/recordError/QueryEquipmentErrorVo.java @@ -0,0 +1,76 @@ +package org.wcs.model.vo.serve.recordError; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 报警记录查询参数 + */ +@Getter +@Setter +public class QueryEquipmentErrorVo { + + /** + * 报警记录ID + */ + @JsonProperty("id") + private String id; + + /** + * 设备类型 + */ + @JsonProperty("equipmentType") + private Integer equipmentType; + + /** + * 设备名称 + */ + @JsonProperty("equipmentName") + private String equipmentName; + + /** + * 设备ID + */ + @JsonProperty("equipmentId") + private String equipmentId; + + /** + * 报警编号 + */ + @JsonProperty("errCode") + private String errCode; + + /** + * 报警等级 + */ + @JsonProperty("errLevel") + private Integer errLevel; + + /** + * 报警类型 + */ + @JsonProperty("errType") + private Integer errType; + + /** + * 报警信息 + */ + @JsonProperty("errMsg") + private String errMsg; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 恢复时间 + */ + @JsonProperty("recoverTime") + private LocalDateTime recoverTime; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/recordScan/ExportAppRecordScanVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/recordScan/ExportAppRecordScanVo.java new file mode 100644 index 0000000..fc67c7f --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/recordScan/ExportAppRecordScanVo.java @@ -0,0 +1,73 @@ +package org.wcs.model.vo.serve.recordScan; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Setter +@Getter +public class ExportAppRecordScanVo { + + /** + * 扫码记录ID + */ + @Excel(name = "记录号") + private String recordId; + + /** + * 扫码位置 + */ + @Excel(name = "扫码位置") + private String location; + + /** + * 扫码条码 + */ + @Excel(name = "条码") + private String code; + + /** + * 尺寸 + */ + @Excel(name = "尺寸") + private String size; + + /** + * 重量 + */ + @Excel(name = "重量") + private BigDecimal weight; + + /** + * 长度 + */ + @Excel(name = "长度") + private BigDecimal length; + + /** + * 宽度 + */ + @Excel(name = "宽度") + private BigDecimal width; + + /** + * 高度 + */ + @Excel(name = "高度") + private BigDecimal height; + + /** + * 扫码时间 + */ + @Excel(name = "扫码时间") + private LocalDateTime scanTime; + + /** + * 备注 + */ + @Excel(name = "备注") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/recordScan/RecordScanVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/recordScan/RecordScanVo.java new file mode 100644 index 0000000..173d18a --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/recordScan/RecordScanVo.java @@ -0,0 +1,73 @@ +package org.wcs.model.vo.serve.recordScan; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Getter +@Setter +public class RecordScanVo { + + /** + * 扫码记录ID + */ + @JsonProperty("recordId") + private String recordId; + + /** + * 扫码位置 + */ + @JsonProperty("location") + private String location; + + /** + * 扫码条码 + */ + @JsonProperty("code") + private String code; + + /** + * 尺寸 + */ + @JsonProperty("size") + private String size; + + /** + * 重量 + */ + @JsonProperty("weight") + private BigDecimal weight; + + /** + * 长度 + */ + @JsonProperty("length") + private BigDecimal length; + + /** + * 宽度 + */ + @JsonProperty("width") + private BigDecimal width; + + /** + * 高度 + */ + @JsonProperty("height") + private BigDecimal height; + + /** + * 扫码时间 + */ + @JsonProperty("scanTime") + private LocalDateTime scanTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/siemensDb/SiemensDbVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/siemensDb/SiemensDbVo.java new file mode 100644 index 0000000..b506720 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/siemensDb/SiemensDbVo.java @@ -0,0 +1,38 @@ +package org.wcs.model.vo.serve.siemensDb; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 西门子的数据库返回值 + */ +@Getter +@Setter +public class SiemensDbVo { + + /** + * DB名称 + */ + @JsonProperty("dbName") + private String dbName; + + /** + * DB地址 + */ + @JsonProperty("dbAddress") + private String dbAddress; + + /** + * 管辖的PLC + */ + @JsonProperty("plcId") + private Integer plcId; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerInfoVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerInfoVo.java new file mode 100644 index 0000000..ed779e0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerInfoVo.java @@ -0,0 +1,108 @@ +package org.wcs.model.vo.serve.stacker; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryStackerInfoVo { + + /** + * 堆垛机ID + */ + @JsonProperty(value = "stackerId") + private Integer stackerId; + + /** + * PLC ID + */ + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 堆垛机名称 + */ + @JsonProperty(value = "stackerName") + private String stackerName; + + /** + * 堆垛机状态 + */ + @JsonProperty(value = "stackerStatus") + private Integer stackerStatus; + + /** + * 货叉状态 + */ + @JsonProperty(value = "forkStatus") + private String forkStatus; + + /** + * 是否允许入库 + */ + @JsonProperty(value = "allowIn") + private Integer allowIn; + + /** + * 是否允许出库 + */ + @JsonProperty(value = "allowOut") + private Integer allowOut; + + /** + * 是否允许移库 + */ + @JsonProperty(value = "allowMove") + private Integer allowMove; + + /** + * 动作节拍 + */ + @JsonProperty(value = "actionBeat") + private String actionBeat; + + /** + * 读状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 写任务确认地址 + */ + @JsonProperty(value = "taskConfirmAddress") + private String taskConfirmAddress; + + /** + * 任务状态地址 + */ + @JsonProperty(value = "taskStatusAddress") + private String taskStatusAddress; + + /** + * 创建时间 + */ + @JsonProperty(value = "createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty(value = "updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerStandVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerStandVo.java new file mode 100644 index 0000000..063d090 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stacker/QueryStackerStandVo.java @@ -0,0 +1,120 @@ +package org.wcs.model.vo.serve.stacker; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryStackerStandVo { + + /** + * 站台ID + */ + @JsonProperty(value = "standId") + private String standId; + + /** + * 堆垛机ID + */ + @JsonProperty(value = "stackerId") + private Integer stackerId; + + /** + * PLC ID + */ + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 站台名称 + */ + @JsonProperty(value = "standName") + private String standName; + + /** + * 站台状态 + */ + @JsonProperty(value = "standStatus") + private Integer standStatus; + + /** + * 巷道编号 + */ + @JsonProperty(value = "laneId") + private Integer laneId; + + /** + * 站台位置 + */ + @JsonProperty(value = "standLocation") + private String standLocation; + + /** + * 站台坐标 + */ + @JsonProperty(value = "standXyz") + private String standXyz; + + /** + * 区域ID + */ + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 入站权限 + */ + @JsonProperty(value = "allowIn") + private Integer allowIn; + + /** + * 入站类型 + */ + @JsonProperty(value = "inType") + private Integer inType; + + /** + * 出站权限 + */ + @JsonProperty(value = "allowOut") + private Integer allowOut; + + /** + * 出站类型 + */ + @JsonProperty(value = "outType") + private Integer outType; + + /** + * 读状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 创建时间 + */ + @JsonProperty(value = "createTime") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @JsonProperty(value = "updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stacker/StackerStatusVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stacker/StackerStatusVo.java new file mode 100644 index 0000000..c42181e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stacker/StackerStatusVo.java @@ -0,0 +1,57 @@ +package org.wcs.model.vo.serve.stacker; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 堆垛机状态返回信息 ---- 内部用 + */ +@Getter +@Setter +public class StackerStatusVo { + + /** + * 堆垛机ID + */ + @JsonProperty("stackerId") + private Integer stackerId; + + /** + * 堆垛机控制模式 + */ + @JsonProperty("controlModel") + private Integer controlModel; + + /** + * 设备状态 + */ + @JsonProperty("deviceStatus") + private Integer deviceStatus; + + /** + * 设备位置 + */ + @JsonProperty("location") + private String location; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * PLC任务ID + */ + @JsonProperty("plcTaskId") + private Integer plcTaskId; + + /** + * 错误码 + */ + @JsonProperty("errCode") + private Integer errCode; + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/ExportAppStackerLocationVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/ExportAppStackerLocationVo.java new file mode 100644 index 0000000..607df9c --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/ExportAppStackerLocationVo.java @@ -0,0 +1,103 @@ +package org.wcs.model.vo.serve.stackerLocation; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class ExportAppStackerLocationVo { + + /** + * 库位ID + */ + @Excel(name = "货位号") + private String locationId; + + /** + * 库位状态 + */ + @Excel(name = "货位状态") + private String locationStatus; + + /** + * 业务库位 + */ + @Excel(name = "业务库位") + private String businessLocation; + + /** + * 库位类型 + */ + @Excel(name = "库位类型") + private Integer locationType; + + /** + * 巷道号 + */ + @Excel(name = "巷道号") + private Integer laneId; + + /** + * 堆垛机ID + */ + @Excel(name = "堆垛机ID") + private Integer machineId; + + /** + * 排 + */ + @Excel(name = "排") + private Integer lRow; + + /** + * 列 + */ + @Excel(name = "列") + private Integer lLine; + + /** + * 层 + */ + @Excel(name = "层") + private Integer lLayer; + + /** + * 深度 + */ + @Excel(name = "深度") + private Integer lDepth; + + /** + * 库位标签 + */ + @Excel(name = "库位标签") + private String locationTag; + + /** + * 载具号 + */ + @Excel(name = "当前载具号") + private String vehicleNo; + + /** + * 创建时间 + */ + @Excel(name = "创建时间") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @Excel(name = "修改时间") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @Excel(name = "备注") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/QueryStackerLocationVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/QueryStackerLocationVo.java new file mode 100644 index 0000000..bc7cada --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stackerLocation/QueryStackerLocationVo.java @@ -0,0 +1,104 @@ +package org.wcs.model.vo.serve.stackerLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryStackerLocationVo { + + + /** + * 库位ID + */ + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 库位状态 + */ + @JsonProperty("locationStatus") + private Integer locationStatus; + + /** + * 业务库位 + */ + @JsonProperty("businessLocation") + private String businessLocation; + + /** + * 库位类型 + */ + @JsonProperty("locationType") + private Integer locationType; + + /** + * 巷道号 + */ + @JsonProperty("laneId") + private Integer laneId; + + /** + * 堆垛机ID + */ + @JsonProperty("machineId") + private Integer machineId; + + /** + * 排 + */ + @JsonProperty("lRow") + private Integer lRow; + + /** + * 列 + */ + @JsonProperty("lLine") + private Integer lLine; + + /** + * 层 + */ + @JsonProperty("lLayer") + private Integer lLayer; + + /** + * 深度 + */ + @JsonProperty("lDepth") + private Integer lDepth; + + /** + * 库位标签 + */ + @JsonProperty("locationTag") + private String locationTag; + + /** + * 载具号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty("remark") + private String remark; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/AppStockComposeTaskVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/AppStockComposeTaskVo.java new file mode 100644 index 0000000..79a144e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/AppStockComposeTaskVo.java @@ -0,0 +1,157 @@ +package org.wcs.model.vo.serve.stockComposeTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Getter +@Setter +public class AppStockComposeTaskVo { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组ID + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @JsonProperty("upperTaskId") + private String upperTaskId; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 任务起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 任务目的地 + */ + @JsonProperty("destination") + private String destination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + /** + * 步骤状态 + * 0-待执行 + * 1-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-离开起点 + * 7-到达终点 + */ + @JsonProperty("stepStatus") + private Integer stepStatus; + + /** + * 是否可取消 + */ + @JsonProperty("canCancel") + private Integer canCancel; + + /** + * 优先级 + */ + @JsonProperty("priority") + private Integer priority; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 载具尺寸 + */ + @JsonProperty("vehicleSize") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty("weight") + private BigDecimal weight; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @JsonProperty("startTime") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @JsonProperty("completeTime") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @JsonProperty("endTime") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @JsonProperty("taskSource") + private String taskSource; + + /** + * 创建人 + */ + @JsonProperty("createPerson") + private String createPerson; + + /** + * 任务信息 + */ + @JsonProperty("taskMsg") + private String taskMsg; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/CourseResultVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/CourseResultVo.java new file mode 100644 index 0000000..aaca264 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/CourseResultVo.java @@ -0,0 +1,24 @@ +package org.wcs.model.vo.serve.stockComposeTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class CourseResultVo { + + /** + * 点位 + */ + @JsonProperty("location") + private String location; + + /** + * 点位类型 + */ + @JsonProperty("locationType") + private String locationType; + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/ExportAppStockComposeTaskVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/ExportAppStockComposeTaskVo.java new file mode 100644 index 0000000..22e7134 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stockComposeTask/ExportAppStockComposeTaskVo.java @@ -0,0 +1,158 @@ +package org.wcs.model.vo.serve.stockComposeTask; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Getter +@Setter +public class ExportAppStockComposeTaskVo { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @Excel(name = "任务ID") + private String taskId; + + /** + * 任务组ID + */ + @Excel(name = "任务组ID") + private String taskGroup; + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @Excel(name = "上游任务号") + private String upperTaskId; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @Excel(name = "任务类型") + private String taskType; + + /** + * 任务起点 + */ + @Excel(name = "任务起点") + private String origin; + + /** + * 任务目的地 + */ + @Excel(name = "任务目的地") + private String destination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + */ + @Excel(name = "任务状态") + private String taskStatus; + + /** + * 步骤状态 + * 0-待执行 + * 1-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-离开起点 + * 7-到达终点 + */ + @Excel(name = "步骤状态") + private String stepStatus; + + /** + * 是否可取消 + */ + @Excel(name = "是否可取消") + private String canCancel; + + /** + * 优先级 + */ + @Excel(name = "优先级") + private Integer priority; + + /** + * 载具编号 + */ + @Excel(name = "载具编号") + private String vehicleNo; + + /** + * 载具尺寸 + */ + @Excel(name = "载具尺寸") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @Excel(name = "载具重量") + private BigDecimal weight; + + /** + * 创建时间 + */ + @Excel(name = "创建时间") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Excel(name = "更新时间") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @Excel(name = "任务开始时间") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @Excel(name = "任务完成时间") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @Excel(name = "任务结束时间") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @Excel(name = "任务来源") + private String taskSource; + + /** + * 创建人 + */ + @Excel(name = "创建人") + private String createPerson; + + /** + * 任务信息 + */ + @Excel(name = "任务信息") + private String taskMsg; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppBaseScanMethodVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppBaseScanMethodVo.java new file mode 100644 index 0000000..c6ac3e8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppBaseScanMethodVo.java @@ -0,0 +1,47 @@ +package org.wcs.model.vo.serve.stockScan; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class AppBaseScanMethodVo { + + + /** + * 扫描方式ID + */ + @JsonProperty(value = "methodId") + private String methodId; + + /** + * 扫描方式名称 + */ + @JsonProperty(value = "methodName") + private String methodName; + + /** + * 扫描方式描述 + */ + @JsonProperty(value = "methodMsg") + private String methodMsg; + + /** + * 参数1描述 + */ + @JsonProperty(value = "param1Desc") + private String param1Desc; + + /** + * 参数2描述 + */ + @JsonProperty(value = "param2Desc") + private String param2Desc; + + /** + * 扫描方式参数3描述 + */ + @JsonProperty(value = "param3Desc") + private String param3Desc; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppStockScanVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppStockScanVo.java new file mode 100644 index 0000000..7ad4afb --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stockScan/AppStockScanVo.java @@ -0,0 +1,102 @@ +package org.wcs.model.vo.serve.stockScan; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class AppStockScanVo { + + /** + * 扫码器ID + */ + @JsonProperty(value = "scanId") + private String scanId; + + /** + * 扫码器名称 + */ + @JsonProperty(value = "scanName") + private String scanName; + + /** + * 扫码器状态 + */ + @JsonProperty(value = "scanStatus") + private Integer scanStatus; + + /** + * 扫码器类型 + */ + @JsonProperty(value = "scanType") + private Integer scanType; + + /** + * 扫码器方法 + */ + @JsonProperty(value = "scanMethod") + private String scanMethod; + + /** + * 扫码器参数1 + */ + @JsonProperty(value = "param1") + private String param1; + + /** + * 扫码器参数2 + */ + @JsonProperty(value = "param2") + private String param2; + + /** + * 扫码器参数3 + */ + @JsonProperty(value = "param3") + private String param3; + + /** + * 管辖的PLC + */ + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写入任务地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * LED屏编号 + */ + @JsonProperty(value = "ledNo") + private Integer ledNo; + + /** + * 创建时间 + */ + @JsonProperty(value = "createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty(value = "updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/AppStockSingleTaskVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/AppStockSingleTaskVo.java new file mode 100644 index 0000000..569695b --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/AppStockSingleTaskVo.java @@ -0,0 +1,171 @@ +package org.wcs.model.vo.serve.stockSingleTask; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Getter +@Setter +public class AppStockSingleTaskVo { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @JsonProperty("taskId") + private String taskId; + + /** + * 任务组ID + */ + @JsonProperty("taskGroup") + private String taskGroup; + + /** + * PLC任务ID + */ + @JsonProperty("plcTaskId") + private Integer plcTaskId; + + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @JsonProperty("upperTaskId") + private String upperTaskId; + + /** + * 执行机器 + */ + @JsonProperty("executeMachine") + private Integer executeMachine; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @JsonProperty("taskType") + private Integer taskType; + + /** + * 任务起点 + */ + @JsonProperty("origin") + private String origin; + + /** + * 任务目的地 + */ + @JsonProperty("destination") + private String destination; + + /** + * 最终终点 + */ + @JsonProperty("composeDestination") + private String composeDestination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-任务超时 + */ + @JsonProperty("taskStatus") + private Integer taskStatus; + + + /** + * 是否可取消 + */ + @JsonProperty("canCancel") + private Integer canCancel; + + /** + * 优先级 + */ + @JsonProperty("priority") + private Integer priority; + + /** + * 载具编号 + */ + @JsonProperty("vehicleNo") + private String vehicleNo; + + /** + * 载具号数字 + */ + @JsonProperty("vehicleNoNumber") + private Integer vehicleNoNumber; + + /** + * 载具尺寸 + */ + @JsonProperty("vehicleSize") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty("weight") + private BigDecimal weight; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @JsonProperty("startTime") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @JsonProperty("completeTime") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @JsonProperty("endTime") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @JsonProperty("taskSource") + private String taskSource; + + /** + * 创建人 + */ + @JsonProperty("createPerson") + private String createPerson; + + /** + * 任务信息 + */ + @JsonProperty("taskMsg") + private String taskMsg; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/ExportAppStockSingleTaskVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/ExportAppStockSingleTaskVo.java new file mode 100644 index 0000000..a1c3c21 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/stockSingleTask/ExportAppStockSingleTaskVo.java @@ -0,0 +1,171 @@ +package org.wcs.model.vo.serve.stockSingleTask; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Getter +@Setter +public class ExportAppStockSingleTaskVo { + + /** + * 任务ID --- 此ID是WCS内部生成的唯一ID + */ + @Excel(name = "任务ID") + private String taskId; + + /** + * 任务组ID + */ + @Excel(name = "任务组ID") + private String taskGroup; + + /** + * PLC任务ID + */ + @Excel(name = "plc任务ID") + private Integer plcTaskId; + + + /** + * 上游任务号 --- 此ID是上游系统发送过来的ID + */ + @Excel(name = "上游任务号") + private String upperTaskId; + + /** + * 执行机器 + */ + @Excel(name = "执行设备") + private Integer executeMachine; + + /** + * 任务类型 + * 0-自动 + * 1-入库 + * 2-出库 + * 9-移库 + * 3-托盘线搬运 + */ + @Excel(name = "任务类型") + private String taskType; + + /** + * 任务起点 + */ + @Excel(name = "起点") + private String origin; + + /** + * 任务目的地 + */ + @Excel(name = "终点") + private String destination; + + /** + * 最终终点 + */ + @Excel(name = "最终目的地") + private String composeDestination; + + /** + * 任务状态 + * 0-待执行 + * 1-排队中 + * 2-执行中 + * 3-任务完成 + * 4-任务取消 + * 5-任务异常 + * 6-任务超时 + */ + @Excel(name = "任务状态") + private String taskStatus; + + + /** + * 是否可取消 + */ + @Excel(name = "是否允许取消") + private String canCancel; + + /** + * 优先级 + */ + @Excel(name = "优先级") + private Integer priority; + + /** + * 载具编号 + */ + @Excel(name = "载具编号") + private String vehicleNo; + + /** + * 载具号数字 + */ + @Excel(name = "数字载具号") + private Integer vehicleNoNumber; + + /** + * 载具尺寸 + */ + @Excel(name = "载具尺寸") + private Integer vehicleSize; + + /** + * 载具重量 + */ + @Excel(name = "载具重量") + private BigDecimal weight; + + /** + * 创建时间 + */ + @Excel(name = "创建时间") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Excel(name = "更新时间") + private LocalDateTime updateTime; + + /** + * 任务开始时间 + */ + @Excel(name ="任务开始时间") + private LocalDateTime startTime; + + /** + * 任务完成时间 + */ + @Excel(name ="完成时间") + private LocalDateTime completeTime; + + /** + * 任务结束时间 + */ + @Excel(name ="结束时间") + private LocalDateTime endTime; + + /** + * 任务来源 + */ + @Excel(name ="任务来源") + private String taskSource; + + /** + * 创建人 + */ + @Excel(name ="创建人") + private String createPerson; + + /** + * 任务信息 + */ + @Excel(name ="任务信息") + private String taskMsg; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/sys/CpuDataVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/sys/CpuDataVo.java new file mode 100644 index 0000000..7a057ee --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/sys/CpuDataVo.java @@ -0,0 +1,41 @@ +package org.wcs.model.vo.serve.sys; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class CpuDataVo { + + /** + * cpu核心数 + */ + @JsonProperty("cpuCores") + private Integer cpuCores; + + /** + * cpu用户使用率 + */ + @JsonProperty("userUseRatio") + private String userUseRatio; + + /** + * cpu系统使用率 + */ + @JsonProperty("systemUseRatio") + private String systemUseRatio; + + /** + * cpu总使用率 + */ + @JsonProperty("totalUseRatio") + private String totalUseRatio; + + /** + * cpu当前空闲率 + */ + @JsonProperty("freeRatio") + private String freeRatio; + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/sys/DiskDataVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/sys/DiskDataVo.java new file mode 100644 index 0000000..6efd451 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/sys/DiskDataVo.java @@ -0,0 +1,37 @@ +package org.wcs.model.vo.serve.sys; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class DiskDataVo { + + /** + * 磁盘路径 + */ + @JsonProperty("disPath") + private String diskPath; + + /** + * 磁盘类型 + */ + @JsonProperty("diskType") + private String diskType; + + /** + * 磁盘总大小 + */ + @JsonProperty("totalSize") + private String totalSize; + + /** + * 磁盘剩余大小 + */ + @JsonProperty("freeSize") + private String freeSize; + + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/sys/JvmDataVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/sys/JvmDataVo.java new file mode 100644 index 0000000..b5fe5e0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/sys/JvmDataVo.java @@ -0,0 +1,54 @@ +package org.wcs.model.vo.serve.sys; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class JvmDataVo { + + /** + * jvm名称 + */ + @JsonProperty("jvmName") + private String jvmName; + + /** + * java版本 + */ + @JsonProperty("javaVersion") + private String javaVersion; + + /** + * jvm启动时间 + */ + @JsonProperty("startTime") + private String startTime; + + /** + * jvm运行时间 + */ + @JsonProperty("runTime") + private String runTime; + + /** + * jvm路径 + */ + @JsonProperty("jvmPath") + private String jvmPath; + + /** + * 项目启动路径 + */ + @JsonProperty("startPath") + private String startPath; + + /** + * jvm启动参数 + */ + @JsonProperty("startArgs") + private List startArgs; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/sys/MemoryDataVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/sys/MemoryDataVo.java new file mode 100644 index 0000000..c9c1878 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/sys/MemoryDataVo.java @@ -0,0 +1,35 @@ +package org.wcs.model.vo.serve.sys; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class MemoryDataVo { + + + /** + * 内存总量 + */ + @JsonProperty("total") + private String total; + + /** + * 已用内存 + */ + @JsonProperty("used") + private String used; + + /** + * 剩余内存 + */ + @JsonProperty("free") + private String free; + + /** + * 使用率 + */ + @JsonProperty("usage") + private String usage; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/sys/QuerySystemInfoVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/sys/QuerySystemInfoVo.java new file mode 100644 index 0000000..f3c4448 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/sys/QuerySystemInfoVo.java @@ -0,0 +1,53 @@ +package org.wcs.model.vo.serve.sys; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class QuerySystemInfoVo { + + /** + * 系统运行时间 + */ + @JsonProperty("systemRunningTime") + private String systemRunningTime; + + /** + * cpu数据 + */ + @JsonProperty("cpuData") + private CpuDataVo cpuData; + + /** + * 内存数据 + */ + @JsonProperty("memoryData") + private MemoryDataVo memoryData; + + /** + * jvm数据 + */ + @JsonProperty("jvmData") + private JvmDataVo jvmData; + + /** + * 服务器数据 + */ + @JsonProperty("serveData") + private ServeDataVo serveData; + + /** + * 磁盘数据 + */ + @JsonProperty("diskData") + private List diskData; + + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/sys/ServeDataVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/sys/ServeDataVo.java new file mode 100644 index 0000000..de79689 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/sys/ServeDataVo.java @@ -0,0 +1,39 @@ +package org.wcs.model.vo.serve.sys; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 服务器数据 + */ +@Setter +@Getter +public class ServeDataVo { + + /** + * 服务器名称 + */ + @JsonProperty("serveName") + private String serveName; + + /** + * 服务器IP + */ + @JsonProperty("serveIp") + private String serveIp; + + /** + * 系统名称 + */ + @JsonProperty("systemName") + private String systemName; + + /** + * 系统版本 + */ + @JsonProperty("systemVersion") + private String systemVersion; + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/ExportAppTrayConveyLocationVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/ExportAppTrayConveyLocationVo.java new file mode 100644 index 0000000..a699fb7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/ExportAppTrayConveyLocationVo.java @@ -0,0 +1,101 @@ +package org.wcs.model.vo.serve.trayConveyLocation; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 导出专用的托盘线点位数据 + */ +@Setter +@Getter +public class ExportAppTrayConveyLocationVo { + + /** + * 主键 + */ + @Excel(name = "记录号") + private String id; + + /** + * 位置id + */ + @Excel(name = "点位编号") + private String locationId; + + /** + * 业务位置id + */ + @Excel(name = "业务点位") + private String businessLocationId; + + /** + * 位置名称 + */ + @Excel(name = "点位名称") + private String locationName; + + /** + * 位置状态 + */ + @Excel(name = "点位状态") + private String locationStatus; + + /** + * 位置类型 + */ + @Excel(name = "点位类型") + private String locationType; + + /** + * 管辖的PLC ID + */ + @Excel(name = "管辖的PLC") + private Integer plcId; + + /** + * 位置坐标 + */ + @Excel(name = "位置坐标") + private String locationXyz; + + /** + * 区域id + */ + @Excel(name = "所属区域") + private String areaId; + + /** + * 读取状态地址 + */ + @Excel(name = "读取状态的地址") + private String readStatusAddress; + + /** + * 写入状态地址 + */ + @Excel(name = "写入任务的地址") + private String writeTaskAddress; + + /** + * 创建时间 + */ + @Excel(name = "创建时间") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Excel(name = "更新时间") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @Excel(name = "备注") + private String remark; +} + diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/QueryTrayConveyLocationVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/QueryTrayConveyLocationVo.java new file mode 100644 index 0000000..f3a113e --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/QueryTrayConveyLocationVo.java @@ -0,0 +1,99 @@ +package org.wcs.model.vo.serve.trayConveyLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 查询托盘输送线 + */ +@Getter +@Setter +public class QueryTrayConveyLocationVo { + + /** + * 主键 + */ + @JsonProperty(value = "id") + private String id; + + /** + * 位置id + */ + @JsonProperty(value = "locationId") + private String locationId; + + /** + * 业务位置id + */ + @JsonProperty(value = "businessLocationId") + private String businessLocationId; + + /** + * 位置名称 + */ + @JsonProperty(value = "locationName") + private String locationName; + + /** + * 位置状态 + */ + @JsonProperty(value = "locationStatus") + private Integer locationStatus; + + /** + * 位置类型 + */ + @JsonProperty(value = "locationType") + private Integer locationType; + + /** + * 管辖的PLC ID + */ + @JsonProperty(value = "plcId") + private Integer plcId; + + /** + * 位置坐标 + */ + @JsonProperty(value = "locationXyz") + private String locationXyz; + + /** + * 区域id + */ + @JsonProperty(value = "areaId") + private String areaId; + + /** + * 读取状态地址 + */ + @JsonProperty(value = "readStatusAddress") + private String readStatusAddress; + + /** + * 写入状态地址 + */ + @JsonProperty(value = "writeTaskAddress") + private String writeTaskAddress; + + /** + * 创建时间 + */ + @JsonProperty(value = "createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty(value = "updateTime") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/TrayConveyStatusVo.java b/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/TrayConveyStatusVo.java new file mode 100644 index 0000000..8945913 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/trayConveyLocation/TrayConveyStatusVo.java @@ -0,0 +1,76 @@ +package org.wcs.model.vo.serve.trayConveyLocation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * 托盘输送机状态 + */ +@Getter +@Setter +public class TrayConveyStatusVo { + + + /** + * 输送机编号 + */ + @JsonProperty(value = "conveyNo") + private Short conveyNo; + + /** + * PLC任务ID + */ + @JsonProperty(value = "plcTaskId") + private Integer plcTaskId; + + /** + * 任务允许 + */ + @JsonProperty(value = "taskAllow") + private Short taskAllow; + + /** + * 控制方式 + */ + @JsonProperty(value = "controlModel") + private Short controlModel; + + /** + * 设备状态 + */ + @JsonProperty(value = "deviceStatus") + private Short deviceStatus; + + /** + * 是否有AGV + */ + @JsonProperty(value = "haveAgv") + private Short haveAgv; + + /** + * 载具尺寸 + */ + @JsonProperty(value = "vehicleSize") + private Short vehicleSize; + + /** + * 载具重量 + */ + @JsonProperty(value = "weight") + private Integer weight; + + /** + * 错误码 + */ + @JsonProperty(value = "errCode") + private Short errCode; + + /** + * 载具编号 + */ + @JsonProperty(value = "vehicleNo") + private String vehicleNo; + +} + diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/user/LoginResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/user/LoginResp.java new file mode 100644 index 0000000..b449051 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/user/LoginResp.java @@ -0,0 +1,61 @@ +package org.wcs.model.vo.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * 登录响应类 + */ +@Getter +@Setter +@NoArgsConstructor +public class LoginResp { + + /** + * 用户名 + */ + @JsonProperty("userId") + private String userId; + + /** + * token + */ + @JsonProperty("token") + private String token; + + /** + * 用户名 + */ + @JsonProperty("userName") + private String userName; + + /** + * 用户等级 + */ + @JsonProperty("userLevel") + private Integer userLevel; + + /** + * 用户组 + */ + @JsonProperty("userGroup") + private String userGroup; + + /** + * 最后登录时间 + */ + @JsonProperty("lastLoginTime") + private LocalDateTime lastLoginTime; + + public LoginResp(String userId, LocalDateTime lastLoginTime, String token) { + this.token = token; + this.lastLoginTime = lastLoginTime; + this.userId = userId; + } + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/user/MinorMenuPermissionSimpleTreeData.java b/wcs/src/main/java/org/wcs/model/vo/serve/user/MinorMenuPermissionSimpleTreeData.java new file mode 100644 index 0000000..ddc6305 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/user/MinorMenuPermissionSimpleTreeData.java @@ -0,0 +1,22 @@ +package org.wcs.model.vo.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class MinorMenuPermissionSimpleTreeData { + + /** + * 菜单ID + */ + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @JsonProperty("menuName") + private String menuName; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserMenuPermissionSimpleTreeResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserMenuPermissionSimpleTreeResp.java new file mode 100644 index 0000000..f7c1e32 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserMenuPermissionSimpleTreeResp.java @@ -0,0 +1,32 @@ +package org.wcs.model.vo.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class QueryUserMenuPermissionSimpleTreeResp { + + /** + * 菜单ID + */ + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @JsonProperty("menuName") + private String menuName; + + /** + * 菜单子项 + */ + @JsonProperty("children") + private List minMenuPermissionSimpleTreeRespList; + +} + diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserResp.java new file mode 100644 index 0000000..c915c6d --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/user/QueryUserResp.java @@ -0,0 +1,83 @@ +package org.wcs.model.vo.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import org.wcs.constant.enums.common.TrueOrFalseEnum; + +import java.time.LocalDateTime; + +/** + * 查询用户信息的响应 + */ +@Getter +@Setter +public class QueryUserResp { + + /** + * 用户ID + */ + @JsonProperty("userId") + private String userId; + + /** + * 用户名称 + */ + @JsonProperty("userName") + private String userName; + + + /** + * 用户状态 + */ + @JsonProperty("userStatus") + private Integer userStatus; + + /** + * 是否在线 + */ + @JsonProperty("online") + private Integer online; + + /** + * 用户级别 + */ + @JsonProperty("userLevel") + private Integer userLevel; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + /** + * 用户组 + */ + @JsonProperty("userGroup") + private String userGroup; + + /** + * 性别 + */ + @JsonProperty("sex") + private Integer sex; + + /** + * 用户头像 + */ + @JsonProperty("photo") + private String photo; + + /** + * 上次登录时间 + */ + @JsonProperty("lastLoginTime") + private LocalDateTime lastLoginTime; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/user/UserPermissionResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/user/UserPermissionResp.java new file mode 100644 index 0000000..a12b532 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/user/UserPermissionResp.java @@ -0,0 +1,56 @@ +package org.wcs.model.vo.serve.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import org.wcs.model.pojo.serve.UserMenuPermission; + +import java.util.List; + +/** + * 用户的权限 + */ +@Getter +@Setter +public class UserPermissionResp { + + /** + * 用户ID + */ + @JsonProperty("userId") + private String userId; + + /** + * 用户名称 + */ + @JsonProperty("userName") + private String userName; + + /** + * 用户组 + */ + @JsonProperty("userGroup") + private String userGroup; + + /** + * 用户等级 + */ + @JsonProperty("userLevel") + private Integer userLevel; + + /** + * 用户组等级 + */ + @JsonProperty("groupLevel") + private Integer groupLevel; + + /** + * 用户菜单权限 + */ + @JsonProperty("userMenuPermission") + private List userMenuPermission; + + + + +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupPermissionResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupPermissionResp.java new file mode 100644 index 0000000..516d816 --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupPermissionResp.java @@ -0,0 +1,66 @@ +package org.wcs.model.vo.serve.userGroup; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryUserGroupPermissionResp { + + /** + * 菜单ID + */ + @JsonProperty("menuId") + private String menuId; + + /** + * 菜单名称 + */ + @JsonProperty("menuName") + private String menuName; + + /** + * 菜单等级 + */ + @JsonProperty("menuLevel") + private Integer menuLevel; + + /** + * 父菜单ID + */ + @JsonProperty("fatherMenuId") + private String fatherMenuId; + + /** + * 菜单状态 + */ + @JsonProperty("menuStatus") + private Integer menuStatus; + + /** + * 菜单图标 + */ + @JsonProperty("menuIco") + private String menuIco; + + /** + * 路由名称 + */ + @JsonProperty("routerName") + private String routerName; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; +} diff --git a/wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupResp.java b/wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupResp.java new file mode 100644 index 0000000..81521ec --- /dev/null +++ b/wcs/src/main/java/org/wcs/model/vo/serve/userGroup/QueryUserGroupResp.java @@ -0,0 +1,50 @@ +package org.wcs.model.vo.serve.userGroup; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +public class QueryUserGroupResp { + + /** + * 用户组 + */ + @JsonProperty("userGroup") + private String userGroup; + + /** + * 用户组名称 + */ + @JsonProperty("groupName") + private String groupName; + + /** + * 用户组等级 + */ + @JsonProperty("groupLevel") + private Integer groupLevel; + + /** + * 用户组状态 + */ + @JsonProperty("groupStatus") + private Integer groupStatus; + + /** + * 创建时间 + */ + @JsonProperty("createTime") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @JsonProperty("updateTime") + private LocalDateTime updateTime; + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/excel/ExcelPoi.java b/wcs/src/main/java/org/wcs/plugin/excel/ExcelPoi.java new file mode 100644 index 0000000..aa37329 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/excel/ExcelPoi.java @@ -0,0 +1,69 @@ +package org.wcs.plugin.excel; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import jakarta.servlet.http.HttpServletResponse; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.List; + +/** + * easypoi导出excel + */ +@Component +public class ExcelPoi { + + /** + * 导出excel + * + * @param fileName 文件名 + * @param response 响应 + * @param list 数据 + * @param clazz 数据类型 + * @param 数据类型 + * @throws IOException IOException + */ + public void doWriteExcel(String fileName, HttpServletResponse response, List list, Class clazz) throws IOException { + ExportParams exportParams = new ExportParams(); + exportParams.setSheetName("sheet1"); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, clazz, list); + setResponseHeaderOfExcel(fileName, response); + workbook.write(response.getOutputStream()); + workbook.close(); + } + + private void setResponseHeaderOfExcel(String fileDesc, HttpServletResponse response) { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + String fileName = URLEncoder.encode(fileDesc, StandardCharsets.UTF_8).replaceAll("\\+", "%20"); + response.setHeader("Content-Disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + } + + /** + * 读取excel + * + * @param file 文件 + * @param clazz 数据类型 + * @param 数据类型 + * @return 数据 + * @throws Exception Exception + */ + public List doReadExcelOnlyHeader(MultipartFile file, Class clazz) throws Exception { + ImportParams importParams = new ImportParams(); + importParams.setHeadRows(1); + return ExcelImportUtil.importExcel(file.getInputStream(), clazz, importParams); + } + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCallBack.java b/wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCallBack.java new file mode 100644 index 0000000..f0aec21 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCallBack.java @@ -0,0 +1,12 @@ +package org.wcs.plugin.lxLed; + +/********************************************************************************************* + * LedServerCallback 动态库回调Java方法,实时告知上下线控制卡 + * Msg 1,有控制卡上线 2。有控制卡下线 + * wParam 暂时没用 + * networkIdStr 控制卡唯一标识 + ********************************************************************************************/ +public interface LxLedCallBack { + public abstract void LedServerCallback(int Msg, int wParam, String networkIdStr); +} + diff --git a/wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCommunication.java b/wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCommunication.java new file mode 100644 index 0000000..3701318 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/lxLed/LxLedCommunication.java @@ -0,0 +1,553 @@ +package org.wcs.plugin.lxLed; + +public class LxLedCommunication { + + static{ + System.loadLibrary("lv_led_64"); + } + + /******************************************************************************************** + * InitLedType 初始化控制卡型号,程序启动,初始化调用一次即可 + *

+ * 参数说明 + * LedType 卡型号 0 T/A/U/XC/W 系列 + 1 E 系列 + 2 X 系列 + 3 C 系列 + + ********************************************************************************************/ + public native static void InitLedType(int LedType); + + /******************************************************************************************** + * CreateProgram 创建节目对象,成功返回节目对象句柄,注意此处屏宽高及颜色参数必需与设置屏参的屏宽高及颜色一致,否则发送时会提示错误 + *

+ * 参数说明 + * LedWidth 屏的宽度 + * LedHeight 屏的高度 + * ColorType 屏的颜色 1.单色 2.双基色 3.三基色 注:C卡全彩参数为3 X系列卡参数固定为 4 + * GrayLevel 灰度等级 赋值 1-5对应的灰度等级分别为 无,4,8,16,32 除C卡外,其它卡传0 + * SaveType 节目保存位置,默认为0保存为flash节目,3保存为ram节目。注:flash节目掉电不清除,ram节目掉电清除。应用场景需要实时刷新的,建议保持为ram节目 + * 返回值 + * 0 创建节目对象失败 + * 非0 创建节目对象成功 + ********************************************************************************************/ + public native static long CreateProgram(int LedWidth,int LedHeight,int ColorType,int GrayLevel,int SaveType); + + /********************************************************************************************* + * AddProgram 添加一个节目 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * ProgramTime 节目播放时长 0.节目播放时长 非0.指定播放时长 + * LoopCount 循环播放次数 1-255 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddProgram(long hProgram,int ProgramNo,int ProgramTime,int LoopCount); + + /********************************************************************************************* + * LV_AddImageTextArea 添加一个图文区域 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * l 区域左上角横坐标 + * t 区域左上角纵坐标 + * w 区域宽度 + * h 区域高度 + * nLayout 区域层号,0.前景区(默认) 1.背景区 注:除C系列,其它默认为1 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddImageTextArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,int nLayout); + + /********************************************************************************************* + * AddFileToImageTextArea 添加一个文件到图文区 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * FilePath 文件路径,支持的文件类型有 txt rtf bmp gif png jpg jpeg tiff + * InStyle 入场特技(取值范围 0-38)具体查看开发文档 + * nSpeed 特技速度 (取值范围1-255)值越大,速度越慢 + * DelayTime 停留时间 (1-65535) 秒 + + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddFileToImageTextArea(long hProgram,int ProgramNo,int AreaNo,String FilePath,int InStyle,int nSpeed,int DelayTime); + + /********************************************************************************************* + * AddMultiLineTextToImageTextArea 添加一个多行文本到图文区 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * AddType 添加的类型 0.为字符串 1.文件(只支持txt和rtf文件) + * AddStr AddType为为字符串数据,AddType为1则为文件路径 换行符(\n) + * FontName 字体名 + * FontSize 字体大小 + * FontColor 字体颜色 格式BBGGRR 0xff 红色 0xff00 绿色 0xffff黄色 + * FontBold 是否加粗 0不加粗 1加粗 + * FontItalic 是否是斜体 0 不斜 1斜 + * FontUnderline 是否下划线 0不加下划线 1加下划线 + * InStyle 入场特技(取值范围 0-38)具体查看开发文档 + * nSpeed 特技速度 (取值范围1-255)值越大,速度越慢 + * DelayTime 停留时间 (1-65535) 秒 注:当入场特技为连续左移、连续右移、连续上移、连续下移时,此参数无效 + * nAlignment 左右居中对齐方式 0.左对齐 1.右对齐 2.水平居中 (注意:只对字符串和txt文件有效) + * IsVCenter 是否垂直居中 0.置顶(默认) 1.垂直居中 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddMultiLineTextToImageTextArea(long hProgram,int ProgramNo,int AreaNo,int AddType,String AddStr,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int InStyle,int nSpeed,int DelayTime,int nAlignment,int IsVCenter); + + /********************************************************************************************* + * AddStaticTextToImageTextArea 添加一个静止文本到图文区 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * AddType 添加的类型 0.为字符串 1.文件(只支持txt和rtf文件) + * AddStr AddType为0则为字符串数据,AddType为1则为文件路径 + * FontName 字体名 + * FontSize 字体大小 + * FontColor 字体颜色 格式BBGGRR 0xff 红色 0xff00 绿色 0xffff黄色 + * FontBold 是否加粗 0不加粗 1加粗 + * FontItalic 是否是斜体 0 不斜 1斜 + * FontUnderline 是否下划线 0不加下划线 1加下划线 + * DelayTime 停留时间 (1-65535) 秒 注:当入场特技为连续左移、连续右移、连续上移、连续下移时,此参数无效 + * nAlignment 左右居中对齐方式 0.左对齐 1.右对齐 2.水平居中 (注意:只对字符串和txt文件有效) + * IsVCenter 是否垂直居中 0.置顶(默认) 1.垂直居中 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddStaticTextToImageTextArea(long hProgram,int ProgramNo,int AreaNo,int AddType,String AddStr,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int DelayTime,int nAlignment,int IsVCenter); + + /********************************************************************************************* + * AddSinglelineTextToImageTextArea 添加一个单行文本到图文区 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * AddType 添加的类型 0.为字符串 1.文件(只支持txt和rtf文件) + * AddStr AddType为0则为字符串数据,AddType为1则为文件路径 + * FontName 字体名 + * FontSize 字体大小 + * FontColor 字体颜色 0xff 红色 0xff00 绿色 0xffff黄色 + * FontBold 是否加粗 0不加粗 1加粗 + * FontItalic 是否是斜体 0 不斜 1斜 + * FontUnderline 是否下划线 0不加下划线 1加下划线 + * InStyle 入场特技(取值范围 0-38)体查看开发文档 + * nSpeed 特技速度 (取值范围1-255)值越大,速度越慢 + * DelayTime 停留时间 (1-65535) 秒 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddSinglelineTextToImageTextArea(long hProgram,int ProgramNo,int AreaNo,int AddType,String AddStr,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int InStyle,int nSpeed,int DelayTime); + + /********************************************************************************************* + * AddSinglelineTextToImageTextArea 添加一个数字时钟区域 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * l 区域左上角横坐标 + * t 区域左上角纵坐标 + * w 区域宽度 + * h 区域高度 + * FontName 字体名 + * FontSize 字体大小 + * FontColor 字体颜色 0xff 红色 0xff00 绿色 0xffff黄色 + * FontBold 是否加粗 0不加粗 1加粗 + * FontItalic 是否是斜体 0 不斜 1斜 + * FontUnderline 是否下划线 0不加下划线 1加下划线 + * IsYear 是否显示年 1为显示 0不显示 下同 + * IsWeek 是否显示星期 + * IsMonth 是否显示月 + * IsDay 是否显示日 + * IsHour 是否显示时 + * IsMinute 是否显示分 + * IsSecond 是否显示秒 + * DateFormat 日期格式 0.YYYY年MM月DD日 1.YY年MM月DD日 2.MM/DD/YYYY 3.YYYY/MM/DD 4.YYYY-MM-DD 5.YYYY.MM.DD 6.MM.DD.YYYY 7.DD.MM.YYYY + * DateColor 日期字体颜色0xff 红色 0xff00 绿色 0xffff黄色 + * WeekFormat 星期格式 0.星期X 1.Monday 2.Mon. + * WeekColor 星期字体颜色0xff 红色 0xff00 绿色 0xffff黄色 + * TimeFormat 时间格式 0.HH时mm分ss秒 1.HH時mm分ss秒 2.HH:mm:ss 3.上午 HH:mm:ss 4.AM HH:mm:ss 5.HH:mm:ss 上午 6.HH:mm:ss AM + * TimeColor 时间字体颜色0xff 红色 0xff00 绿色 0xffff黄色 + * IsMutleLineShow 0 单行 1多行 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddDigitalClockArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int IsYear,int IsWeek,int IsMonth,int IsDay,int IsHour,int IsMinute,int IsSecond,int DateFormat,int DateColor,int WeekFormat,int WeekColor,int TimeFormat,int TimeColor,int IsMutleLineShow); + + /********************************************************************************************* + * AddTimeArea 添加一个计时区域 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * l 区域左上角横坐标 + * t 区域左上角纵坐标 + * w 区域宽度 + * h 区域高度 + * FontName 字体名 + * FontSize 字体大小 + * //FontColor 字体颜色 格式BBGGRR 0xff 红色 0xff00 绿色 0xffff黄色 + * FontBold 是否加粗 0不加粗 1加粗 + * FontItalic 是否是斜体 0 不斜 1斜 + * FontUnderline 是否下划线 0不加下划线 1加下划线 + * TimeColor 时间字体颜色0xff 红色 0xff00 绿色 0xffff黄色 + * TxtColor 自定义文字字体颜色0xff 红色 0xff00 绿色 0xffff黄色 + * ShowStyle 显示格式 0.xx天xx时xx分xx秒 1.xx天xx時xx分xx秒 2.xxDayxxHourxxMinxxSec 3.XXdXXhXXmXXs 4.xx:xx:xx:xx + * IsMutleLineShow 0 单行 1多行 + * TxtStr 自定义文字字符串 + * nYear; 结束年 + * nMonth; 结束月 + * nDay; 结束日 + * nHour; 结束时 + * nMinute; 结束分 + * nSecond; 结束秒 + * IsShowDay; 是否显示天 + * IsShowHour; 是否显示时 + * IsShowMinute; 是否显示分 + * IsShowSecond; 是否显示秒 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddTimeArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,String FontName,int FontSize,int FontBold,int FontItalic,int FontUnderline,int TimeColor,int TxtColor,int ShowStyle,int IsMutleLineShow,String TxtStr,int nYear,int nMonth,int nDay,int nHour,int nMinute,int nSecond,int IsShowDay,int IsShowHour,int IsShowMinute,int IsShowSecond); + + /********************************************************************************************* + * AddVoiceArea 添加一个语音区域 (文本中可以加入文本控制标记来对语音合成发音人、音量、语速、语调等的设置,文本控制标记请查看语音协议) + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * VoiceStr; 文本 + * DelayTime; 间隔时间 + * PlayCount; 播放次数 (取值范围1-255) + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddVoiceArea(long hProgram,int ProgramNo,int AreaNo,String VoiceStr,int DelayTime,int PlayCount); + + /********************************************************************************************* + * LV_RefreshVoiceArea 刷新语音区域 + *

+ * 参数说明 + * IpStr LED屏IP 格式例如 192.168.1.100 / 广域网开发时,指定LED屏网络唯一ID + * NeiMaStr 刷新的数据字符串,格式可以查看<<语音区域局部更新协议>>文档 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int RefreshVoiceArea(String IpStr, String NeiNaStr); + + + /********************************************************************************************* + * AddNeiMaArea 添加一个内码区域 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * l 区域左上角横坐标 + * t 区域左上角纵坐标 + * w 区域宽度 + * h 区域高度 + * NeiMaStr 字符串 + * FontSize 字体大小 16 24 32 + * FontColor 字体颜色 格式BBGGRR 0xff 红色 0xff00 绿色 0xffff黄色 + * InStyle 入场特技 (取值范围 0-9)具体值如下: + * 0=立即显示 + * 1=随机 + * 2=左移 + * 3=右移 + * 4=上移 + * 5=下移 + * 6=连续左移 + * 7=连续右移 + * 8=连续上移 + * 9=连续下移 + * nSpeed 特技速度 (取值范围1-255) 值越大,速度则越慢 + * DelayTime 停留时间 (1-65535) 注:当入场特技为连续左移、连续右移、连续上移、连续下移时,此参数无效 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddNeiMaArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,String NeiMaStr,int FontSize,int FontColor,int InStyle,int nSpeed,int DelayTime); + + /********************************************************************************************* + * LV_RefreshNeiMaArea 刷新内码区域 + *

+ * 参数说明 + * IpStr LED屏IP 格式例如 192.168.1.100 / 广域网开发时,指定LED屏网络唯一ID + * NeiMaStr 刷新的数据字符串,格式可以查看<<内码区域局部更新协议>>文档 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int RefreshNeiMaArea(String IpStr, String NeiNaStr); + + /********************************************************************************************* + * DeleteProgram 销毁节目对象(注意:如果此节目对象不再使用,请调用此函数销毁,否则会造成内存泄露) + *

+ * 参数说明 + * hProgram 节目对象句柄 + ********************************************************************************************/ + public native static void DeleteProgram(long hProgram); + + /********************************************************************************************* + * NetWorkSend 发送节目,此发送为一对一发送 + *

+ * 参数说明 + * IpStr LED屏IP 格式例如 192.168.1.100 / 广域网开发时,指定LED屏网络唯一ID + * hProgram 节目对象句柄 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int NetWorkSend(String IpStr,long hProgram); + + /********************************************************************************************* + * SetBasicInfo 设置基本屏参 + *

+ * 参数说明 + * IpStr LED屏的IP 格式例如 192.168.1.100 + * ColorType 屏的颜色 1.单色 2.双基色 3.三基色 注:C卡全彩参数为3 X系列卡参数固定4 + * GrayLevel 灰度等级, 赋值 1-5对应的灰度等级分别为 无,4,8,16,32 + * LedWidth 屏的宽度点数 + * LedHeight 屏的高度点数 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int SetBasicInfo(String IpStr,int ColorType,int GrayLevel,int LedWidth,int LedHeight); + + /********************************************************************************************* + * SetOEDA 设置OE DA + *

+ * 参数说明 + * IpStr LED屏的IP + * Oe OE 0.低有效 1.高有效 + * Da DA 0.负极性 1.正极性 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int SetOEDA(String IpStr,int Oe,int Da); + + /********************************************************************************************* + * AdjustTime 校时 + *

+ * 参数说明 + * IpStr LED屏的IP + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AdjustTime(String IpStr); + + /********************************************************************************************* + * PowerOnOff 开关屏 + *

+ * 参数说明 + * IpStr LED屏的IP + * OnOff 开关值 0.开屏 1.关屏 2.重启 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int PowerOnOff(String IpStr,int OnOff); + + /********************************************************************************************* + * TimePowerOnOff 定时开关屏 + *

+ * 参数说明 注:当参数起始时间和结束时间都都为0时,既是取消定时开关屏 + * IpStr LED屏的IP + * StartHour 起始小时 + * StartMinute 起始分钟 + * EndHour 结束小时 + * EndMinute 结束分钟 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int TimePowerOnOff(String IpStr,int StartHour,int StartMinute,int EndHour,int EndMinute); + + /********************************************************************************************* + * SetBrightness 设置亮度 + *

+ * 参数说明 + * IpStr LED屏的IP + * BrightnessValue 亮度值 0~15 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int SetBrightness(String IpStr,int BrightnessValue); + + /********************************************************************************************* + * TestOnline LED测试通讯是否正常 + *

+ * 参数说明 + * IpStr LED屏的IP + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int TestOnline(String IpStr); + + /********************************************************************************************* + * LedInitServer 启动控制卡心跳包服务。注:C2M C4M才支持 + *

+ * 参数说明 + * port 监听的端口 + * 返回值 + * 0 成功 + * 非0 失败,调用LV_GetError来获取错误信息 + ********************************************************************************************/ + public native static int LedInitServer(int port); + + /********************************************************************************************* + * LedShudownServer 断开控制卡心跳包服务。注:C2M C4M才支持 + ********************************************************************************************/ + public native static int LedShudownServer(); + + /********************************************************************************************* + * RegisterLedServerCallback 注册回调,动态库才会调用LedServerCallback,实时告知上下线控制卡。注:C2M C4M才支持 + * cb 回调对象 + ********************************************************************************************/ + public native static void RegisterLedServerCallback(LxLedCallBack cb); + + /********************************************************************************************* + * AddBorder 添加一个边框 + *

+ * 参数说明 + * hProgram 节目对象句柄 + * ProgramNo 节目号 (取值范围0-255)(从0开始) + * AreaNo 区域号 (取值范围1-255) + * l 区域左上角横坐标 + * t 区域左上角纵坐标 + * w 区域宽度 + * h 区域高度 + * BorderType 边框类型 0:单色 1:炫色 2:全彩 + * BorderValue 边框的值 具体可参考PC客户端软件对应的选项 + * BorderColor 边框颜色 只有单色才可设置颜色 + * BorderStyle 边框特技 0:固定 1:顺时针 2:逆时针 3: 闪烁 + * BorderSpeed 边框速度 0-31 越大越慢 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int AddBorder(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,int BorderType, int BorderValue, int BorderColor, int BorderStyle, int BorderSpeed); + + /********************************************************************************************* + * SetLedCommunicationParameter 设置LED屏的网络信息 + *

+ * 参数说明 + * IpStr LED屏的IP + * NewIp LED屏的新IP + * NewNetMask LED屏的新子网掩码 + * NewGateway LED屏的新网关 + * NewMac LED屏的新mac地址 + * IsClient 1为启动客户端模式 0为不起动 //当为0时,以下参数设置为0 + * ServerIp 服务器IP + * ServerPort 端口 + * IsDHCP 1自动分配 0手动配置 + * IsHeartBeat 1启动心跳包 0不起动心跳包 + * HeartBeatTime LED心跳包时间 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + + public native static int SetLedCommunicationParameter(String IpStr,String NewIp,String NewNetMask,String NewGateway,String NewMac,int IsClient,String ServerIp,int ServerPort,int IsDHCP,int IsHeartBeat,int HeartBeatTime); + + /********************************************************************************************* + * SetLedServerInfo 设置LED屏的服务器信息 + *

+ * 参数说明 + * IpStr LED屏的IP + * IsClient 1为启动客户端模式 0为不启动(当前带有广域网功能的卡默认为启动) + * ServerIp 服务器IP + * ServerPort 端口 + * HeartBeatTime LED心跳包时间(最小20秒) + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + + public native static int SetLedServerInfo(String IpStr,int IsClient,String ServerIp,int ServerPort,int HeartBeatTime); + + /********************************************************************************************* + * GetErrorCodeInfo 获取错误信息 + * 参数说明 + * nErrCode 错误码 + * 返回值 + * 返回错误信息 + ********************************************************************************************/ + public native static String GetErrorCodeInfo(int nErrCode); + + + + /********************************************************************************************* + * SetRelay 设置LED屏的继电器信息 C8 T8支持 + *

+ * 参数说明 + * IpStr LED屏的IP + * type 控制模式 0:手动模式 1:定时模式 + * manualSwitch 手动模式时的开关值 0:关 1:开 + * flag1 定时模式的第一组时间标志 0:无效 1:有效 + * startTime1 定时模式的第一组起始时间,格式如:"12:00:00" + * endTime1 定时模式的第一组结束时间,格式如:"13:59:59" + * flag2 定时模式的第二组时间标志 0:无效 1:有效 + * startTime2 定时模式的第二组起始时间,格式如:"14:00:00" + * endTime2 定时模式的第二组结束时间,格式如:"15:59:59" + * flag3 定时模式的第三组时间标志 0:无效 1:有效 + * startTime3 定时模式的第三组起始时间,格式如:"16:00:00" + * endTime3 定时模式的第三组结束时间,格式如:"17:59:59" + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + + public native static int SetRelay(String IpStr, int type,int manualSwitch, int flag1, String startTime1, String endTime1 , int flag2,String startTime2,String endTime2, int flag3,String startTime3,String endTime3); + + + + /********************************************************************************************* + * SetProgramTime 设置节目为定时节目 + *

+ * 参数说明 + * hProgram 节目句柄 + * ProgramNo 节目ID + * EnableFlag 启用定时的标记,ENABLE_DATE为启用日期,ENABLE_TIME为启用时间,ENABLE_WEEK为启用星期,可用或运算进行组合,如 ENABLE_DATE | ENABLE_TIME | ENABLE_WEEK + * WeekValue 启用星期后,选择要定时的星期里的某些天,用宏 WEEK_MON,WEEK_TUES,WEEK_WEN,WEEK_THUR,WEEK_FRI,WEEK_SAT,WEEK_SUN 通过或运算进行组合 + * 其他参数 起始年月日时分秒和结束年月日时分秒 + * 返回值 + * 0 成功 + * 非0 失败 + ********************************************************************************************/ + public native static int SetProgramTime(int hProgram, int ProgramNo, int EnableFlag,int WeekValue, int StartYear, int StartMonth, int StartDay,int StartHour, int StartMinute, int StartSecond, int EndYear, int EndMonth, int EndDay, int EndHour, int EndMinute, int EndSecond); + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/PlcCommunicationFactory.java b/wcs/src/main/java/org/wcs/plugin/plc/PlcCommunicationFactory.java new file mode 100644 index 0000000..449e835 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/PlcCommunicationFactory.java @@ -0,0 +1,133 @@ +package org.wcs.plugin.plc; + +import org.springframework.data.redis.core.StringRedisTemplate; +import org.wcs.constant.enums.database.PlcTypeEnum; +import org.wcs.mapper.intf.AppBasePlcService; +import org.wcs.model.bo.tuple.Tuple3; +import org.wcs.model.po.app.AppBasePlc; +import org.wcs.plugin.plc.common.PlcCommonData; +import org.wcs.plugin.plc.communication.IPlcCommunication; +import org.wcs.plugin.plc.communication.PlcSiemensCommunication; +import org.wcs.plugin.plc.model.SiemensDBAddress; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.SpringUtils; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class PlcCommunicationFactory { + + + /** + * PLC通讯对象 + */ + private static Map plcCommunicationMap; + + /** + * PLCID + */ + private static Map plcIdMap; + + + + /** + * 注册PLC + */ + public static void registerPlcCommunication() { + setPlcCommunicationMap(); // 加载PLC通讯对象 + setPlcIdMap(); // 加载PLCID和PLC类型的对应关系 + } + + /** + * 通过PLC类型获取PLC通讯对象 + * + * @param plcType PLC类型 + * @return PLC通讯对象 --- 若不存在则返回西门子方法 + */ + public static IPlcCommunication getPlcCommunicationByPlcType(Integer plcType) { + registerPlcCommunication(); + IPlcCommunication iPlcCommunication; + if (plcCommunicationMap.containsKey(plcType)) { + iPlcCommunication = plcCommunicationMap.get(plcType); + } else { + iPlcCommunication = new PlcSiemensCommunication(); + } + iPlcCommunication.initialize(); // 调用初始化方法 + return iPlcCommunication; + } + + /** + * 通过PLCID获取PLC通讯对象 + * + * @param plcId PLCID + * @return PLC通讯对象 --- 若不存在则返回西门子方法 + */ + public static IPlcCommunication getPlcCommunicationByPlcId(Integer plcId) { + registerPlcCommunication(); + if(plcId == null) { + return getPlcCommunicationByPlcType(PlcTypeEnum.SIEMENS.getCode()); + } + if(plcIdMap.containsKey(plcId)) { + return getPlcCommunicationByPlcType(plcIdMap.get(plcId)); + } + return getPlcCommunicationByPlcType(PlcTypeEnum.SIEMENS.getCode()); + } + + + /** + * 获取西门子方法 + * + * @return 西门子方法 + */ + public static IPlcCommunication siemens() { + return getPlcCommunicationByPlcType(PlcTypeEnum.SIEMENS.getCode()); + } + + + /* ****************************** 初始化时加载数据方法 ************************************** */ + + /** + * 加载PLC通讯对象 + */ + private static void setPlcCommunicationMap() { + if(plcCommunicationMap == null) { + plcCommunicationMap = new HashMap<>(); + } + if(!plcCommunicationMap.isEmpty()) { + return; + } + // 添加西门子方法 + IPlcCommunication plcCommunication = new PlcSiemensCommunication(); + plcCommunicationMap.put(PlcTypeEnum.SIEMENS.getCode(), plcCommunication); + } + + /** + * 加载PLCID + */ + private static void setPlcIdMap() { + if(plcIdMap == null) { + plcIdMap = new HashMap<>(); + } + if(!plcIdMap.isEmpty()) { + return; + } + AppBasePlcService bean = SpringUtils.getBean(AppBasePlcService.class); + List basePlcs = bean.queryAll(); + if(basePlcs == null) { + return; + } + if(basePlcs.isEmpty()) { + plcIdMap.put(0, 0); + return; + } + for (AppBasePlc basePlc : basePlcs) { + plcIdMap.put(basePlc.getPlcId(), basePlc.getPlcType()); + } + } + + /* ****************************** 初始化时加载数据方法 END ************************************** */ + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/common/PlcCommonData.java b/wcs/src/main/java/org/wcs/plugin/plc/common/PlcCommonData.java new file mode 100644 index 0000000..0d18c92 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/common/PlcCommonData.java @@ -0,0 +1,9 @@ +package org.wcs.plugin.plc.common; + +public class PlcCommonData { + + /** + * 存储DB信息的 redis key + */ + public static final String PLC_DB_ADDRESS_REDIS_KEY = "WCS:PLC:DBAddress"; +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/communication/IPlcCommunication.java b/wcs/src/main/java/org/wcs/plugin/plc/communication/IPlcCommunication.java new file mode 100644 index 0000000..d30cf8b --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/communication/IPlcCommunication.java @@ -0,0 +1,100 @@ +package org.wcs.plugin.plc.communication; + +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.plugin.plc.model.*; + +import java.util.List; +import java.util.Map; + +/** + * PLC通讯接口 + */ +public interface IPlcCommunication { + + /** + * 初始化 --- 当操作被绑定到指定PLC时都会调用一次此方法 + */ + void initialize(); + + /** + * 获取指定堆垛机状态 + * @param stackerId 堆垛机ID + * @return 堆垛机状态 <错误信息,堆垛机状态> + */ + Tuple2 readStackerStatus(Integer stackerId); + + /** + * 写入堆垛机任务 + * @param stackerId 堆垛机ID + * @param task 任务 + * @return 响应结果 + */ + String writeStackerTask(Integer stackerId, StackerTask... task); + + /** + * 批量获取指定堆垛机任务状态 + * @param stackerId 堆垛机ID + * @return 堆垛机状态 + */ + Map readStackerTaskStatus(Integer stackerId); + + /** + * 清空指定堆垛机任务状态 + * @param stackerId 堆垛机ID + * @param taskIndex 任务索引 + * @return 响应结果 + */ + String clearStackerTaskStatus(Integer stackerId, Integer taskIndex); + + /** + * 获取指定输送机任务状态 + * @param conveyId 输送机ID + * @return 输送机状态 + */ + Tuple2 readTaskConveyStatus(String conveyId); + + /** + * 批量获取指定输送机任务状态 + * @param conveyId 输送机ID + * @return 输送机状态 + */ + Tuple2> readTaskMultiConveyStatus(String conveyId); + + /** + * 写入输送机任务 + * @param conveyId 输送机编号 + * @param task 任务 + * @return 写入结果 + */ + String writeTaskConveyTask(String conveyId, TaskConveyTask task); + + /** + * 读取扫描器信息 + * @param scannerId 扫描器编号 + * @return 扫描器信息 + */ + Tuple2 readScannerInfo(String scannerId); + + /** + * 写入扫描器任务 + * @param scannerId 扫描器编号 + * @param task 任务 + * @return 写入结果 + */ + String writeScannerTask(String scannerId, ScanTask task); + + /** + * 写入指定名称的值 ---- 仅适用于 Siemens PLC DB表里的数据 + * @param name 名称 + * @param value 值 + * @return 写入结果 + */ + String writeWithName(String name, Object value); + + /** + * 读取指定名称的值 ---- 仅适用于 Siemens PLC DB表里的数据 + * @param name 名称 + * @return 值 + */ + Tuple2 readWithName(String name); +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java b/wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java new file mode 100644 index 0000000..242bd1e --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java @@ -0,0 +1,635 @@ +package org.wcs.plugin.plc.communication; + +import HslCommunication.Authorization; +import HslCommunication.Core.Types.OperateResult; +import HslCommunication.Core.Types.OperateResultExOne; +import HslCommunication.Profinet.Siemens.SiemensPLCS; +import HslCommunication.Profinet.Siemens.SiemensS7Net; +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.wcs.constant.enums.plc.StackerTaskTypeEnum; +import org.wcs.mapper.intf.AppBasePlcService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.bo.tuple.Tuple3; +import org.wcs.model.po.app.AppBasePlc; +import org.wcs.plugin.plc.common.PlcCommonData; +import org.wcs.plugin.plc.constant.PlcConfig; +import org.wcs.plugin.plc.constant.PlcStackerTaskStatusEnum; +import org.wcs.plugin.plc.constant.PlcTypeEnum; +import org.wcs.plugin.plc.model.*; +import org.wcs.utils.AppListUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.SpringUtils; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.nio.charset.StandardCharsets; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 西门子PLC通讯类 + */ +@Slf4j +public class PlcSiemensCommunication implements IPlcCommunication { + + private boolean isActive = false; // 是否已经初始化 + private Map plcS7Net = new ConcurrentHashMap<>(); // PLC 读写操作map + private Map plcIsConnect = new ConcurrentHashMap<>(); + + + /** + * 存储plc基础信息 + * + */ + private Map plcBaseInfoMap = new ConcurrentHashMap<>(); + + /** + * redis 数据操作类 + */ + private StringRedisTemplate stringRedisTemplate; + + + + /** + * 初始化 + */ + @Override + public void initialize() { + if(isActive) { + return; + } else { + if (Authorization.SetAuthorizationCode("df8e8eee-4039-4e61-9517-9c617737dd1a")){ + log.info("HslCommunication 组件组册成功!"); + isActive = true; + } + else { + log.info("HslCommunication 组件组册失败,当前应用只能连续使用24小时,请联系本公司"); + } + } + setPlcInfo(); // 设置PLC信息 + setPlcS7Net(); // 设置PLC连接 + } + + /** + * 设置PLC信息 + */ + private void setPlcInfo() { + if(!plcBaseInfoMap.isEmpty()) { + return; + } + plcBaseInfoMap = new HashMap<>(); + AppBasePlcService bean = SpringUtils.getBean(AppBasePlcService.class); + List basePlcs = bean.queryAll(); + if(basePlcs == null) { + return; + } + if(basePlcs.isEmpty()) { + plcBaseInfoMap.put(0, null); + return; + } + for (AppBasePlc basePlc : basePlcs) { + PlcBaseInfo baseInfo = new PlcBaseInfo(); + baseInfo.setPlcId(basePlc.getPlcId()); + baseInfo.setPlcName(basePlc.getPlcName()); + baseInfo.setPlcType(basePlc.getPlcType()); + baseInfo.setPlcVersion(basePlc.getPlcVersion()); + baseInfo.setPlcStatus(basePlc.getPlcStatus()); + baseInfo.setIp(basePlc.getIp()); + baseInfo.setPort(basePlc.getPort()); + baseInfo.setSlot(basePlc.getSlot()); + baseInfo.setRack(basePlc.getRack()); + plcBaseInfoMap.put(baseInfo.getPlcId(), baseInfo); + } + } + + + /** + * 设置PLC连接 + */ + private void setPlcS7Net() { + if(!plcS7Net.isEmpty()) { + return; + } + plcS7Net = new HashMap<>(); // 初始化PLC连接 + plcBaseInfoMap.forEach((plcId, plcBaseInfo) -> { + if(!Objects.equals(plcBaseInfo.getPlcType(), PlcTypeEnum.SIEMENS.getCode())) { + return; + } + SiemensPLCS plcVersion = switch (plcBaseInfo.getPlcVersion()) { + case "S200" -> SiemensPLCS.S200; + case "S200Smart" -> SiemensPLCS.S200Smart; + case "S1500" -> SiemensPLCS.S1500; + case "S300" -> SiemensPLCS.S300; + case "S400" -> SiemensPLCS.S400; + default -> SiemensPLCS.S1200; + }; + SiemensS7Net siemensS7Net = new SiemensS7Net(plcVersion, plcBaseInfo.getIp()); + siemensS7Net.setPort(plcBaseInfo.getPort()); + siemensS7Net.setRack(plcBaseInfo.getRack().byteValue()); + siemensS7Net.setSlot(plcBaseInfo.getSlot().byteValue()); + siemensS7Net.setConnectTimeOut(2000); + OperateResult operateResult = siemensS7Net.ConnectServer(); + plcS7Net.put(plcId, siemensS7Net); + plcIsConnect.put(plcId, operateResult.IsSuccess); + }); + } + + + /** + * 查找该地址的信息 + * @return < 异常信息,DB地址,plc连接实例> + */ + private Tuple3 getDbPlcData(String dbName) { + if(stringRedisTemplate == null) { + stringRedisTemplate = SpringUtils.getBean(StringRedisTemplate.class); + } + String dbJson = stringRedisTemplate.opsForValue().get(PlcCommonData.PLC_DB_ADDRESS_REDIS_KEY + ":" + dbName); + if(AppStringUtils.isEmpty(dbJson)) { + return new Tuple3<>("PLC数据库地址不存在,名称:" + dbName, null, null); + } + SiemensDBAddress siemensDBAddress = AppStringUtils.stringToObject(dbJson, SiemensDBAddress.class); + if(siemensDBAddress == null) { + return new Tuple3<>("DB名称对应的地址不存在,名称:" + dbName, null, null); + } + SiemensS7Net siemensS7Net = plcS7Net.get(siemensDBAddress.getPlcId()); + if(siemensS7Net == null) { + return new Tuple3<>("PLC连接不存在,PLC编号:" + siemensDBAddress.getPlcId(), null, null); + } + Boolean isConnected = plcIsConnect.get(siemensDBAddress.getPlcId()); + if(isConnected == null || !isConnected) { + OperateResult operateResult = siemensS7Net.ConnectServer(); + plcIsConnect.put(siemensDBAddress.getPlcId(), operateResult.IsSuccess); + } + return new Tuple3<>(null, siemensDBAddress.getDbAddress(), siemensS7Net); + } + + /** + * 获取堆垛机状态 + * @param stackerId 堆垛机ID + * @return 堆垛机状态 + */ + @Override + public Tuple2 readStackerStatus(Integer stackerId) { + String dbName = "*堆垛机状态" + stackerId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return new Tuple2<>(plcData.item1, null); + } + SiemensS7Net siemensS7Net = plcData.item3; + OperateResultExOne readResult = siemensS7Net.Read(plcData.item2, (short)50); + if(!readResult.IsSuccess) { + return new Tuple2<>(readResult.Message, null); + } + byte[] readBytes = readResult.Content; // 读到的数据 + StackerStatus stackerStatus = new StackerStatus(); + stackerStatus.setPlcTaskId(siemensS7Net.getByteTransform().TransInt32(readBytes, 0)); // PLC任务ID + stackerStatus.setControlModel(siemensS7Net.getByteTransform().TransInt16(readBytes, 4)); // 控制模式 + stackerStatus.setDeviceStatus(siemensS7Net.getByteTransform().TransInt16(readBytes, 6)); // 设备状态 + stackerStatus.setLaneId(siemensS7Net.getByteTransform().TransInt16(readBytes, 8)); // 当前巷道 + stackerStatus.setLRow(siemensS7Net.getByteTransform().TransInt16(readBytes, 10)); // 当前排 + stackerStatus.setLLine(siemensS7Net.getByteTransform().TransInt16(readBytes, 12)); // 当前列 + stackerStatus.setLLayer(siemensS7Net.getByteTransform().TransInt16(readBytes, 14)); // 当前层 + stackerStatus.setLDepth(siemensS7Net.getByteTransform().TransInt16(readBytes, 16)); // 当前深度 + stackerStatus.setCode1(siemensS7Net.getByteTransform().TransInt32(readBytes, 18)); // 码1 + stackerStatus.setErrCode(siemensS7Net.getByteTransform().TransInt16(readBytes, 22)); // 错误码 + stackerStatus.setCode2(siemensS7Net.getByteTransform().TransInt32(readBytes, 44)); // 码2 + return new Tuple2<>(null, stackerStatus); + } + + /** + * 写入堆垛机任务 + * + * @param stackerId 堆垛机ID + * @param task 堆垛机任务 + * @return 写入结果 + */ + @Override + public String writeStackerTask(Integer stackerId, StackerTask... task) { + if(stackerId == null || task == null || task.length < 1) { + return "传入的参数不正确"; + } + String dbName = "*堆垛机写任务" + stackerId; + String taskConfirmDbName = "*堆垛机写任务确认" + stackerId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return plcData.item1; + } + Tuple3 plcDataTaskConfirm = getDbPlcData(taskConfirmDbName); + if(AppStringUtils.isNotEmpty(plcDataTaskConfirm.item1)) { + return plcDataTaskConfirm.item1; + } + String[] writeTaskDbs = plcData.item2.split(";"); + if(writeTaskDbs.length != task.length) { + return "传入的任务数量与堆垛机接受的任务数量不一致"; + } + SiemensS7Net siemensS7Net = plcData.item3; + boolean isWrite = false; // 是否写入任务 + for (int i = 0; i < task.length; i++) { + StackerTask stackerTask = task[i]; + if(stackerTask == null) { + continue; + } + /* 根据位置和任务类型转换排数据 */ + switch (StackerTaskTypeEnum.getByCode(Integer.valueOf(stackerTask.getTaskType()))) { + case StackerTaskTypeEnum.ERROR: + stackerTask.setGetRow((short)(stackerTask.getGetRow() - task.length + i + 1)); + stackerTask.setSetRow((short)(stackerTask.getSetRow() - task.length + i + 1)); + break; + case StackerTaskTypeEnum.IN: + stackerTask.setGetRow((short)(stackerTask.getGetRow() - task.length + i + 1)); + break; + case StackerTaskTypeEnum.OUT: + stackerTask.setSetRow((short)(stackerTask.getSetRow() - task.length + i + 1)); + break; + case StackerTaskTypeEnum.MOVE: + break; + case null: + return "不支持的堆垛机任务类型"; + } + List bytes = new ArrayList<>(); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getPlcTaskId()))); // plc 任务号 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getTaskType()))); // 任务类型 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getGetStand()))); // 取货站台 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getGetLaneId()))); // 取货巷道 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getSetLaneId()))); // 卸货巷道 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getSetStand()))); // 卸货站台 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getGetRow()))); // 取货排 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getGetLine()))); // 取货列 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getGetLayer()))); // 取货层 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getGetDepth()))); // 取货深度 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getSetRow()))); // 放货排 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getSetLine()))); // 放货列 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getSetLayer()))); // 放货层 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getSetDepth()))); // 放货深度 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getVehicleSize()))); // 货尺寸 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getWeight()))); // 货重量 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(stackerTask.getVehicleNo()))); // 载具号 + // 写入任务 + OperateResult operateResult = siemensS7Net.Write(writeTaskDbs[i], AppListUtils.transfer(bytes)); + if (!operateResult.IsSuccess) { + return operateResult.Message; + } + isWrite = true; + } + if(!isWrite) { + return "没有写入任务,请检查是否传入的任务都为空"; + } + if(AppStringUtils.isNotEmpty(plcDataTaskConfirm.item2)) { + // 写入任务确认 + OperateResult operateResult = plcDataTaskConfirm.item3.Write(plcDataTaskConfirm.item2, (short) 1); + if (!operateResult.IsSuccess) { + return operateResult.Message; + } + } + return null; + } + + /** + * 获取堆垛机任务状态 + * @param stackerId 堆垛机ID + * @return 堆垛机任务状态 + */ + @Override + public Map readStackerTaskStatus(Integer stackerId) { + if(stackerId == null) { + return null; + } + String dbName = "*堆垛机过账区" + stackerId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return null; + } + SiemensS7Net siemensS7Net = plcData.item3; + OperateResultExOne readResult = siemensS7Net.Read(plcData.item2, (short)(PlcConfig.PLC_CONFIG_CHECK_ACCOUNT_LENGTH * 6)); + if(!readResult.IsSuccess) { + return null; + } + byte[] bytes = readResult.Content; + Map taskStatusMap = new HashMap<>(); + for (int i = 0; i < PlcConfig.PLC_CONFIG_CHECK_ACCOUNT_LENGTH; i++) { + PlcStackerTaskStatus taskStatusItem = new PlcStackerTaskStatus(); + int taskId = siemensS7Net.getByteTransform().TransInt32(bytes, i*6); + short taskStatus = siemensS7Net.getByteTransform().TransInt16(bytes, 4 + i*6); + taskStatusItem.setTaskId(taskId); + taskStatusItem.setStackerTaskStatusEnum(PlcStackerTaskStatusEnum.getByCode((int) taskStatus)); + taskStatusMap.put(i, taskStatusItem); + } + return taskStatusMap; + } + + /** + * 清除任务状态 + * @param stackerId 堆垛机ID + * @param taskIndex 任务索引 + * @return 清除结果 + */ + @Override + public String clearStackerTaskStatus(Integer stackerId, Integer taskIndex) { + if(stackerId == null || taskIndex == null) { + return "传入的参数存在问题"; + } + String dbName = "*堆垛机过账区" + stackerId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return plcData.item1; + } + SiemensS7Net siemensS7Net = plcData.item3; + String dbAddress = plcData.item2; + if(AppStringUtils.isEmpty(dbAddress)) { + return "过账区地址不正确"; + } + String[] addressDetails = dbAddress.split("\\."); + if(addressDetails.length != 2) { + return "过账区地址不正确"; + } + String dbAddressHeader = addressDetails[0]; + int dbAddressSuffix = Integer.parseInt(addressDetails[1]); + int newDbAddressSuffix = dbAddressSuffix + taskIndex * 6; + String newDbAddress = dbAddressHeader + "." + newDbAddressSuffix; + OperateResult operateResult = siemensS7Net.Write(newDbAddress, (int)0); + if(!operateResult.IsSuccess) { + return operateResult.Message; + } + return null; + } + + /** + * 获取任务输送机状态 + * @param conveyId 输送机ID + * @return 输送机状态 + */ + @Override + public Tuple2 readTaskConveyStatus(String conveyId) { + String dbName = "*输送机状态" + conveyId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return new Tuple2<>(plcData.item1, null); + } + SiemensS7Net siemensS7Net = plcData.item3; + OperateResultExOne readResult = siemensS7Net.Read(plcData.item2, (short)(22 + PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH)); + if(!readResult.IsSuccess) { + return new Tuple2<>(readResult.Message, null); + } + byte[] readBytes = readResult.Content; // 读到的数据 + TaskConveyStatus taskConveyStatus = new TaskConveyStatus(); + taskConveyStatus.setConveyNo(siemensS7Net.getByteTransform().TransInt16(readBytes, 0)); // 输送机编号 + taskConveyStatus.setPlcTaskId(siemensS7Net.getByteTransform().TransInt32(readBytes, 2)); // plc任务号 + taskConveyStatus.setTaskAllow(siemensS7Net.getByteTransform().TransInt16(readBytes, 6)); // 任务允许 + taskConveyStatus.setControlModel(siemensS7Net.getByteTransform().TransInt16(readBytes, 8)); // 控制模式 + taskConveyStatus.setDeviceStatus(siemensS7Net.getByteTransform().TransInt16(readBytes, 10)); // 设备状态 + taskConveyStatus.setSensor(siemensS7Net.getByteTransform().TransInt16(readBytes, 12)); + taskConveyStatus.setVehicleSize(siemensS7Net.getByteTransform().TransInt16(readBytes, 14)); // 货尺寸 + taskConveyStatus.setWeight(siemensS7Net.getByteTransform().TransInt32(readBytes, 16)); // 货重量 + taskConveyStatus.setErrCode(siemensS7Net.getByteTransform().TransInt16(readBytes, 20)); // 错误码 + taskConveyStatus.setVehicleNo(siemensS7Net.getByteTransform().TransString(readBytes, 22, PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, StandardCharsets.US_ASCII)); // 载具号 + return new Tuple2<>(null, taskConveyStatus); + } + + /** + * 获取任务输送机状态 ---- 同时获取多个 + * @param conveyId 输送机ID + * @return 输送机状态列表 + */ + @Override + public Tuple2> readTaskMultiConveyStatus(String conveyId) { + String dbName = "*输送机状态" + conveyId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return new Tuple2<>(plcData.item1, null); + } + SiemensS7Net siemensS7Net = plcData.item3; + List taskConveyStatusList = new ArrayList<>(); + String[] dbAddresses = plcData.item2.split(";"); + for (String address : dbAddresses) { + OperateResultExOne readResult = siemensS7Net.Read(address, (short)(22 + PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH)); + if(!readResult.IsSuccess) { + return new Tuple2<>(readResult.Message, null); + } + byte[] readBytes = readResult.Content; // 读到的数据 + TaskConveyStatus taskConveyStatus = new TaskConveyStatus(); + taskConveyStatus.setConveyNo(siemensS7Net.getByteTransform().TransInt16(readBytes, 0)); // 输送机编号 + taskConveyStatus.setPlcTaskId(siemensS7Net.getByteTransform().TransInt32(readBytes, 2)); // plc任务号 + taskConveyStatus.setTaskAllow(siemensS7Net.getByteTransform().TransInt16(readBytes, 6)); // 任务允许 + taskConveyStatus.setControlModel(siemensS7Net.getByteTransform().TransInt16(readBytes, 8)); // 控制模型 + taskConveyStatus.setDeviceStatus(siemensS7Net.getByteTransform().TransInt16(readBytes, 10)); // 设备状态 + taskConveyStatus.setSensor(siemensS7Net.getByteTransform().TransInt16(readBytes, 12)); + taskConveyStatus.setVehicleSize(siemensS7Net.getByteTransform().TransInt16(readBytes, 14)); // 货尺寸 + taskConveyStatus.setWeight(siemensS7Net.getByteTransform().TransInt32(readBytes, 16)); // 货重量 + taskConveyStatus.setErrCode(siemensS7Net.getByteTransform().TransInt16(readBytes, 20)); // 错误码 + taskConveyStatus.setVehicleNo(siemensS7Net.getByteTransform().TransString(readBytes, 22, PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, StandardCharsets.US_ASCII)); // 载具号 + taskConveyStatusList.add(taskConveyStatus); + } + return new Tuple2<>(null, taskConveyStatusList); + } + + /** + * 写入任务输送机任务 + * @param conveyId 输送机ID + * @param task 任务 + * @return 错误信息 + */ + @Override + public String writeTaskConveyTask(String conveyId, TaskConveyTask task) { + if(conveyId == null || task == null) { + return "输送机ID和任务不能为空"; + } + String dbName = "*输送机写任务" + conveyId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return plcData.item1; + } + SiemensS7Net siemensS7Net = plcData.item3; + List bytes = new ArrayList<>(); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getPlcTaskId()))); // plc任务号 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getTaskType()))); // 任务类型 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getOrigin()))); // 源站台 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getDestination()))); // 目的站台 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getVehicleSize() == null ? 0 : task.getVehicleSize()))); // 货尺寸 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getWeight() == null ? 0 : task.getWeight()))); // 货重量 + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(AppStringUtils.toFixLength(task.getVehicleNo(), PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, ' '), StandardCharsets.US_ASCII))); // 载具号 + OperateResult operateResult = siemensS7Net.Write(plcData.item2, AppListUtils.transfer(bytes)); + if(!operateResult.IsSuccess) { + return operateResult.Message; + } + return null; + } + + /** + * 读取扫描器信息 + * @param scannerId 扫码编号 + * @return 扫码信息 + */ + @Override + public Tuple2 readScannerInfo(String scannerId) { + String dbName = "*扫码器数据" + scannerId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return new Tuple2<>(plcData.item1, null); + } + SiemensS7Net siemensS7Net = plcData.item3; + OperateResultExOne readResult = siemensS7Net.Read(plcData.item2, (short)(20 + PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH)); + if(!readResult.IsSuccess) { + return new Tuple2<>(readResult.Message, null); + } + byte[] readBytes = readResult.Content; // 读到的数据 + ScanInfo scanInfo = new ScanInfo(); + scanInfo.setTag(siemensS7Net.getByteTransform().TransInt16(readBytes, 0)); + scanInfo.setVehicleSize(siemensS7Net.getByteTransform().TransInt16(readBytes, 2)); + scanInfo.setLength(siemensS7Net.getByteTransform().TransInt32(readBytes, 4)); + scanInfo.setWidth(siemensS7Net.getByteTransform().TransInt32(readBytes, 8)); + scanInfo.setHeight(siemensS7Net.getByteTransform().TransInt32(readBytes, 12)); + scanInfo.setWeight(siemensS7Net.getByteTransform().TransInt32(readBytes, 16)); + scanInfo.setVehicleNo(siemensS7Net.getByteTransform().TransString(readBytes, 20 , PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, StandardCharsets.US_ASCII)); + return new Tuple2<>(null, scanInfo); + } + + /** + * 写入扫码器任务 + * @param scannerId 扫描器编号 + * @param task 任务 + * @return 写入结果 + */ + @Override + public String writeScannerTask(String scannerId, ScanTask task) { + if(AppStringUtils.isEmpty(scannerId) || task == null) { + return "传入的扫码器编号或者任务为空"; + } + String dbName = "*扫码器写任务" + scannerId; + Tuple3 plcData = getDbPlcData(dbName); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return plcData.item1; + } + SiemensS7Net siemensS7Net = plcData.item3; + List bytes = new ArrayList<>(); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getPlcTaskId() == null ? 0 : task.getPlcTaskId()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getTaskType() == null ? 0 : task.getTaskType()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getOrigin() == null ? 0 : task.getOrigin()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getDestination() == null ? 0 : task.getDestination()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getVehicleSize() == null ? 0 : task.getVehicleSize()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getLength() == null ? 0 : task.getLength()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getWidth() == null ? 0 : task.getWidth()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getHeight() == null ? 0 : task.getHeight()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(task.getWeight() == null ? 0 : task.getWeight()))); + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(AppStringUtils.toFixLength(task.getVehicleNo(), PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, ' '), StandardCharsets.US_ASCII))); + OperateResult operateResult = siemensS7Net.Write(plcData.item2, AppListUtils.transfer(bytes)); + if(!operateResult.IsSuccess) { + return operateResult.Message; + } + return null; + } + + /** + * 写入值往指定的DB地址名称 + * @param name 数据库名称 + * @param value 数据库值 + * @return 写入结果 + */ + @Override + public String writeWithName(String name, Object value) { + Tuple3 plcData = getDbPlcData(name); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return plcData.item1; + } + SiemensS7Net siemensS7Net = plcData.item3; + List bytes = new ArrayList<>(); + Class valueClass = value.getClass(); + switch (valueClass.getName()) { + case "java.lang.Integer": + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte((Integer)value))); + break; + case "java.lang.Long": + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte((Long)value))); + break; + case "java.lang.Short": + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte((Short)value))); + break; + case "java.lang.Double": + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte((Double)value))); + break; + case "java.lang.Float": + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte((Float)value))); + break; + case "java.lang.Byte": + bytes.add((Byte)value); + break; + case "java.lang.String": + bytes.addAll(AppListUtils.transfer(siemensS7Net.getByteTransform().TransByte(AppStringUtils.toFixLength((String)value, PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, ' '), StandardCharsets.US_ASCII))); + break; + default: + return "不支持的数据类型"; + } + OperateResult operateResult = siemensS7Net.Write(plcData.item2, AppListUtils.transfer(bytes)); + if(!operateResult.IsSuccess) { + return operateResult.Message; + } + return null; + } + + /** + * 读取值从指定的DB地址名称 + * @param name 数据库名称 + * @return 读取结果 + */ + @Override + public Tuple2 readWithName(String name) { + // 获取T类型 + Type[] actualTypeArguments = ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments(); + if(actualTypeArguments.length < 1) { + return new Tuple2<>("数据类型异常", null); + } + Type type = actualTypeArguments[0]; + if (!(type instanceof Class)) { + return new Tuple2<>("不支持的复杂泛型类型", null); + } + @SuppressWarnings("unchecked") + Class tClass = (Class) type; + Tuple3 plcData = getDbPlcData(name); + if(AppStringUtils.isNotEmpty(plcData.item1)) { + return new Tuple2<>(plcData.item1, null); + } + SiemensS7Net siemensS7Net = plcData.item3; + if(tClass == Integer.class) { + OperateResultExOne operateResult = siemensS7Net.ReadInt32(plcData.item2); + if(!operateResult.IsSuccess) { + return new Tuple2<>(operateResult.Message, null); + } + return new Tuple2<>(null, operateResult.Content); + } + if(tClass == Long.class) { + OperateResultExOne operateResult = siemensS7Net.ReadInt64(plcData.item2); + if(!operateResult.IsSuccess) { + return new Tuple2<>(operateResult.Message, null); + } + return new Tuple2<>(null, operateResult.Content); + } + if(tClass == Short.class) { + OperateResultExOne operateResult = siemensS7Net.ReadInt16(plcData.item2); + if(!operateResult.IsSuccess) { + return new Tuple2<>(operateResult.Message, null); + } + return new Tuple2<>(null, operateResult.Content); + } + if(tClass == Byte.class) { + OperateResultExOne operateResult = siemensS7Net.ReadByte(plcData.item2); + if(!operateResult.IsSuccess) { + return new Tuple2<>(operateResult.Message, null); + } + } + if(tClass == Double.class) { + OperateResultExOne operateResult = siemensS7Net.ReadDouble(plcData.item2); + if(!operateResult.IsSuccess) { + return new Tuple2<>(operateResult.Message, null); + } + } + if(tClass == Float.class) { + OperateResultExOne operateResult = siemensS7Net.ReadFloat(plcData.item2); + if(!operateResult.IsSuccess) { + return new Tuple2<>(operateResult.Message, null); + } + } + return new Tuple2<>("不支持的数据类型", null); + } + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcConfig.java b/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcConfig.java new file mode 100644 index 0000000..30bc7f3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcConfig.java @@ -0,0 +1,17 @@ +package org.wcs.plugin.plc.constant; + +/** + * 配置项 + */ +public class PlcConfig { + + /** + * 任务输送条码长度 + */ + public static final int PLC_CONFIG_TASK_CONVEY_CODE_LENGTH = 20; + + /** + * 过账区长度 + */ + public static final int PLC_CONFIG_CHECK_ACCOUNT_LENGTH = 20; +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcStackerTaskStatusEnum.java b/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcStackerTaskStatusEnum.java new file mode 100644 index 0000000..172908d --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcStackerTaskStatusEnum.java @@ -0,0 +1,33 @@ +package org.wcs.plugin.plc.constant; + +import lombok.Getter; + +/** + * 堆垛机任务状态枚举 ---- 过账时用 + */ +@Getter +public enum PlcStackerTaskStatusEnum { + + UNKNOWN(0, "未知"), + CANCELED(2, "取消"), + COMPLETED(1, "完成"), + DOUBLE_IN(3, "重复入库"), + EMPTY_OUT(4, "空出库"); + + private final Integer code; + private final String desc; + + PlcStackerTaskStatusEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public static PlcStackerTaskStatusEnum getByCode(Integer code) { + for (PlcStackerTaskStatusEnum value : PlcStackerTaskStatusEnum.values()) { + if (value.code.equals(code)) { + return value; + } + } + return UNKNOWN; + } +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcTypeEnum.java b/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcTypeEnum.java new file mode 100644 index 0000000..4494cff --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/constant/PlcTypeEnum.java @@ -0,0 +1,26 @@ +package org.wcs.plugin.plc.constant; + +import lombok.Getter; + +@Getter +public enum PlcTypeEnum { + + SIEMENS(1, "西门子"); + + private final Integer code; + private final String message; + + PlcTypeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + public static PlcTypeEnum getMessage(Integer code) { + for (PlcTypeEnum value : PlcTypeEnum.values()) { + if (value.code.equals(code)) { + return value; + } + } + return PlcTypeEnum.SIEMENS; + } +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/PlcBaseInfo.java b/wcs/src/main/java/org/wcs/plugin/plc/model/PlcBaseInfo.java new file mode 100644 index 0000000..3b538d9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/PlcBaseInfo.java @@ -0,0 +1,57 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * PLC 的基础资料信息 + */ +@Getter +@Setter +public class PlcBaseInfo { + + /** + * 主键 + */ + private Integer plcId; + + /** + * PLC 名称 + */ + private String plcName; + + /** + * PLC 类型 + */ + private Integer plcType; + + /** + * PLC 版本 + */ + private String plcVersion; + + /** + * 状态 + */ + private Integer plcStatus; + + /** + * IP 地址 + */ + private String ip; + + /** + * 端口 + */ + private Integer port; + + /** + * 槽位 + */ + private Integer slot; + + /** + * 架位 + */ + private Integer rack; +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/PlcStackerTaskStatus.java b/wcs/src/main/java/org/wcs/plugin/plc/model/PlcStackerTaskStatus.java new file mode 100644 index 0000000..30f868c --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/PlcStackerTaskStatus.java @@ -0,0 +1,23 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; +import org.wcs.plugin.plc.constant.PlcStackerTaskStatusEnum; + +/** + * 堆垛机任务状态 ---- 过账用 + */ +@Setter +@Getter +public class PlcStackerTaskStatus { + + /** + * 任务ID + */ + private int taskId; + + /** + * 堆垛机任务状态 + */ + private PlcStackerTaskStatusEnum stackerTaskStatusEnum; +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java b/wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java new file mode 100644 index 0000000..37f7500 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java @@ -0,0 +1,48 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * 读取扫码数据信息 + */ +@Setter +@Getter +public class ScanInfo { + + /** + * 标记 + */ + private Short tag; + + /** + * 载具尺寸2 + */ + private Short vehicleSize; + + /** + * 载具长度4 + */ + private Integer length; + + /** + * 载具宽度4 + */ + private Integer width; + + /** + * 载具高度4 + */ + private Integer height; + + /** + * 载具重量4 + */ + private Integer weight; + + /** + * 载具编号 + */ + private String vehicleNo; + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/ScanTask.java b/wcs/src/main/java/org/wcs/plugin/plc/model/ScanTask.java new file mode 100644 index 0000000..951861a --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/ScanTask.java @@ -0,0 +1,63 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * 写入扫码器任务 + */ +@Setter +@Getter +public class ScanTask { + + /** + * plc任务id + */ + private Integer plcTaskId; + + /** + * 任务类型 + */ + private Short taskType; + + /** + * 起点 + */ + private Short origin; + + /** + * 终点 + */ + private Short destination; + + + /** + * 载具尺寸2 + */ + private Short vehicleSize; + + /** + * 载具长度4 + */ + private Integer length; + + /** + * 载具宽度4 + */ + private Integer width; + + /** + * 载具高度4 + */ + private Integer height; + + /** + * 载具重量4 + */ + private Integer weight; + + /** + * 载具编号 + */ + private String vehicleNo; +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/SiemensDBAddress.java b/wcs/src/main/java/org/wcs/plugin/plc/model/SiemensDBAddress.java new file mode 100644 index 0000000..afc7546 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/SiemensDBAddress.java @@ -0,0 +1,25 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class SiemensDBAddress { + + /** + * PLC ID + */ + private Integer plcId; + + /** + * PLC 名称 + */ + private String dbName; + + /** + * 地址 + */ + private String dbAddress; + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/SimpleConveyStatus.java b/wcs/src/main/java/org/wcs/plugin/plc/model/SimpleConveyStatus.java new file mode 100644 index 0000000..3b21a81 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/SimpleConveyStatus.java @@ -0,0 +1,11 @@ +package org.wcs.plugin.plc.model; + +/** + * 简单输送 -- 简单输送机状态(箱式线那种状态) + */ +public class SimpleConveyStatus { + + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/StackerStatus.java b/wcs/src/main/java/org/wcs/plugin/plc/model/StackerStatus.java new file mode 100644 index 0000000..e9f465b --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/StackerStatus.java @@ -0,0 +1,70 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * 西门子堆垛机的状态反馈 + */ +@Getter +@Setter +public class StackerStatus { + + /** + * PLC任务ID + */ + private Integer plcTaskId; + + /** + * 控制模式 + */ + private Short controlModel; + + /** + * 设备状态 + */ + private Short deviceStatus; + + /** + * 巷道号 + */ + private Short laneId; + + /** + * 当前排 + */ + private Short lRow; + + /** + * 当前列 + */ + private Short lLine; + + /** + * 当前层 + */ + private Short lLayer; + + /** + * 当前深度 + */ + private Short lDepth; + + /** + * 当前码1 + */ + private Integer code1; + + /** + * 当前码2 + */ + private Integer code2; + + /** + * 当前错误码 + */ + private Short errCode; + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/StackerTask.java b/wcs/src/main/java/org/wcs/plugin/plc/model/StackerTask.java new file mode 100644 index 0000000..ddd2949 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/StackerTask.java @@ -0,0 +1,98 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * 堆垛机任务类 + */ +@Getter +@Setter +public class StackerTask { + + /** + * PLC任务ID + */ + private Integer plcTaskId; + + /** + * 任务类型 + */ + private Short taskType; + + /** + * 取货站台 + */ + private Short getStand; + + /** + * 取货巷道 + */ + private Short getLaneId; + + /** + * 卸货巷道 + */ + private Short setLaneId; + + /** + * 卸货站台 + */ + private Short setStand; + + /** + * 取货排 + */ + private Short getRow; + + /** + * 取货列 + */ + private Short getLine; + + /** + * 取货层 + */ + private Short getLayer; + + /** + * 取货深度 + */ + private Short getDepth; + + /** + * 卸货排 + */ + private Short setRow; + + /** + * 卸货列 + */ + private Short setLine; + + /** + * 卸货层 + */ + private Short setLayer; + + /** + * 卸货深度 + */ + private Short setDepth; + + /** + * 载具尺寸 + */ + private Short vehicleSize; + + /** + * 载具重量 + */ + private Short weight; + + /** + * 载具编号 + */ + private Integer vehicleNo; + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyStatus.java b/wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyStatus.java new file mode 100644 index 0000000..89fbcdb --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyStatus.java @@ -0,0 +1,65 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * 任务输送 -- 输送机状态 + */ +@Setter +@Getter +public class TaskConveyStatus { + + + /** + * 输送机编号 + */ + private Short conveyNo; + + /** + * PLC任务ID + */ + private Integer plcTaskId; + + /** + * 任务允许 + */ + private Short taskAllow; + + /** + * 控制方式 + */ + private Short controlModel; + + /** + * 设备状态 + */ + private Short deviceStatus; + + /** + * 传感器 + */ + private Short sensor; + + /** + * 载具尺寸 + */ + private Short vehicleSize; + + /** + * 载具重量 + */ + private Integer weight; + + /** + * 错误码 + */ + private Short errCode; + + /** + * 载具编号 + */ + private String vehicleNo; + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyTask.java b/wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyTask.java new file mode 100644 index 0000000..29da79b --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/TaskConveyTask.java @@ -0,0 +1,50 @@ +package org.wcs.plugin.plc.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * 任务输送 ---- 写入的任务实体类 + */ +@Setter +@Getter +public class TaskConveyTask { + + /** + * plc任务编号 + */ + private Integer plcTaskId; + + /** + * 任务类型 + */ + private Short taskType; + + /** + * 任务起点 + */ + private Short origin; + + /** + * 终点 + */ + private Short destination; + + /** + * 载具尺寸 + */ + private Short vehicleSize; + + /** + * 载具重量 + */ + private Integer weight; + + /** + * 载具编号 + */ + private String vehicleNo; + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/quartz/QuartzComponent.java b/wcs/src/main/java/org/wcs/plugin/quartz/QuartzComponent.java new file mode 100644 index 0000000..e20e21f --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/quartz/QuartzComponent.java @@ -0,0 +1,142 @@ +package org.wcs.plugin.quartz; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.quartz.*; +import org.springframework.core.io.Resource; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.core.io.support.ResourcePatternResolver; +import org.springframework.core.type.classreading.CachingMetadataReaderFactory; +import org.springframework.core.type.classreading.MetadataReader; +import org.springframework.core.type.classreading.MetadataReaderFactory; +import org.springframework.stereotype.Component; +import org.springframework.util.ClassUtils; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class QuartzComponent { + + private static final String BASE_PACKAGE = "org.wcs.quartzJob"; + + private static List quartzJobBeans; + + private final Scheduler scheduler; + + /** + * 扫描定时任务类 + */ + public void scanQuartzJob() { + quartzJobBeans = new ArrayList<>(); + ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); + try { + String RESOURCE_PATTERN = "/**/*.class"; + String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + + ClassUtils.convertClassNameToResourcePath(BASE_PACKAGE) + RESOURCE_PATTERN; + Resource[] resources = resourcePatternResolver.getResources(pattern); + MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(resourcePatternResolver); + for (Resource resource : resources) { + MetadataReader reader = readerFactory.getMetadataReader(resource); + //扫描到的class + String classname = reader.getClassMetadata().getClassName(); + Class clazz = Class.forName(classname); + if (Job.class.isAssignableFrom(clazz)) { + log.info("扫描到定时Job类:{}", classname); + QuartzJobBean quartzJobBean = new QuartzJobBean(); + quartzJobBean.setJobName(clazz.getSimpleName()); + quartzJobBean.setJobClass(clazz.asSubclass(Job.class)); + quartzJobBeans.add(quartzJobBean); + } + } + } catch (IOException | ClassNotFoundException e) { + log.error("加载定时任务类失败", e); + } + } + + /** + * 获取定时任务列表 + * @return 定时任务列表 + */ + public List getQuartzJobBeans() { + return quartzJobBeans; + } + + /** + * 创建定时任务 + * @param quartzJobBean 定时任务 + * @param cron cron 表达式 + * @return true:创建成功 false:创建失败 + */ + public boolean createQuartzJob(QuartzJobBean quartzJobBean, String cron) { + JobDetail jobDetail = JobBuilder.newJob(quartzJobBean.getJobClass()) + .withIdentity(quartzJobBean.getJobName()) + .build(); + Trigger trigger = TriggerBuilder.newTrigger() + .forJob(jobDetail) + .withSchedule(CronScheduleBuilder.cronSchedule(cron)) + .withIdentity(quartzJobBean.getJobName() + "_Trigger") + .build(); + try { + scheduler.scheduleJob(jobDetail, trigger); + return true; + } catch (SchedulerException e) { + log.error("创建定时任务类失败", e); + return false; + } + } + + /** + * 暂停定时任务 + * @param jobName 任务名 + * @return 暂停结果 + */ + public boolean stopQuartzJob(String jobName) { + JobKey jobKey = JobKey.jobKey(jobName); + try { + scheduler.pauseJob(jobKey); + return true; + } catch (SchedulerException e) { + log.error("停止定时任务类失败", e); + return false; + } + } + + /** + * 恢复定时任务 + * @param jobName 任务名 + * @return 恢复结果 + */ + public boolean resumeQuartzJob(String jobName) { + JobKey jobKey = JobKey.jobKey(jobName); + try { + scheduler.resumeJob(jobKey); + return true; + } catch (SchedulerException e) { + log.error("恢复定时任务类失败", e); + return false; + } + } + + /** + * 删除定时任务 + * @param jobName 删除任务名 + * @return 删除结果 + */ + public boolean deleteQuartzJob(String jobName) { + JobKey jobKey = JobKey.jobKey(jobName); + try { + scheduler.deleteJob(jobKey); + return true; + } catch (SchedulerException e) { + log.error("删除定时任务类失败", e); + return false; + } + } + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/quartz/QuartzJobBean.java b/wcs/src/main/java/org/wcs/plugin/quartz/QuartzJobBean.java new file mode 100644 index 0000000..5cbb41b --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/quartz/QuartzJobBean.java @@ -0,0 +1,27 @@ +package org.wcs.plugin.quartz; + + +import lombok.Getter; +import lombok.Setter; +import org.quartz.Job; + +@Getter +@Setter +public class QuartzJobBean { + + /** + * 任务名称 + */ + private String jobName; + + /** + * 任务类 + */ + private Class jobClass; + + /** + * 任务执行表达式 + */ + private String cron; + +} diff --git a/wcs/src/main/java/org/wcs/plugin/tcp/SocketClient.java b/wcs/src/main/java/org/wcs/plugin/tcp/SocketClient.java new file mode 100644 index 0000000..e17965a --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/tcp/SocketClient.java @@ -0,0 +1,341 @@ +package org.wcs.plugin.tcp; + +import lombok.extern.slf4j.Slf4j; +import org.wcs.plugin.tcp.enums.SocketStatusEnum; +import org.wcs.plugin.tcp.intf.ISocketClientEvent; +import org.wcs.plugin.tcp.model.SocketDataItem; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * Socket 操作类 + */ +@Slf4j +public class SocketClient { + + /** + * Socket 数据项列表 + */ + private List socketDataItemList; + + /** + * Socket 客户端事件 + */ + private ISocketClientEvent socketClientEvent; + + + /** + * 设置Socket 客户端事件 + * @param socketClientEvent Socket 客户端事件 + */ + public synchronized void setSocketClientEvent(ISocketClientEvent socketClientEvent) { + this.socketClientEvent = socketClientEvent; + } + + + /** + * 添加Socket数据项 + * @param socketDataItem Socket数据项 + */ + public synchronized void addSocketDataItem(SocketDataItem socketDataItem) { + if (socketDataItemList == null) { + socketDataItemList = new java.util.ArrayList<>(); + } + List checkExist = socketDataItemList.stream().filter(item -> item.getSocketId().equals(socketDataItem.getSocketId())).toList(); + if (!checkExist.isEmpty()) { + throw new RuntimeException("SocketId已存在"); + } + socketDataItemList.add(socketDataItem); + } + + /** + * 移除Socket数据项 + * @param socketId SocketId + */ + public synchronized void removeSocketDataItem(String socketId) { + if (socketDataItemList == null) { + return; + } + List socketDataItems = socketDataItemList.stream().filter(item -> item.getSocketId().equals(socketId)).toList(); + for (SocketDataItem socketDataItem : socketDataItems) { + if(socketDataItem.getSocket() != null) { + try { + socketDataItem.getSocket().getOutputStream().close(); + socketDataItem.getSocket().getInputStream().close(); + socketDataItem.getSocket().shutdownOutput(); + socketDataItem.getSocket().shutdownInput(); + socketDataItem.getSocket().close(); + } catch (IOException ignored) {} + } + socketDataItemList.remove(socketDataItem); + } + } + + /** + * 移除所有Socket数据项 + */ + public synchronized void removeAllSocketDataItem() { + if (socketDataItemList == null) { + return; + } + for (SocketDataItem socketDataItem : socketDataItemList) { + if(socketDataItem.getSocket() != null) { + try { + socketDataItem.getSocket().getOutputStream().close(); + socketDataItem.getSocket().getInputStream().close(); + socketDataItem.getSocket().shutdownOutput(); + socketDataItem.getSocket().shutdownInput(); + socketDataItem.getSocket().close(); + } catch (IOException ignored) {} + } + socketDataItemList.remove(socketDataItem); + } + } + + /** + * 连接所有Socket + */ + public synchronized void connectAll() { + if (socketDataItemList == null) { + return; + } + connect(socketDataItemList); + } + + /** + * 连接Socket + * @param socketDataItemList Socket数据项列表 + */ + public void connect(List socketDataItemList) { + for (SocketDataItem socketDataItem : socketDataItemList) { + Thread thread = new Thread(() -> { + connect(socketDataItem); + }); + thread.start(); + } + } + + /** + * 连接Socket + * @param socketDataItem Socket数据项 + */ + public void connect(SocketDataItem socketDataItem) { + Socket socket = socketDataItem.getSocket(); + if(socket != null) { + try { + socket.getOutputStream().close(); + socket.getInputStream().close(); + socket.shutdownOutput(); + socket.shutdownInput(); + socket.close(); + } catch (IOException ignored) {} + } + try { + socketDataItem.setSocketStatus(SocketStatusEnum.CONNECTING); + socket = new Socket(socketDataItem.getSocketIp(), socketDataItem.getSocketPort()); + // 连接成功的结果 + socketDataItem.setLastReceiveMessageTime(LocalDateTime.now()); + socketDataItem.setSocketStatus(SocketStatusEnum.CONNECTED); + socketDataItem.setSocket(socket); + if(socketClientEvent != null) { + socketClientEvent.onConnect(socketDataItem); // 触发连接成功事件 + } + while (true) { + try { + InputStream inputStream = socket.getInputStream(); + byte[] bytes =inputStream.readAllBytes(); + String message = new String(bytes, StandardCharsets.US_ASCII); + socketDataItem.setLastReceiveMessageTime(LocalDateTime.now()); + if(socketClientEvent != null) { + socketClientEvent.onMessage(socketDataItem, message); // 触发收到数据事件 + } + } catch (Exception e) { + // 断开的结果 + socket = null; + socketDataItem.setSocketStatus(SocketStatusEnum.DISCONNECTED); + socketDataItem.setSocket(socket); + if(socketClientEvent != null) { + socketClientEvent.onDisconnect(socketDataItem); // 触发断开连接事件 + } + return; + } + } + } catch (IOException e) { + // 连接失败的结果 + socket = null; + socketDataItem.setSocketStatus(SocketStatusEnum.ERROR); + socketDataItem.setSocket(socket); + if(socketClientEvent != null) { + socketClientEvent.onError(socketDataItem, e); // 触发连接失败事件 + } + } + } + + /** + * 获取断开的Socket数据项 + * @return 断开的Socket数据项 + */ + public synchronized List getDisConnectSocket() { + if(socketDataItemList == null) { + return null; + } + List sidConnectSocketDataItems = new ArrayList<>(); // 断开的Socket数据项 + for (SocketDataItem socketDataItem : socketDataItemList) { + boolean connected = isConnected(socketDataItem); + if(connected) { + continue; + } + sidConnectSocketDataItems.add(socketDataItem); + if(socketClientEvent != null) { + socketClientEvent.onDisconnect(socketDataItem); // 触发断开连接事件 + } + } + return sidConnectSocketDataItems; + } + + /** + * 判断Socket是否连接 + * @param socketDataItem Socket数据项 + * @return 是否连接 + */ + public boolean isConnected(SocketDataItem socketDataItem) { + if(socketDataItem.getSocketStatus() != SocketStatusEnum.CONNECTED || socketDataItem.getSocket() == null) { + socketDataItem.setSocketStatus(SocketStatusEnum.DISCONNECTED); + return false; + } + // 如果上次收到消息时间和当前时间差距不超过5秒则默认认为连接正常 + LocalDateTime lastReceiveMessageTime = socketDataItem.getLastReceiveMessageTime(); + if(lastReceiveMessageTime == null || lastReceiveMessageTime.plusSeconds(5).isBefore(LocalDateTime.now())) { + return true; + } + // 检测Socket是否断开,发送心跳包 + Socket socket = socketDataItem.getSocket(); + if(socket == null) { + socketDataItem.setSocketStatus(SocketStatusEnum.DISCONNECTED); + return false; + } + if(socketDataItem.getHeartBeatString() == null) { + socketDataItem.setHeartBeatString(""); + } + byte[] bytes = socketDataItem.getHeartBeatString().getBytes(StandardCharsets.US_ASCII); + try { + OutputStream outputStream = socket.getOutputStream(); + outputStream.write(bytes); + outputStream.flush(); + } catch (IOException e) { + // 发送失败了,则认为断开了 + try { + socket.getOutputStream().close(); + socket.getInputStream().close(); + socket.shutdownOutput(); + socket.shutdownInput(); + socket.close(); + } catch (IOException ignored) {} + socket = null; + socketDataItem.setSocketStatus(SocketStatusEnum.DISCONNECTED); + socketDataItem.setSocket(socket); + return false; + } + try { + if(socket.isClosed() || !socket.isConnected()) { + socket = null; + socketDataItem.setSocketStatus(SocketStatusEnum.DISCONNECTED); + socketDataItem.setSocket(socket); + return false; + } + return true; + } catch (Exception ignored) { + socket = null; + socketDataItem.setSocketStatus(SocketStatusEnum.DISCONNECTED); + socketDataItem.setSocket(socket); + return false; + } + } + + /** + * 发送消息,返回异常信息,发送成功返回 null + * @param socketId SocketId + * @param message 消息 + * @return 错误信息 + */ + public String sendMessage(String socketId, String message) { + if(socketId == null || socketDataItemList.isEmpty()) { + return "Socket连接不存在"; + } + for (SocketDataItem socketDataItem : socketDataItemList) { + if(socketDataItem.getSocketId().equals(socketId)) { + return sendMessage(socketDataItem, message); + } + } + return "Socket连接不存在"; + } + + /** + * 发送消息,返回异常信息,发送成功返回 null + * @param socketDataItem Socket数据项 + * @param message 消息 + * @return 发送结果 + */ + public String sendMessage(SocketDataItem socketDataItem, String message) { + if(socketDataItem == null || socketDataItem.getSocket() == null) { + return "Socket连接不存在或者未连接"; + } + try { + byte[] bytes = message.getBytes(StandardCharsets.US_ASCII); + OutputStream outputStream = socketDataItem.getSocket().getOutputStream(); + outputStream.write(bytes); + outputStream.flush(); + return null; + } catch (Exception e) { + return "发送失败,异常信息:" + e.getMessage(); + } + } + + /** + * 发送消息,返回异常信息,发送成功返回 null + * @param socketId SocketId + * @param bytes 消息 + * @return 错误信息 + */ + public String sendBytes(String socketId, byte[] bytes) { + if(socketId == null || socketDataItemList.isEmpty()) { + return "Socket连接不存在"; + } + for (SocketDataItem socketDataItem : socketDataItemList) { + if(socketDataItem.getSocketId().equals(socketId)) { + return sendBytes(socketDataItem, bytes); + } + } + return "Socket连接不存在"; + } + + /** + * 发送消息,返回异常信息,发送成功返回 null + * @param socketDataItem Socket数据项 + * @param bytes 消息 + * @return 发送结果 + */ + public String sendBytes(SocketDataItem socketDataItem, byte[] bytes) { + if(socketDataItem == null || socketDataItem.getSocket() == null) { + return "Socket连接不存在或者未连接"; + } + try { + OutputStream outputStream = socketDataItem.getSocket().getOutputStream(); + outputStream.write(bytes); + outputStream.flush(); + return null; + } catch (Exception e) { + return "发送失败,异常信息:" + e.getMessage(); + } + } + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/tcp/enums/SocketStatusEnum.java b/wcs/src/main/java/org/wcs/plugin/tcp/enums/SocketStatusEnum.java new file mode 100644 index 0000000..dd7df3a --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/tcp/enums/SocketStatusEnum.java @@ -0,0 +1,26 @@ +package org.wcs.plugin.tcp.enums; + +import lombok.Getter; + +/** + * Socket 状态枚举 + */ +@Getter +public enum SocketStatusEnum { + + CREATE(0, "新创建"), + CONNECTING(1, "正在连接"), + CONNECTED(2, "已连接"), + DISCONNECTING(3, "正在断开"), + DISCONNECTED(4, "已断开"), + ERROR(5, "错误"), + UNKNOWN(-1, "未知"); + + private final int code; + private final String message; + + SocketStatusEnum(int code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/wcs/src/main/java/org/wcs/plugin/tcp/intf/ISocketClientEvent.java b/wcs/src/main/java/org/wcs/plugin/tcp/intf/ISocketClientEvent.java new file mode 100644 index 0000000..c420528 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/tcp/intf/ISocketClientEvent.java @@ -0,0 +1,34 @@ +package org.wcs.plugin.tcp.intf; + +import org.wcs.plugin.tcp.model.SocketDataItem; + +public interface ISocketClientEvent { + + /** + * 连接成功 + * @param socketDataItem SocketDataItem + */ + void onConnect(SocketDataItem socketDataItem); + + /** + * 断开连接 + * @param socketDataItem SocketDataItem + */ + void onDisconnect(SocketDataItem socketDataItem); + + /** + * 接收到消息 + * @param socketDataItem SocketDataItem + * @param message 消息 + */ + void onMessage(SocketDataItem socketDataItem, String message); + + /** + * 错误 + * @param socketDataItem SocketDataItem + * @param throwable 错误 + */ + void onError(SocketDataItem socketDataItem, Throwable throwable); + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/tcp/model/SocketDataItem.java b/wcs/src/main/java/org/wcs/plugin/tcp/model/SocketDataItem.java new file mode 100644 index 0000000..d2542ce --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/tcp/model/SocketDataItem.java @@ -0,0 +1,102 @@ +package org.wcs.plugin.tcp.model; + +import lombok.Getter; +import lombok.Setter; +import org.wcs.plugin.tcp.enums.SocketStatusEnum; + +import java.net.Socket; +import java.time.LocalDateTime; + +/** + * Socket 数据项 + */ +@Getter +@Setter +public class SocketDataItem { + + /** + * SocketId + */ + private String socketId; + + /** + * Socket标记 + */ + private String socketTag; + + /** + * Socket IP + */ + private String socketIp; + + /** + * Socket 端口 + */ + private int socketPort; + + /** + * 心跳包内容 + */ + private String heartBeatString; + + /** + * Socket + */ + private Socket socket; + + /** + * 自动重连 + */ + private boolean autoReconnect; + + /** + * Socket 状态 + */ + private SocketStatusEnum socketStatus; + + /** + * 最后收到消息时间 + */ + private LocalDateTime lastReceiveMessageTime; + + /** + * 手动断开连接 ---- 手动断开这里是true + */ + private boolean userDisConnected; + + /** + * 构建开始 + * @return SocketDataItem + */ + public static SocketDataItem buildStart() { + SocketDataItem socketDataItem = new SocketDataItem(); + socketDataItem.setSocketStatus(SocketStatusEnum.CREATE); + socketDataItem.setAutoReconnect(true); + socketDataItem.setUserDisConnected(false); + return socketDataItem; + } + + /** + * 构建结束 + * @return SocketDataItem + */ + public SocketDataItem buildEnd() { + return this; + } + + + @Override + public String toString() { + return "SocketDataItem{" + + "socketId='" + socketId + '\'' + + ", socketTag='" + socketTag + '\'' + + ", socketIp='" + socketIp + '\'' + + ", socketPort=" + socketPort + + ", heartBeatString='" + heartBeatString + '\'' + + ", autoReconnect=" + autoReconnect + + ", socketStatus=" + socketStatus + + '}'; + } + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/webHttpClient/WebHttpClient.java b/wcs/src/main/java/org/wcs/plugin/webHttpClient/WebHttpClient.java new file mode 100644 index 0000000..a8d22fc --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/webHttpClient/WebHttpClient.java @@ -0,0 +1,495 @@ +package org.wcs.plugin.webHttpClient; + +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.*; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.springframework.util.StopWatch; +import org.wcs.plugin.webHttpClient.intef.IHttpRequestEvent; +import org.wcs.plugin.webHttpClient.model.HttpAddressKeyItem; +import org.wcs.plugin.webHttpClient.model.HttpRequest; +import org.wcs.plugin.webHttpClient.model.HttpResponse; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * webApi请求类 + */ +public class WebHttpClient { + + /** + * 存放地址key的map + */ + private static Map addressKeyMap; + + private static List httpRequestEvents; + + /** + * 设置地址key + * + * @param addressKeyList 地址key列表 + */ + public static synchronized void setAddressKey(List addressKeyList) { + addressKeyMap = new ConcurrentHashMap<>(); + if(addressKeyList == null) { + throw new NullPointerException("传入的列表是 NULL (list is null)"); + } + for (HttpAddressKeyItem item : addressKeyList) { + if(item.getFatherKey() == null || item.getFatherKey().isEmpty()) { + addressKeyMap.put(item.getKey(), item.getAddress()); + continue; + } + List list = addressKeyList.stream().filter(item1 -> item1.getKey().equals(item.getFatherKey())).toList(); + if(list.isEmpty()) { + addressKeyMap.put(item.getKey(), item.getAddress()); + continue; + } + addressKeyMap.put(item.getKey(), list.getFirst().getAddress() + item.getAddress()); + } + } + + /** + * 注册请求事件 + * @param event 请求事件 + */ + public static void registerHttpRequestEvent(IHttpRequestEvent event) { + if(httpRequestEvents == null) { + httpRequestEvents = new java.util.ArrayList<>(); + } + httpRequestEvents.add(event); + } + + /** + * 请求调用 + * @param request 请求参数 + * @return 请求结果 + */ + public static HttpResponse httpRequest(HttpRequest request) { + if(request == null) { + return new HttpResponse(true, "请求参数不能为空", null); + } + if(request.getUrl() == null && request.getAddressKey() == null) { + return new HttpResponse(true, "请求地址不能为空", null); + } + if(request.getMethod().equalsIgnoreCase("get")) { + return httpGet(request); + } + if(request.getMethod().equalsIgnoreCase("post")) { + return httpPost(request); + } + if(request.getMethod().equalsIgnoreCase("put")) { + return httpPut(request); + } + if(request.getMethod().equalsIgnoreCase("delete")) { + return httpDelete(request); + } + return new HttpResponse(true, "请求方法错误或者不支持的方法", request); + } + + /** + * get请求 + * @param request 请求对象 + * @return HttpResponse + */ + private static HttpResponse httpGet(HttpRequest request) { + HttpResponse response = new HttpResponse(); + response.setMethod("GET"); + response.setRequest(request); + /* 构造URL */ + String url = request.getUrl(); + if(url == null) { + url = addressKeyMap.get(request.getAddressKey()); + } + response.setUrl(url); + if(url == null) { + response.setBaseDataError(true); + response.setErrText("地址错误或者未配置"); + return response; + } + /* 构造 查询参数 */ + StringBuilder paramStringBuilder = new StringBuilder(); + Map params = request.getParams(); + if(params != null && !params.isEmpty()) { + paramStringBuilder.append("?"); + for (Map.Entry entry : params.entrySet()) { + paramStringBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&"); + } + paramStringBuilder.deleteCharAt(paramStringBuilder.length() - 1); + } + response.setBaseDataError(false); + try { + HttpGet getRequest = new HttpGet(url + paramStringBuilder); + /* 构造 Header */ + Map headers = request.getHeaders(); + if(headers != null) { + for (Map.Entry entry : headers.entrySet()) { + getRequest.addHeader(entry.getKey(), entry.getValue()); + } + } + /* 设置请求类型 */ + if(request.getContentType() != null) { + getRequest.setHeader("Content-Type", request.getContentType()); + } + /* 设置超时时间 */ + getRequest.setConfig(RequestConfig.custom() + .setConnectionRequestTimeout(request.getTimeout()) + .setConnectTimeout(request.getTimeout()) + .setSocketTimeout(request.getTimeout()).build()); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.beforeRequest(request); + } + } + }); + /* 发送请求 */ + StopWatch watch = new StopWatch(); + CloseableHttpClient httpClient = HttpClientBuilder.create().build(); + response.setRequestTime(LocalDateTime.now()); + watch.start(); + CloseableHttpResponse getResponse = httpClient.execute(getRequest); + watch.stop(); + response.setResponseTime(LocalDateTime.now()); + response.setUseTime(watch.getTotalTimeMillis()); + response.setResponseCode(getResponse.getStatusLine().getStatusCode()); + BufferedReader reader = new BufferedReader(new InputStreamReader(getResponse.getEntity().getContent())); + String line; + StringBuilder result = new StringBuilder(); + while ((line = reader.readLine()) != null) { + result.append(line); + } + reader.close(); + httpClient.close(); + response.setSuccess(true); + response.setResponseText(result.toString()); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } catch (Exception e) { + response.setSuccess(false); + response.setException(e); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } + } + + /** + * post请求 + * @param request 请求对象 + * @return HttpResponse + */ + private static HttpResponse httpPost(HttpRequest request) { + HttpResponse response = new HttpResponse(); + response.setMethod("POST"); + response.setRequest(request); + response.setRequestText(request.getBody()); + /* 构造URL */ + String url = request.getUrl(); + if(url == null) { + url = addressKeyMap.get(request.getAddressKey()); + } + response.setUrl(url); + if(url == null) { + response.setBaseDataError(true); + response.setErrText("地址错误或者未配置"); + return response; + } + /* 构造 查询参数 */ + StringBuilder paramStringBuilder = new StringBuilder(); + Map params = request.getParams(); + if(params != null && !params.isEmpty()) { + paramStringBuilder.append("?"); + for (Map.Entry entry : params.entrySet()) { + paramStringBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&"); + } + paramStringBuilder.deleteCharAt(paramStringBuilder.length() - 1); + } + response.setBaseDataError(false); + try { + HttpPost postRequest = new HttpPost(url + paramStringBuilder); + /* 构造 Header */ + Map headers = request.getHeaders(); + if(headers != null) { + for (Map.Entry entry : headers.entrySet()) { + postRequest.addHeader(entry.getKey(), entry.getValue()); + } + } + /* 设置请求类型 */ + if(request.getContentType() != null) { + postRequest.setHeader("Content-Type", request.getContentType()); + } + /* 设置超时时间 */ + postRequest.setConfig(RequestConfig.custom() + .setConnectionRequestTimeout(request.getTimeout()) + .setConnectTimeout(request.getTimeout()) + .setSocketTimeout(request.getTimeout()).build()); + /* 设置请求体 */ + if (request.getBody() != null) { + postRequest.setEntity(new StringEntity(request.getBody(), request.getCharset())); + } + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.beforeRequest(request); + } + } + }); + /* 发送请求 */ + StopWatch watch = new StopWatch(); + CloseableHttpClient httpClient = HttpClientBuilder.create().build(); + response.setRequestTime(LocalDateTime.now()); + watch.start(); + CloseableHttpResponse getResponse = httpClient.execute(postRequest); + watch.stop(); + response.setResponseTime(LocalDateTime.now()); + response.setUseTime(watch.getTotalTimeMillis()); + response.setResponseCode(getResponse.getStatusLine().getStatusCode()); + BufferedReader reader = new BufferedReader(new InputStreamReader(getResponse.getEntity().getContent())); + String line; + StringBuilder result = new StringBuilder(); + while ((line = reader.readLine()) != null) { + result.append(line); + } + reader.close(); + httpClient.close(); + response.setSuccess(true); + response.setResponseText(result.toString()); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } catch (Exception e) { + response.setSuccess(false); + response.setException(e); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } + } + + /** + * put请求 + * @param request 请求对象 + * @return HttpResponse + */ + private static HttpResponse httpPut(HttpRequest request) { + HttpResponse response = new HttpResponse(); + response.setMethod("PUT"); + response.setRequest(request); + /* 构造URL */ + String url = request.getUrl(); + if(url == null) { + url = addressKeyMap.get(request.getAddressKey()); + } + response.setUrl(url); + if(url == null) { + response.setBaseDataError(true); + response.setErrText("地址错误或者未配置"); + return response; + } + /* 构造 查询参数 */ + StringBuilder paramStringBuilder = new StringBuilder(); + Map params = request.getParams(); + if(params != null && !params.isEmpty()) { + paramStringBuilder.append("?"); + for (Map.Entry entry : params.entrySet()) { + paramStringBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&"); + } + paramStringBuilder.deleteCharAt(paramStringBuilder.length() - 1); + } + response.setBaseDataError(false); + try { + HttpPut putRequest = new HttpPut(url + paramStringBuilder); + /* 构造 Header */ + Map headers = request.getHeaders(); + if(headers != null) { + for (Map.Entry entry : headers.entrySet()) { + putRequest.addHeader(entry.getKey(), entry.getValue()); + } + } + /* 设置请求类型 */ + if(request.getContentType() != null) { + putRequest.setHeader("Content-Type", request.getContentType()); + } + /* 设置超时时间 */ + putRequest.setConfig(RequestConfig.custom() + .setConnectionRequestTimeout(request.getTimeout()) + .setConnectTimeout(request.getTimeout()) + .setSocketTimeout(request.getTimeout()).build()); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.beforeRequest(request); + } + } + }); + /* 发送请求 */ + StopWatch watch = new StopWatch(); + CloseableHttpClient httpClient = HttpClientBuilder.create().build(); + response.setRequestTime(LocalDateTime.now()); + watch.start(); + CloseableHttpResponse getResponse = httpClient.execute(putRequest); + watch.stop(); + response.setResponseTime(LocalDateTime.now()); + response.setUseTime(watch.getTotalTimeMillis()); + response.setResponseCode(getResponse.getStatusLine().getStatusCode()); + BufferedReader reader = new BufferedReader(new InputStreamReader(getResponse.getEntity().getContent())); + String line; + StringBuilder result = new StringBuilder(); + while ((line = reader.readLine()) != null) { + result.append(line); + } + reader.close(); + httpClient.close(); + response.setSuccess(true); + response.setResponseText(result.toString()); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } catch (Exception e) { + response.setSuccess(false); + response.setException(e); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } + } + + /** + * delete请求 + * @param request 请求对象 + * @return HttpResponse + */ + private static HttpResponse httpDelete(HttpRequest request) { + HttpResponse response = new HttpResponse(); + response.setMethod("DELETE"); + response.setRequest(request); + /* 构造URL */ + String url = request.getUrl(); + if(url == null) { + url = addressKeyMap.get(request.getAddressKey()); + } + response.setUrl(url); + if(url == null) { + response.setBaseDataError(true); + response.setErrText("地址错误或者未配置"); + return response; + } + /* 构造 查询参数 */ + StringBuilder paramStringBuilder = new StringBuilder(); + Map params = request.getParams(); + if(params != null && !params.isEmpty()) { + paramStringBuilder.append("?"); + for (Map.Entry entry : params.entrySet()) { + paramStringBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&"); + } + paramStringBuilder.deleteCharAt(paramStringBuilder.length() - 1); + } + response.setBaseDataError(false); + try { + HttpDelete deleteRequest = new HttpDelete(url + paramStringBuilder); + /* 构造 Header */ + Map headers = request.getHeaders(); + if(headers != null) { + for (Map.Entry entry : headers.entrySet()) { + deleteRequest.addHeader(entry.getKey(), entry.getValue()); + } + } + /* 设置请求类型 */ + if(request.getContentType() != null) { + deleteRequest.setHeader("Content-Type", request.getContentType()); + } + /* 设置超时时间 */ + deleteRequest.setConfig(RequestConfig.custom() + .setConnectionRequestTimeout(request.getTimeout()) + .setConnectTimeout(request.getTimeout()) + .setSocketTimeout(request.getTimeout()).build()); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.beforeRequest(request); + } + } + }); + /* 发送请求 */ + StopWatch watch = new StopWatch(); + CloseableHttpClient httpClient = HttpClientBuilder.create().build(); + response.setRequestTime(LocalDateTime.now()); + watch.start(); + CloseableHttpResponse getResponse = httpClient.execute(deleteRequest); + watch.stop(); + response.setResponseTime(LocalDateTime.now()); + response.setUseTime(watch.getTotalTimeMillis()); + response.setResponseCode(getResponse.getStatusLine().getStatusCode()); + BufferedReader reader = new BufferedReader(new InputStreamReader(getResponse.getEntity().getContent())); + String line; + StringBuilder result = new StringBuilder(); + while ((line = reader.readLine()) != null) { + result.append(line); + } + reader.close(); + httpClient.close(); + response.setSuccess(true); + response.setResponseText(result.toString()); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } catch (Exception e) { + response.setSuccess(false); + response.setException(e); + Thread.ofVirtual().start(() -> { + if(httpRequestEvents != null) { + for (IHttpRequestEvent event : httpRequestEvents) { + event.afterRequest(request, response); + } + } + }); + return response; + } + } + + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/webHttpClient/intef/IHttpRequestEvent.java b/wcs/src/main/java/org/wcs/plugin/webHttpClient/intef/IHttpRequestEvent.java new file mode 100644 index 0000000..b13a0b3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/webHttpClient/intef/IHttpRequestEvent.java @@ -0,0 +1,25 @@ +package org.wcs.plugin.webHttpClient.intef; + +import org.wcs.plugin.webHttpClient.model.HttpRequest; +import org.wcs.plugin.webHttpClient.model.HttpResponse; + +/** + * HTTP 请求事件接口 + */ +public interface IHttpRequestEvent { + + /** + * 请求之前 + * @param request 请求对象 + */ + void beforeRequest(HttpRequest request); + + /** + * 请求之后 + * @param request 请求对象 + * @param response 响应对象 + */ + void afterRequest(HttpRequest request, HttpResponse response); + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpAddressKeyItem.java b/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpAddressKeyItem.java new file mode 100644 index 0000000..175e457 --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpAddressKeyItem.java @@ -0,0 +1,30 @@ +package org.wcs.plugin.webHttpClient.model; + +import lombok.Getter; +import lombok.Setter; + +/** + * 配置addressKey 的数据 + */ +@Setter +@Getter +public class HttpAddressKeyItem { + + /** + * 配置的key + */ + private String key; + + /** + * 配置的value + */ + private String address; + + /** + * 父级key + */ + private String fatherKey; + + + +} diff --git a/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpRequest.java b/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpRequest.java new file mode 100644 index 0000000..7f2196e --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpRequest.java @@ -0,0 +1,260 @@ +package org.wcs.plugin.webHttpClient.model; + +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.Map; + +@Setter +@Getter +public class HttpRequest { + + /** + * 请求id + */ + private String id; + + /** + * 是否自动重试 + */ + private boolean autoRetry; + + /** + * 请求地址 + */ + private String url; + + /** + * 访问地址的key + */ + private String addressKey; + + /** + * 请求方式 + */ + private String method; + + /** + * 请求体 + */ + private String body; + + /** + * 请求头 + */ + private Map headers; + + /** + * 请求参数 + */ + private Map params; + + /** + * 编码格式 + */ + private String charset; + + /** + * 请求内容类型 + */ + private String contentType; + + /** + * 超时时间 + */ + private int timeout; + + /** + * 重试次数 + */ + private int retryCount; + + /** + * 下次重试时间 + */ + private LocalDateTime nextRetryTime; + + /** + * 构建开始 + * @return 返回一个实例 + */ + public static HttpRequest buildStart() { + return new HttpRequest(); + } + + + /** + * 设置 GET 请求方式 + * @return HttpRequest + */ + public HttpRequest get() { + this.method = "GET"; + return this; + } + + /** + * 设置 POST 请求方式 + * @return HttpRequest + */ + public HttpRequest post() { + this.method = "POST"; + return this; + } + + /** + * 设置 PUT 请求方式 + * @return HttpRequest + */ + public HttpRequest put() { + this.method = "PUT"; + return this; + } + + /** + * 设置 DELETE 请求方式 + * @return HttpRequest + */ + public HttpRequest delete() { + this.method = "DELETE"; + return this; + } + + /** + * 设置请求ID + * @param id 请求ID + * @return HttpRequest + */ + public HttpRequest setId(String id) { + this.id = id; + return this; + } + + /** + * 设置自动重试 + * @param autoRetry 是否自动重试 + * @return HttpRequest + */ + public HttpRequest autoRetry(boolean autoRetry) { + this.autoRetry = autoRetry; + return this; + } + + /** + * 设置请求地址 + * @param url 请求地址 + * @return HttpRequest + */ + public HttpRequest setUrl(String url) { + this.url = url; + this.addressKey = null; + return this; + } + + /** + * 设置请求 key ,前提必须设置key才行,否则请使用 url + * @param addressKey 请求key + * @return HttpRequest + */ + public HttpRequest setAddressKey(String addressKey) { + this.addressKey = addressKey; + this.url = null; + return this; + } + + /** + * 设置请求 body + * @param body 请求 body + * @return HttpRequest + */ + public HttpRequest setBody(String body) { + this.body = body; + return this; + } + + /** + * 添加请求头 + * @param headers 请求头 + * @return HttpRequest + */ + public HttpRequest setHeaders(Map headers) { + this.headers = headers; + return this; + } + + /** + * 添加请求参数 + * @param params 请求参数 + * @return HttpRequest + */ + public HttpRequest setParams(Map params) { + this.params = params; + return this; + } + + /** + * 设置编码 + * @param charset 编码 + * @return HttpRequest + */ + public HttpRequest setCharset(String charset) { + this.charset = charset; + return this; + } + + /** + * 设置超时时间 + * @param timeout 超时时间 + * @return HttpRequest + */ + public HttpRequest setTimeout(int timeout) { + this.timeout = timeout; + return this; + } + + /** + * 设置Content-Type + * @param contentType Content-Type + * @return HttpRequest + */ + public HttpRequest setContentType(String contentType) { + this.contentType = contentType; + return this; + } + + /** + * 构建HttpRequest + * @return HttpRequest + */ + public HttpRequest buildEnd() { + if(this.method == null) { + this.method = "GET"; + } + if(this.contentType == null) { + this.contentType = "application/json"; + } + if(this.charset == null) { + this.charset = "UTF-8"; + } + if(this.timeout <= 0) { + this.timeout = 15000; + } + return this; + } + + @Override + public String toString() { + return "HttpRequest{" + + "url='" + url + '\'' + + ", addressKey='" + addressKey + '\'' + + ", method='" + method + '\'' + + ", body='" + body + '\'' + + ", headers=" + headers + + ", params=" + params + + ", charset='" + charset + '\'' + + ", contentType='" + contentType + '\'' + + ", timeout=" + timeout + + '}'; + } + +} diff --git a/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpResponse.java b/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpResponse.java new file mode 100644 index 0000000..8a5ddca --- /dev/null +++ b/wcs/src/main/java/org/wcs/plugin/webHttpClient/model/HttpResponse.java @@ -0,0 +1,114 @@ +package org.wcs.plugin.webHttpClient.model; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * HTTP 响应类 + */ +@Getter +@Setter +@NoArgsConstructor +public class HttpResponse { + + public HttpResponse(boolean isError, String message, HttpRequest request) { + this.baseDataError = isError; + this.errText = message; + this.request = request; + } + + /** + * 基础信息是否是否错误 + */ + private boolean baseDataError; + + /** + * 错误信息 + */ + private String errText; + + /** + * 是否成功 + */ + private boolean success; + + /** + * 请求方法 + */ + private String method; + + /** + * 请求地址 key + */ + private String addressKey; + + /** + * 请求地址 + */ + private String url; + + /** + * 请求时间 + */ + private LocalDateTime requestTime; + + /** + * 响应时间 + */ + private LocalDateTime responseTime; + + /** + * 请求耗时 + */ + private long useTime; + + /** + * 响应码 + */ + private int responseCode; + + /** + * 请求内容 + */ + private String requestText; + + /** + * 响应内容 + */ + private String responseText; + + /** + * 异常 + */ + private Exception exception; + + /** + * 请求对象 + */ + private HttpRequest request; + + + @Override + public String toString() { + if(baseDataError) { + return "基础数据错误:" + errText + + "\n请求对象:" + request; + } + return "请求方法:" + method + + "\n请求地址 key:" + addressKey + + "\n请求地址:" + url + + "\n请求时间:" + requestTime + + "\n响应时间:" + responseTime + + "\n请求耗时:" + useTime + + "\n响应码:" + responseCode + + "\n请求内容:" + requestText + + "\n响应内容:" + responseText + + "\n异常:" + exception; + } + + + +} diff --git a/wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java b/wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java new file mode 100644 index 0000000..68b9069 --- /dev/null +++ b/wcs/src/main/java/org/wcs/quartzJob/CleanDataJob.java @@ -0,0 +1,19 @@ +package org.wcs.quartzJob; + +import lombok.extern.slf4j.Slf4j; +import org.quartz.DisallowConcurrentExecution; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +/** + * 数据清理定时任务 + */ +@Slf4j +@DisallowConcurrentExecution +public class CleanDataJob implements Job { + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + System.out.println("数据清理定时任务开始执行..."); + } +} diff --git a/wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java b/wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java new file mode 100644 index 0000000..6e3a22b --- /dev/null +++ b/wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java @@ -0,0 +1,298 @@ +package org.wcs.quartzJob; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.quartz.DisallowConcurrentExecution; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.wcs.business.data.intf.IDataRecorder; +import org.wcs.business.stock.LocationManage; +import org.wcs.business.stock.StockComposeTaskManage; +import org.wcs.business.stock.intf.IComposeTaskStatusReporter; +import org.wcs.constant.enums.database.StockComposeTaskStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskStepStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskTypeEnum; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.helper.AppConfigHelper; +import org.wcs.helper.LocationHelper; +import org.wcs.mapper.intf.AppStockComposeTaskBakService; +import org.wcs.mapper.intf.AppStockComposeTaskService; +import org.wcs.mapper.intf.AppStockSingleTaskBakService; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.model.po.app.AppStockComposeTaskBak; +import org.wcs.model.po.app.AppStockSingleTask; +import org.wcs.model.po.app.AppStockSingleTaskBak; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppDataBaseTransUtils; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.Comparator; +import java.util.List; + +/** + * 【核心】核心定时器,仓库任务解析器,包括 堆垛机任务,托盘线任务,输送线任务,四项车任务,AGV任务 + * 核心逻辑为 从 composeTask 表中查询任务,解析后存入 singleTask 表中 + */ +@Slf4j +@DisallowConcurrentExecution +@RequiredArgsConstructor +public class ResolveStockTaskJob implements Job { + + private final StockComposeTaskManage stockComposeTaskManage; + private final AppStockComposeTaskService stockComposeTaskService; + private final AppStockComposeTaskBakService stockComposeTaskBakService; + private final AppStockSingleTaskService stockSingleTaskService; + private final AppStockSingleTaskBakService stockSingleTaskBakService; + private final AppDataBaseTransUtils transUtils; + private final IDataRecorder dataRecorder; + private final AppConfigHelper configHelper; + private final LocationHelper locationHelper; + private final IComposeTaskStatusReporter composeTaskStatusReporter; + private final LocationManage locationManage; // 仓库位置管理器 + + static boolean stockComposeTaskManageInitialized = false; + + @Override + public void execute(JobExecutionContext jobExecutionContext) { + if(!stockComposeTaskManageInitialized) { + try { + stockComposeTaskManage.initialize(); + stockComposeTaskManageInitialized = true; + log.info("定时任务:解析任务数据初始化完成"); + } catch (Exception e) { + return; + } + } + locationManage.loadOnceLocation(); // 仓库位置管理器初始化 + /* 处理新建任务 */ + List newTaskList = stockComposeTaskService.queryWithStatus(StockComposeTaskStatusEnum.CREATE.getCode()); + resolveNewStockTask(newTaskList); // 处理新建任务 + /* 处理正在执行的任务 */ + List executingTaskList = stockComposeTaskService.queryWithStatus(StockComposeTaskStatusEnum.EXECUTING.getCode()); + resolveExecutingStockTask(executingTaskList); + /* 处理已经做完或者已经取消的任务 */ + List endTaskList = stockComposeTaskService.queryWithStatus(StockComposeTaskStatusEnum.COMPLETE.getCode(), StockComposeTaskStatusEnum.CANCEL.getCode()); + resolveEndStockTask(endTaskList); + /* 处理超时任务 */ + List timeoutTaskList = stockComposeTaskService.queryWithStatus(StockComposeTaskStatusEnum.TIMEOUT.getCode()); + resolveTimeoutStockTask(timeoutTaskList); + /* 处理任务异常的任务 */ + List errorTaskList = stockComposeTaskService.queryWithStatus(StockComposeTaskStatusEnum.ERROR.getCode()); + resolveErrorStockTask(errorTaskList); + } + + /** + * 处理新任务 + * @param stockComposeTaskList 新任务列表 + */ + private void resolveNewStockTask(List stockComposeTaskList) { + /* 主要功能,校验任务数据是否合法,不合法取消任务,合法的生成子任务 */ + stockComposeTaskList.forEach(stockComposeTask -> { + log.info("处理新仓库任务:{}", AppStringUtils.objectToString(stockComposeTask)); + // 初步检查 + String dataCheckErrText = StockComposeTaskTypeEnum.getByCode(stockComposeTask.getTaskType()).getStockTaskDataCheck().checkStockTaskData(stockComposeTask); + if(AppStringUtils.isNotEmpty(dataCheckErrText)) { + stockComposeTaskService.setTaskStatusAndMsg(stockComposeTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL,StockComposeTaskStepStatusEnum.ERROR, dataCheckErrText); + dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), dataCheckErrText); + return; + } + if(stockComposeTask.getTaskType().equals(StockComposeTaskTypeEnum.AUTO.getCode())) { // ---- 自动的暂时不做,存在问题 + // 自动任务生成新任务 + Tuple2 firstAutoStockSingleTaskTuple = stockComposeTaskManage.createFirstAutoStockSingleTask(stockComposeTask); + if(AppStringUtils.isEmpty(firstAutoStockSingleTaskTuple.item1)) { + // 任务创建成功,插入新独立任务,将组合任务更新成执行中 + boolean createTransResult = transUtils.useTran(() -> { + stockSingleTaskService.insert(firstAutoStockSingleTaskTuple.item2); + stockComposeTaskService.setTaskStatusAndMsg(stockComposeTask.getTaskId(), StockComposeTaskStatusEnum.QUEUE, StockComposeTaskStepStatusEnum.CREATE, "任务解析完成"); + }); + if(!createTransResult) { + log.info("初次任务创建失败,组合任务ID:{},数据库事务执行失败", stockComposeTask.getTaskId()); + dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,插入任务时数据库事务执行失败"); + return; + } + dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), "任务解析完成"); + log.info("初次任务创建成功,组合任务ID:{}", stockComposeTask.getTaskId()); + return; + } + log.info("初次任务创建失败,组合任务ID:{},错误信息:{}", stockComposeTask.getTaskId(), firstAutoStockSingleTaskTuple.item1); + dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,错误信息:" + firstAutoStockSingleTaskTuple.item1); + stockComposeTaskService.setTaskStatusAndMsg(stockComposeTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL,StockComposeTaskStepStatusEnum.ERROR, firstAutoStockSingleTaskTuple.item1); + return; + } + if(StockComposeTaskTypeEnum.autoCalculateCourseType(stockComposeTask.getTaskType())) { // 自动计算的路径 + if(!stockComposeTask.getTaskType().equals(StockComposeTaskTypeEnum.IN.getCode()) && AppStringUtils.isEmpty(stockComposeTask.getOrigin())) { + // 不是入库任务,并且起点为空,任务取消 + String errText = "非入库任务不允许存在起点为空"; + log.info("任务解析失败,组合任务ID:{},错误信息:{}", stockComposeTask.getTaskId(), errText); + dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,错误信息:" + errText); + stockComposeTaskService.setTaskStatusAndMsg(stockComposeTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL,StockComposeTaskStepStatusEnum.ERROR, errText); + return; + } + Tuple2 stockSingleTask = stockComposeTaskManage.createStockSingleTask(stockComposeTask, stockComposeTask.getOrigin(), stockComposeTask.getDestination()); + if(AppStringUtils.isEmpty(stockSingleTask.item1)) { + // 任务创建成功,插入新独立任务,将组合任务更新成执行中 + boolean createTransResult = transUtils.useTran(() -> { + stockSingleTaskService.insert(stockSingleTask.item2); + stockComposeTaskService.setTaskStatusAndMsg(stockComposeTask.getTaskId(), StockComposeTaskStatusEnum.QUEUE, StockComposeTaskStepStatusEnum.CREATE, "任务解析完成"); + }); + if(!createTransResult) { + log.info("组合任务解析 创建失败,组合任务ID:{},数据库事务执行失败", stockComposeTask.getTaskId()); + dataRecorder.recordStockMsg(stockComposeTask.getUpperTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,插入任务时数据库事务执行失败"); + return; + } + dataRecorder.recordStockMsg(stockComposeTask.getUpperTaskId(), stockComposeTask.getVehicleNo(), "任务解析完成"); + log.info("组合任务解析 创建成功,组合任务ID:{}", stockComposeTask.getTaskId()); + return; + } + log.info("组合任务解析 创建失败,组合任务ID:{},错误信息:{}", stockComposeTask.getTaskId(), stockSingleTask.item1); + dataRecorder.recordStockMsg(stockComposeTask.getUpperTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,错误信息:" + stockSingleTask.item1); + stockComposeTaskService.setTaskStatusAndMsg(stockComposeTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL, StockComposeTaskStepStatusEnum.ERROR, stockSingleTask.item1); + return; + } + }); + } + + /** + * 处理执行中的任务 + * @param executingTaskList 执行中的任务列表 + */ + private void resolveExecutingStockTask(List executingTaskList) { + executingTaskList.forEach(executingTask -> { + // 判断是否超时 + String composeTaskTimeout = configHelper.getConfig("COMPOSE_TASK_TIMEOUT"); + composeTaskTimeout = composeTaskTimeout == null ? "180" : composeTaskTimeout; + if(executingTask.getStartTime().plusMinutes(Long.parseLong(composeTaskTimeout)).isBefore(LocalDateTime.now())) { + stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL, StockComposeTaskStepStatusEnum.ERROR, "超时自动取消,超时时间:" + composeTaskTimeout + " 分钟"); + dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "任务超时自动取消,超时时间:" + composeTaskTimeout + " 分钟"); + return; + } + // 根据子任务判断动作 + List stockSingleTasks = stockSingleTaskService.queryByUpperTaskId(executingTask.getUpperTaskId()); + if(stockSingleTasks == null) { + return; // 查询失败 + } + if(stockSingleTasks.isEmpty()) { + return; // 没有任务 + } + stockSingleTasks.sort(Comparator.comparingInt(AppStockSingleTask::getPriority).reversed()); + AppStockSingleTask stockSingleTask = stockSingleTasks.getFirst(); + if(stockSingleTask.getTaskStatus().equals(StockSingleTaskStatusEnum.CANCEL.getCode())) { + // 任务取消,一并取消组合任务 + stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL, StockComposeTaskStepStatusEnum.ERROR, "任务取消,信息:" + stockSingleTask.getTaskMsg()); + dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "任务取消,信息:" + stockSingleTask.getTaskMsg()); + return; + } + if(stockSingleTask.getTaskStatus().equals(StockSingleTaskStatusEnum.COMPLETE.getCode())) { + // 子任务完成 + String businessDestinationLocationId = locationHelper.getBusinessLocationId(stockSingleTask.getDestination()); + if(businessDestinationLocationId == null) { + return; + } + if(AppStringUtils.isEmpty(executingTask.getDestination()) || businessDestinationLocationId.equals(executingTask.getDestination())) { + // 组合任务终点为空或者子任务终点等于组合任务终点,任务完成 + stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.COMPLETE, StockComposeTaskStepStatusEnum.COMPLETE,"任务完成"); + dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "任务完成"); + log.info("任务完成,组合任务ID:{}", executingTask.getTaskId()); + return; + } + // 子任务终点不等于组合任务终点,任务继续,生成下一个任务 + Tuple2 nextAutoStockSingleTaskResult = stockComposeTaskManage.createStockSingleTask(executingTask, stockSingleTask.getDestination(), executingTask.getDestination()); + if(nextAutoStockSingleTaskResult.getItem1() != null) { + log.info("生成下一个任务失败,组合任务ID:{},错误信息:{}", executingTask.getTaskId(), nextAutoStockSingleTaskResult.getItem1()); + dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "生成下一个任务失败,错误信息:" + nextAutoStockSingleTaskResult.getItem1()); + stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.ERROR, StockComposeTaskStepStatusEnum.ERROR, "生成下一个任务失败,错误信息:" + nextAutoStockSingleTaskResult.getItem1()); + return; + } + AppStockSingleTask nextAutoStockSingleTask = nextAutoStockSingleTaskResult.getItem2(); + boolean insert = stockSingleTaskService.insert(nextAutoStockSingleTask); + if(!insert) { + log.info("生成下一个任务失败,组合任务ID:{},错误信息:数据服务异常", executingTask.getTaskId()); + } + stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.EXECUTING, StockComposeTaskStepStatusEnum.RUNNING, "接续任务创建:" + nextAutoStockSingleTask.getTaskId()); + dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "接续任务创建:" + nextAutoStockSingleTask.getTaskId()); + log.info("任务继续,组合任务ID:{}", executingTask.getTaskId()); + } + // 其他任务类型不处理 + }); + } + + /** + * 处理已结束的任务 ---- 完成或者取消 + * @param endTaskList 已结束任务列表 + */ + private void resolveEndStockTask(List endTaskList) { + for (AppStockComposeTask composeTask : endTaskList) { + List stockSingleTasks = stockSingleTaskService.queryByUpperTaskId(composeTask.getUpperTaskId()); + if(stockSingleTasks == null) { + continue; + } + /* 完成任务 */ + if(composeTask.getTaskStatus().equals(StockComposeTaskStatusEnum.COMPLETE.getCode())) { + Tuple2 reporterResult = composeTaskStatusReporter.taskFinish(composeTask, composeTask.getTaskMsg()); + if(reporterResult.getItem1() != null) { + log.info("任务完成上报失败,组合任务ID:{},错误信息:{}", composeTask.getTaskId(), reporterResult.getItem1()); + dataRecorder.recordStockMsg(composeTask.getUpperTaskId(), composeTask.getVehicleNo(), "任务完成上报失败,错误信息:" + reporterResult.getItem1()); + return; + } + log.info("任务完成上报成功,组合任务ID:{},返回信息:{}", composeTask.getTaskId(), reporterResult.getItem2()); + boolean tran = transUtils.useTran(() -> { + AppStockComposeTaskBak composeTaskBak = new AppStockComposeTaskBak(); + AppBeanUtils.copyProperties(composeTask, composeTaskBak); + stockComposeTaskBakService.insertThrowEx(composeTaskBak); + stockComposeTaskService.deleteWithTaskIdThrowEx(composeTask.getTaskId()); + for (AppStockSingleTask stockSingleTask : stockSingleTasks) { + AppStockSingleTaskBak stockSingleTaskBak = new AppStockSingleTaskBak(); + AppBeanUtils.copyProperties(stockSingleTask, stockSingleTaskBak); + stockSingleTaskBakService.insertThrowEx(stockSingleTaskBak); + stockSingleTaskService.deleteByTaskIdThrowEx(stockSingleTask.getTaskId()); + } + }); + log.info("任务完成,组合任务ID:{},归档数据结果:{}", composeTask.getTaskId(), tran); + return; + } + /* 取消任务 */ + if(composeTask.getTaskStatus().equals(StockComposeTaskStatusEnum.CANCEL.getCode())) { + Tuple2 reporterResult = composeTaskStatusReporter.taskCancel(composeTask, composeTask.getTaskMsg()); + if(reporterResult.getItem1() != null) { + log.info("任务取消上报失败,组合任务ID:{},错误信息:{}", composeTask.getTaskId(), reporterResult.getItem1()); + dataRecorder.recordStockMsg(composeTask.getUpperTaskId(), composeTask.getVehicleNo(), "任务取消上报失败,错误信息:" + reporterResult.getItem1()); + return; + } + log.info("任务取消上报成功,组合任务ID:{},返回信息:{}", composeTask.getTaskId(), reporterResult.getItem2()); + boolean tran = transUtils.useTran(() -> { + AppStockComposeTaskBak composeTaskBak = new AppStockComposeTaskBak(); + AppBeanUtils.copyProperties(composeTask, composeTaskBak); + stockComposeTaskBakService.insertThrowEx(composeTaskBak); + stockComposeTaskService.deleteWithTaskIdThrowEx(composeTask.getTaskId()); + for (AppStockSingleTask stockSingleTask : stockSingleTasks) { + AppStockSingleTaskBak stockSingleTaskBak = new AppStockSingleTaskBak(); + AppBeanUtils.copyProperties(stockSingleTask, stockSingleTaskBak); + stockSingleTaskBakService.insertThrowEx(stockSingleTaskBak); + stockSingleTaskService.deleteByTaskIdThrowEx(stockSingleTask.getTaskId()); + } + }); + log.info("任务取消,组合任务ID:{},归档数据结果:{}", composeTask.getTaskId(), tran); + return; + } + } + } + + /** + * 处理超时任务 + * @param timeoutTaskList 超时任务列表 + */ + private void resolveTimeoutStockTask(List timeoutTaskList) { + + } + + /** + * 处理异常任务 + * @param errorTaskList 异常任务列表 + */ + private void resolveErrorStockTask(List errorTaskList) { + + } +} diff --git a/wcs/src/main/java/org/wcs/quartzJob/RetryApiRequestJob.java b/wcs/src/main/java/org/wcs/quartzJob/RetryApiRequestJob.java new file mode 100644 index 0000000..1e01b57 --- /dev/null +++ b/wcs/src/main/java/org/wcs/quartzJob/RetryApiRequestJob.java @@ -0,0 +1,50 @@ +package org.wcs.quartzJob; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.quartz.DisallowConcurrentExecution; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.wcs.constant.ConstantData; +import org.wcs.plugin.webHttpClient.WebHttpClient; +import org.wcs.plugin.webHttpClient.model.HttpRequest; +import org.wcs.plugin.webHttpClient.model.HttpResponse; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.Set; + +/** + * 接口重试定时任务 + */ +@Slf4j +@DisallowConcurrentExecution +@RequiredArgsConstructor +public class RetryApiRequestJob implements Job { + + private final StringRedisTemplate redisTemplate; // redis字符串操作类 + + private static final String HTTP_REQUEST_CACHE = ConstantData.SYSTEM_NAME + ":HTTP:REQUEST"; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + Set keys = redisTemplate.keys(HTTP_REQUEST_CACHE + ":*"); + for (String key : keys) { + String value = redisTemplate.opsForValue().get(key); + HttpRequest httpRequest = AppStringUtils.stringToObject(value, HttpRequest.class); + if(httpRequest == null || !httpRequest.isAutoRetry()) { + redisTemplate.delete(key); + continue; + } + LocalDateTime nextRetryTime = httpRequest.getNextRetryTime(); + if(nextRetryTime != null && nextRetryTime.isBefore(LocalDateTime.now())) { + continue; + } + httpRequest.setRetryCount(httpRequest.getRetryCount() + 1); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + log.info("接口重试,请求数据:{},响应数据:{}", AppStringUtils.objectToString(httpRequest), AppStringUtils.objectToString(httpResponse)); + } + } +} diff --git a/wcs/src/main/java/org/wcs/quartzJob/ScannerJob.java b/wcs/src/main/java/org/wcs/quartzJob/ScannerJob.java new file mode 100644 index 0000000..d518da9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/quartzJob/ScannerJob.java @@ -0,0 +1,119 @@ +package org.wcs.quartzJob; + +import com.alibaba.fastjson2.JSONObject; +import com.alibaba.fastjson2.TypeReference; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.quartz.DisallowConcurrentExecution; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.wcs.annotation.ScanMethodTag; +import org.wcs.business.stock.intf.IScanMethod; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.StockScanTypeEnum; +import org.wcs.mapper.intf.AppStockScanService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppStockScan; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.ScanInfo; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppThreadUtils; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; + +/** + * 扫码器定时任务类 + */ +@Slf4j +@DisallowConcurrentExecution +@RequiredArgsConstructor +public class ScannerJob implements Job { + + private final AppStockScanService stockScanService; + private final StringRedisTemplate stringRedisTemplate; + private final IScanMethod scanMethod; + + public static final String SCANNER_DATA_REDIS_KEY = "WCS:CACHE:SCANNER_JOB_KEY"; + private static Map scanMethodMap = new ConcurrentHashMap<>(); + + @Override + public void execute(JobExecutionContext jobExecutionContext) { + // 先获取扫码方法,后续还会有获取 + if(scanMethodMap.isEmpty()) { + getScanMethod(); + } + // 获取扫码数据 + List stockScans; // 扫码数据 + String scanDataCache = stringRedisTemplate.opsForValue().get(SCANNER_DATA_REDIS_KEY); + if(AppStringUtils.isEmpty(scanDataCache)) { + AppStockScan queryParam = new AppStockScan(); + queryParam.setScanStatus(TrueOrFalseEnum.TRUE.getCode()); + queryParam.setScanType(StockScanTypeEnum.PLC_SCAN.getCode()); + stockScans = stockScanService.query(queryParam); + stringRedisTemplate.opsForValue().set(SCANNER_DATA_REDIS_KEY, AppStringUtils.objectToString(stockScans), 10, TimeUnit.SECONDS); + } else { + stockScans = JSONObject.parseObject(scanDataCache, new TypeReference<>(){}); + } + if(stockScans == null || stockScans.isEmpty()) { + return; + } + List runnableList = new ArrayList<>(); + for (AppStockScan stockScan : stockScans) { + runnableList.add(() -> { + if(AppStringUtils.isEmpty(stockScan.getScanId()) || AppStringUtils.isEmpty(stockScan.getScanMethod())) { + return; + } + Tuple2 stringScanInfoTuple2 = PlcCommunicationFactory.getPlcCommunicationByPlcId(stockScan.getPlcId()).readScannerInfo(stockScan.getScanId()); + if(stringScanInfoTuple2.item1 != null || stringScanInfoTuple2.item2 == null) { + log.error("扫码器[{}]信息读取失败: {}", stockScan.getScanId(), stringScanInfoTuple2.item1); + return; + } + ScanInfo scanInfo = stringScanInfoTuple2.item2; + if(scanMethodMap.isEmpty()) { + getScanMethod(); + } + if(scanMethodMap.isEmpty()) { + log.error("扫码器[{}]信息处理失败: {}", stockScan.getScanId(), "未找到扫码方法"); + return; + } + Method method = scanMethodMap.get(stockScan.getScanMethod()); + if(method == null) { + log.error("扫码器[{}]信息处理失败: {},扫码方法不存在", stockScan.getScanId(), stockScan.getScanMethod()); + return; + } + try { + method.invoke(scanMethod, stockScan, scanInfo); + } catch (IllegalAccessException | InvocationTargetException e) { + log.error("扫码器[{}]信息处理失败: {},扫码方法调用失败", stockScan.getScanId(), stockScan.getScanMethod()); + } + }); + } + AppThreadUtils.waitAllTaskComplete(runnableList); + } + + /** + * 获取扫码方法 + */ + private synchronized void getScanMethod() { + if(scanMethod == null) { + return; + } + scanMethodMap = new ConcurrentHashMap<>(); + Class scanMethodClass = scanMethod.getClass(); + Method[] methods = scanMethodClass.getDeclaredMethods(); + for (Method method : methods) { + ScanMethodTag scanMethodTag = method.getAnnotation(ScanMethodTag.class); + if(scanMethodTag != null) { + String value = scanMethodTag.value(); + scanMethodMap.put(value, method); + } + } + } +} diff --git a/wcs/src/main/java/org/wcs/quartzJob/StackerJob.java b/wcs/src/main/java/org/wcs/quartzJob/StackerJob.java new file mode 100644 index 0000000..202c0d0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/quartzJob/StackerJob.java @@ -0,0 +1,206 @@ +package org.wcs.quartzJob; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.quartz.DisallowConcurrentExecution; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.wcs.business.stacker.StackerStatusMonitor; +import org.wcs.business.stacker.intf.IExecuteStackerTaskService; +import org.wcs.business.stock.intf.IStockSingleTaskExecuteEvent; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.constant.enums.plc.StackerControllerModelEnum; +import org.wcs.constant.enums.plc.StackerDeviceStatusEnum; +import org.wcs.constant.enums.plc.StackerTaskTypeEnum; +import org.wcs.mapper.intf.AppStackerInfoService; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppStackerInfo; +import org.wcs.model.po.app.AppStockSingleTask; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.constant.PlcStackerTaskStatusEnum; +import org.wcs.plugin.plc.model.PlcStackerTaskStatus; +import org.wcs.plugin.plc.model.StackerStatus; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppThreadUtils; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 堆垛机定时任务 + */ +@Slf4j +@DisallowConcurrentExecution +@RequiredArgsConstructor +public class StackerJob implements Job { + + private final IExecuteStackerTaskService executeStackerTaskService; // 堆垛机任务执行 + private final AppStackerInfoService stackerInfoDao; // 堆垛机基础信息表操作类 + private final AppStockSingleTaskService stockSingleTaskService; + private final IStockSingleTaskExecuteEvent stockSingleTaskEvent; + private final StackerStatusMonitor stackerStatusMonitor; // 堆垛机状态监控 + + private static Map nextStackerTaskTypeIndexMap = new ConcurrentHashMap<>(); // 堆垛机下一个执行的任务类型的索引 + private static Map nextStackerTaskTimeMap = new ConcurrentHashMap<>(); // 堆垛机下一次执行任务时间 + + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + List stackerInfos = stackerInfoDao.queryStackerInfoByStatus(TrueOrFalseEnum.TRUE.getCode()); + if(stackerInfos == null || stackerInfos.isEmpty()) { + return; + } + executeStackerTask(stackerInfos); // 执行堆垛机任务 + checkCount(stackerInfos); // 过账 + } + + /** + * 执行堆垛机任务 + * @param stackerInfos 堆垛机列表 + */ + private void executeStackerTask(List stackerInfos) { + List runnableList = new ArrayList<>(); + for (AppStackerInfo stackerInfo : stackerInfos) { + Tuple2 stackerStatusResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).readStackerStatus(stackerInfo.getStackerId()); + if(AppStringUtils.isNotEmpty(stackerStatusResult.item1) || stackerStatusResult.item2 == null) { + continue; // 读取堆垛机状态失败 + } + stackerStatusMonitor.setStackerStatus(stackerInfo, stackerStatusResult.item2); + if(stackerInfo.getStackerId() == null || !isStackerTaskTime(stackerInfo.getStackerId())) { + continue; // 堆垛机任务时间未到 + } + StackerStatus stackerStatus = stackerStatusResult.item2; + if(StackerControllerModelEnum.AUTO.getCode().compareTo(stackerStatus.getControlModel().intValue()) != 0 || stackerStatus.getErrCode().compareTo((short) 0) != 0 ) { + continue; // 堆垛机不联机或者正在报警 + } + if(StackerDeviceStatusEnum.FREE.getCode().compareTo(stackerStatus.getDeviceStatus().intValue()) == 0) { // 堆垛机空闲 + StackerTaskTypeEnum nextTaskType = getNextTaskType(stackerInfo.getStackerId(), stackerInfo.getActionBeat()); + if(nextTaskType == null) { + continue; // 没有获取到堆垛机下一个执行任务类型 + } + runnableList.add(() -> { + boolean isExecute = switch (nextTaskType) { + case IN -> executeStackerTaskService.executeStackerInTask(stackerInfo); + case OUT -> executeStackerTaskService.executeStackerOutTask(stackerInfo); + case MOVE -> executeStackerTaskService.executeStackerMoveTask(stackerInfo); + default -> false; + }; + if(isExecute) { + nextStackerTaskTimeMap.put(stackerInfo.getStackerId(), LocalDateTime.now().plusSeconds(10)); // 如果执行了任务就十秒钟之后再检查堆垛机 + } + }); + } + // 待开发,重复入库的任务下发 + } + if(runnableList.isEmpty()) { + return; + } + AppThreadUtils.waitAllTaskComplete(runnableList); + } + + /** + * 堆垛机过账 + * @param stackerInfos 堆垛机列表 + */ + private void checkCount(List stackerInfos) { + List runnableList = new ArrayList<>(); + for (AppStackerInfo stackerInfo : stackerInfos) { + if(stackerInfo.getStackerId() == null) { + continue; + } + runnableList.add(() -> { + Map integerPlcStackerTaskStatusMap = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).readStackerTaskStatus(stackerInfo.getStackerId()); + if(integerPlcStackerTaskStatusMap == null || integerPlcStackerTaskStatusMap.isEmpty()) { + return; // 读取堆垛机任务状态失败 + } + integerPlcStackerTaskStatusMap.forEach((index, taskStatus) -> { + if(taskStatus == null || taskStatus.getTaskId() == 0) { + return; + } + if(taskStatus.getStackerTaskStatusEnum().equals(PlcStackerTaskStatusEnum.UNKNOWN)) { + log.info("堆垛机过账任务状态未知:堆垛机ID:{},堆垛机任务ID:{}", stackerInfo.getStackerId(), taskStatus.getTaskId()); + String clearResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).clearStackerTaskStatus(stackerInfo.getStackerId(), index); + log.info("堆垛机清除过账任务状态结果:{},堆垛机ID:{},堆垛机任务ID:{}", clearResult, stackerInfo.getStackerId(), taskStatus.getTaskId()); + return; + } + if(taskStatus.getStackerTaskStatusEnum().equals(PlcStackerTaskStatusEnum.COMPLETED)) { + // 任务完成 + List stockSingleTasks = stockSingleTaskService.queryByPlcTaskId(taskStatus.getTaskId()); + if(stockSingleTasks == null) { + log.info("堆垛机任务完成,查询任务信息失败:堆垛机ID:{},堆垛机任务ID:{}", stackerInfo.getStackerId(), taskStatus.getTaskId()); + return; + } + if(stockSingleTasks.isEmpty()) { + log.info("堆垛机任务完成,查询任务信息为空:堆垛机ID:{},堆垛机任务ID:{}", stackerInfo.getStackerId(), taskStatus.getTaskId()); + return; + } + stockSingleTaskEvent.taskFinish(stockSingleTasks.getFirst(), "堆垛机上报完成"); + String clearResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).clearStackerTaskStatus(stackerInfo.getStackerId(), index); + log.info("堆垛机任务完成清除过账任务状态结果:{},堆垛机ID:{},堆垛机任务ID:{}", clearResult, stackerInfo.getStackerId(), taskStatus.getTaskId()); + return; + } + if(taskStatus.getStackerTaskStatusEnum().equals(PlcStackerTaskStatusEnum.CANCELED)) { + // 任务取消 + List stockSingleTasks = stockSingleTaskService.queryByPlcTaskId(taskStatus.getTaskId()); + if(stockSingleTasks == null) { + log.info("堆垛机任务取消,查询任务信息失败:堆垛机ID:{},堆垛机任务ID:{}", stackerInfo.getStackerId(), taskStatus.getTaskId()); + return; + } + if(stockSingleTasks.isEmpty()) { + log.info("堆垛机任务取消,查询任务信息为空:堆垛机ID:{},堆垛机任务ID:{}", stackerInfo.getStackerId(), taskStatus.getTaskId()); + return; + } + stockSingleTaskEvent.taskCancel(stockSingleTasks.getFirst(), "堆垛机上报取消"); + String clearResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(stackerInfo.getPlcId()).clearStackerTaskStatus(stackerInfo.getStackerId(), index); + log.info("堆垛机任务取消清除过账任务状态结果:{},堆垛机ID:{},堆垛机任务ID:{}", clearResult, stackerInfo.getStackerId(), taskStatus.getTaskId()); + } + // 待完善,空出库和重复入库处理 + }); + }); + } + if(runnableList.isEmpty()) { + return; + } + AppThreadUtils.waitAllTaskComplete(runnableList); + } + + /** + * 获取堆垛机下一个执行任务类型 + * @param stackerId 堆垛机ID + * @param taskBeat 堆垛机任务执行节拍 + * @return 下一个执行的任务类型 + */ + private StackerTaskTypeEnum getNextTaskType(Integer stackerId, String taskBeat) { + if(AppStringUtils.isEmpty(taskBeat)) { + return null; + } + Integer nexStackerTaskTypeIndex = nextStackerTaskTypeIndexMap.getOrDefault(stackerId, 0); + if(nexStackerTaskTypeIndex >= taskBeat.length()) { + nexStackerTaskTypeIndex = 0; + } + StackerTaskTypeEnum stackerTaskTypeEnum = StackerTaskTypeEnum.getByCode(AppStringUtils.toIntegerOrDefault(String.valueOf(taskBeat.charAt(nexStackerTaskTypeIndex)), 0)); + nexStackerTaskTypeIndex++; + nextStackerTaskTypeIndexMap.put(stackerId, nexStackerTaskTypeIndex); + return stackerTaskTypeEnum; + } + + /** + * 判断堆垛机下次可执行任务的时间 + * @param stackerId 堆垛机ID + * @return 是否是堆垛机任务时间 + */ + private boolean isStackerTaskTime(Integer stackerId) { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime nextStackerTaskTime = nextStackerTaskTimeMap.get(stackerId); + if(nextStackerTaskTime == null) { + return true; + } + return !now.isBefore(nextStackerTaskTime); + } +} diff --git a/wcs/src/main/java/org/wcs/quartzJob/TestQuartzJob.java b/wcs/src/main/java/org/wcs/quartzJob/TestQuartzJob.java new file mode 100644 index 0000000..32eb2bc --- /dev/null +++ b/wcs/src/main/java/org/wcs/quartzJob/TestQuartzJob.java @@ -0,0 +1,34 @@ +package org.wcs.quartzJob; + +import lombok.RequiredArgsConstructor; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.wcs.constant.enums.business.SseEventTypeEnum; +import org.wcs.helper.SseHelper; +import org.wcs.model.pojo.serve.NotificationInfo; +import org.wcs.model.pojo.serve.RunningEventInfo; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppTimeUtils; + +import java.time.LocalDateTime; + +/** + * 测试定时任务 + */ +@RequiredArgsConstructor +public class TestQuartzJob implements Job { + + private final SseHelper sseHelper; + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + System.out.println("测试定时任务"); + RunningEventInfo runningEventInfo = new RunningEventInfo(); + runningEventInfo.setEventTime(AppTimeUtils.formatLocalDatetime(LocalDateTime.now())); + runningEventInfo.setEventMsg("测试数据"); + sseHelper.SendEventToAll(SseEventTypeEnum.RUNNING_INFO, AppStringUtils.objectToString(runningEventInfo)); + NotificationInfo notificationInfo = NotificationInfo.info("测试数据", "提示", 5000); + sseHelper.SendEventToAll(SseEventTypeEnum.SYSTEM_INFO, AppStringUtils.objectToString(notificationInfo)); + + } +} diff --git a/wcs/src/main/java/org/wcs/quartzJob/TrayConveyJob.java b/wcs/src/main/java/org/wcs/quartzJob/TrayConveyJob.java new file mode 100644 index 0000000..382b6d4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/quartzJob/TrayConveyJob.java @@ -0,0 +1,141 @@ +package org.wcs.quartzJob; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.quartz.DisallowConcurrentExecution; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.wcs.business.stock.intf.IStockSingleTaskExecuteEvent; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.constant.enums.database.StockSingleTaskTypeEnum; +import org.wcs.helper.PlcTaskIdHelper; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.mapper.intf.AppTrayConveyLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppStockSingleTask; +import org.wcs.model.po.app.AppTrayConveyLocation; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.TaskConveyStatus; +import org.wcs.plugin.plc.model.TaskConveyTask; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +/** + * 托盘线定时任务 + */ +@Slf4j +@DisallowConcurrentExecution +@RequiredArgsConstructor +public class TrayConveyJob implements Job { + + private final AppStockSingleTaskService stockSingleTaskService; + private final AppTrayConveyLocationService trayConveyLocationService; + private final IStockSingleTaskExecuteEvent stockSingleTaskExecuteEvent; // 独立任务执行 事件 + + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + executeTrayConveyTask(); // 执行托盘线任务 + checkCount(); // 检查托盘线过账 + } + + + /** + * 执行托盘线任务 + */ + private void executeTrayConveyTask() { + List stockSingleTasks = stockSingleTaskService.queryTask(StockSingleTaskTypeEnum.getAllConveyTaskType(), StockSingleTaskStatusEnum.CREATE.getCode()); + if(stockSingleTasks == null || stockSingleTasks.isEmpty()) { + return; + } + for (AppStockSingleTask stockSingleTask : stockSingleTasks) { + List originLocationInfoList = trayConveyLocationService.getDataByLocationId(stockSingleTask.getOrigin()); + if(originLocationInfoList == null || originLocationInfoList.isEmpty()) { + continue; + } + List destinationLocationList = trayConveyLocationService.getDataByLocationId(stockSingleTask.getDestination()); + if(destinationLocationList == null || destinationLocationList.isEmpty()) { + continue; + } + AppTrayConveyLocation originLocationInfo = originLocationInfoList.getFirst(); + AppTrayConveyLocation destinationLocationInfo = destinationLocationList.getFirst(); + Tuple2 originLocationStatusTuple = PlcCommunicationFactory.getPlcCommunicationByPlcId(originLocationInfo.getPlcId()).readTaskConveyStatus(originLocationInfo.getLocationId()); + if(originLocationStatusTuple == null || AppStringUtils.isNotEmpty(originLocationStatusTuple.item1) || originLocationStatusTuple.item2 == null) { + log.warn("托盘线:{} 获取位置:{} 状态失败", originLocationInfo.getLocationId(), originLocationInfo.getLocationId()); + continue; + } + TaskConveyStatus originLocationStatus = originLocationStatusTuple.item2; + if(originLocationStatus.getPlcTaskId() != 0 || originLocationStatus.getDeviceStatus() != 5 || originLocationStatus.getErrCode() != 0) { + // 起点设备状态不满足 + continue; + } + Tuple2 destinationLocationStatusTuple = PlcCommunicationFactory.getPlcCommunicationByPlcId(destinationLocationInfo.getPlcId()).readTaskConveyStatus(destinationLocationInfo.getLocationId()); + if(destinationLocationStatusTuple == null || AppStringUtils.isNotEmpty(destinationLocationStatusTuple.item1) || destinationLocationStatusTuple.item2 == null) { + log.warn("托盘线:{} 获取位置:{} 状态失败", destinationLocationInfo.getLocationId(), destinationLocationInfo.getLocationId()); + continue; + } + TaskConveyStatus destinationLocationStatus = destinationLocationStatusTuple.item2; + if(destinationLocationStatus.getErrCode() != 0 || destinationLocationStatus.getDeviceStatus() != 5) { + // 终点设备状态不满足 + continue; + } + // 构造并写入任务 + TaskConveyTask taskConveyTask = new TaskConveyTask(); + taskConveyTask.setPlcTaskId(stockSingleTask.getPlcTaskId()); + taskConveyTask.setTaskType(StockSingleTaskTypeEnum.conveyTaskTypeToPlc(stockSingleTask.getTaskType())); + taskConveyTask.setOrigin(AppStringUtils.forceToShort(originLocationInfo.getLocationId())); + taskConveyTask.setDestination(AppStringUtils.forceToShort(destinationLocationInfo.getLocationId())); + taskConveyTask.setVehicleSize(stockSingleTask.getVehicleSize().shortValue()); + taskConveyTask.setWeight(stockSingleTask.getWeight().intValue()); + taskConveyTask.setVehicleNo(stockSingleTask.getVehicleNo()); + String writeTaskResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(originLocationInfo.getPlcId()).writeTaskConveyTask(originLocationInfo.getLocationId(), taskConveyTask); + if(AppStringUtils.isNotEmpty(writeTaskResult)) { + log.warn("托盘线:{} 写入任务失败,载具号:{}。原因:{}", stockSingleTask.getTaskId(), stockSingleTask.getVehicleNo(), writeTaskResult); + continue; + } + // 写入成功 + stockSingleTaskExecuteEvent.taskStart(stockSingleTask, "任务开始执行"); + // TODO LED 屏显示 + + } + } + + /** + * 托盘线过账 ---- 检查终点位置托盘号 + */ + private void checkCount() { + List stockSingleTasks = stockSingleTaskService.queryTask(StockSingleTaskTypeEnum.getAllConveyTaskType(), StockSingleTaskStatusEnum.EXECUTING.getCode()); + if(stockSingleTasks == null || stockSingleTasks.isEmpty()) { + return; + } + for (AppStockSingleTask stockSingleTask : stockSingleTasks) { + List destinationLocationList = trayConveyLocationService.getDataByLocationId(stockSingleTask.getDestination()); + if(destinationLocationList == null || destinationLocationList.isEmpty()) { + continue; + } + AppTrayConveyLocation destinationLocationInfo = destinationLocationList.getFirst(); + Tuple2 destinationLocationStatusTuple = PlcCommunicationFactory.getPlcCommunicationByPlcId(destinationLocationInfo.getPlcId()).readTaskConveyStatus(destinationLocationInfo.getLocationId()); + if(destinationLocationStatusTuple == null || AppStringUtils.isNotEmpty(destinationLocationStatusTuple.item1) || destinationLocationStatusTuple.item2 == null) { + log.warn("托盘线:{} 获取位置:{} 状态失败", destinationLocationInfo.getLocationId(), destinationLocationInfo.getLocationId()); + continue; + } + TaskConveyStatus destinationLocationStatus = destinationLocationStatusTuple.item2; + Integer plcTaskId = destinationLocationStatus.getPlcTaskId(); + if(plcTaskId == 0) { + // 终点设备任务号为0 + continue; + } + List completeTaskList = stockSingleTaskService.queryByPlcTaskId(plcTaskId); + if(completeTaskList == null || completeTaskList.isEmpty()) { + continue; + } + for (AppStockSingleTask completeTask : completeTaskList) { + // 正常这里应该只有一个 + stockSingleTaskExecuteEvent.taskFinish(completeTask, "任务完成"); + // TODO LED 屏显示 + } + } + } +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/ApiController.java b/wcs/src/main/java/org/wcs/serve/controller/app/ApiController.java new file mode 100644 index 0000000..f9cef70 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/ApiController.java @@ -0,0 +1,80 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.api.AddApiBaseInfoReq; +import org.wcs.model.dto.serve.api.QueryApiBaseInfoReq; +import org.wcs.model.dto.serve.api.UpdateApiBaseInfoReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.api.QueryApiBaseInfoVo; +import org.wcs.serve.service.intf.IApiService; + +import java.util.List; + +/** + * API 控制器 + */ +@RestController +@RequestMapping("/app/api") +@ResponseBody +@RequiredArgsConstructor +public class ApiController { + + private final IApiService apiService; + + /** + * 查询API基础信息 + * @param queryApiBaseInfoReq 查询API基础信息请求参数 + * @return API基础信息 + */ + @PostMapping("/queryApiBaseInfo") + public AppServeDataResponse> queryApiBaseInfo(@RequestBody QueryApiBaseInfoReq queryApiBaseInfoReq) { + return apiService.queryApiBaseInfo(queryApiBaseInfoReq); + } + + /** + * 重新加载API基础信息 + * @return 重新加载结果 + */ + @PutMapping("/reloadApiKey") + public AppServeResponse reloadApiKey() { + return apiService.reloadApiKey(); + } + + /** + * 添加API基础信息 + * @param addApiBaseInfoReq 添加API基础信息请求参数 + * @return 添加结果 + */ + @PostMapping("/addApiBaseInfo") + public AppServeResponse addApiBaseInfo(@RequestBody @Validated AddApiBaseInfoReq addApiBaseInfoReq) { + return apiService.addApiBaseInfo(addApiBaseInfoReq); + } + + /** + * 删除API基础信息 + * @param apiKey API键 + * @return 删除结果 + */ + @DeleteMapping("/deleteApiBaseInfo/{apiKey}") + public AppServeResponse deleteApiBaseInfo(@PathVariable @NotBlank(message = "api键不能为空") String apiKey) { + return apiService.deleteApiBaseInfo(apiKey); + } + + /** + * 更新API基础信息 + * @param updateApiBaseInfoReq 更新API基础信息请求参数 + * @return 更新结果 + */ + @PostMapping("/updateApiBaseInfo") + public AppServeResponse updateApiBaseInfo(@RequestBody @Validated UpdateApiBaseInfoReq updateApiBaseInfoReq) { + return apiService.updateApiBaseInfo(updateApiBaseInfoReq); + } + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/BaseErrorController.java b/wcs/src/main/java/org/wcs/serve/controller/app/BaseErrorController.java new file mode 100644 index 0000000..6a1eb3e --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/BaseErrorController.java @@ -0,0 +1,115 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.wcs.model.dto.serve.baseError.QueryBaseErrorReq; +import org.wcs.model.dto.serve.baseError.UpdateBaseErrorReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.dto.serve.baseError.AddBaseErrorReq; +import org.wcs.model.vo.serve.baseError.QueryBaseErrorVo; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.serve.service.intf.IBaseErrorService; + +/** + * 基础报警资料控制器 + */ +@RestController +@RequestMapping("/app/baseError") +@ResponseBody +@RequiredArgsConstructor +public class BaseErrorController { + + private final IBaseErrorService baseErrorService; + + /** + * 下载导入模板 + * @param response 响应 + */ + @GetMapping("/downloadImportExample") + public void downLoadImportExample(HttpServletResponse response) { + baseErrorService.downLoadImportExample(response); + } + + /** + * 查询基础错误列表 + * @param request 查询参数 + * @param pageSize 页大小 + * @param pageIndex 页索引 + * @return 查询结果 + */ + @PostMapping("/queryBaseErrorList") + public AppServeDataResponse> queryBaseErrorList(@RequestBody QueryBaseErrorReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return baseErrorService.queryBaseErrorList(request, pageSize, pageIndex); + } + + /** + * 添加基础错误 + * @param request 添加基础错误请求参数 + * @return 添加结果 + */ + @PostMapping("/addBaseError") + public AppServeResponse addBaseError(@RequestBody @Validated AddBaseErrorReq request) { + return baseErrorService.addBaseError(request); + } + + /** + * 导入基础错误 + * @param fileUpload 文件上传 + */ + @PostMapping("/importBaseError") + public AppServeResponse importBaseError(@RequestParam("file") MultipartFile fileUpload) { + return baseErrorService.importBaseError(fileUpload); + } + + /** + * 删除基础错误 + * @param equipmentType 设备类型 + * @return 删除结果 + */ + @DeleteMapping("/deleteBaseErrorByEquipmentType") + public AppServeResponse deleteBaseErrorByEquipmentType(@RequestParam("equipmentType") @NotNull(message = "设备类型不能为空") Integer equipmentType) { + return baseErrorService.deleteBaseErrorByEquipmentType(equipmentType); + } + + /** + * 删除基础错误 + * @param id ID + * @return 删除结果 + */ + @DeleteMapping("/deleteBaseErrorById") + public AppServeResponse deleteBaseErrorById(@RequestParam("id") @NotNull(message = "ID不能为空") String id) { + return baseErrorService.deleteBaseErrorById(id); + } + + /** + * 修改基础错误 + * @param request 修改基础错误请求参数 + * @return 修改结果 + */ + @PostMapping("/updateBaseError") + public AppServeResponse updateBaseError(@RequestBody @Validated UpdateBaseErrorReq request) { + return baseErrorService.updateBaseError(request); + } + + /** + * 获取基础错误信息 + * @param equipmentType 设备类型 + * @param errorCode 错误码 + * @return 基础错误信息 + */ + @GetMapping("/getBaseError") + public AppServeDataResponse getBaseError(@RequestParam("equipmentType") @NotNull(message = "设备类型不能为空") Integer equipmentType, @RequestParam("errorCode") @NotBlank(message = "错误码不能为空") String errorCode) { + return baseErrorService.getBaseError(equipmentType, errorCode); + } + + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/ConfigController.java b/wcs/src/main/java/org/wcs/serve/controller/app/ConfigController.java new file mode 100644 index 0000000..91b25c0 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/ConfigController.java @@ -0,0 +1,56 @@ +package org.wcs.serve.controller.app; + +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.config.QueryConfigReq; +import org.wcs.model.dto.serve.config.UpdateConfigReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.config.QueryConfigResp; +import org.wcs.serve.service.intf.IConfigService; + +import java.util.List; + +/** + * 系统配置相关控制器 + */ +@RestController +@RequestMapping("/app/config") +@ResponseBody +@RequiredArgsConstructor +public class ConfigController { + + private final IConfigService configService; + + /** + * 查询系统配置 + * @param queryConfigReq 查询系统配置请求 + * @return 响应结果 + */ + @PostMapping("/queryConfig") + public AppServeDataResponse> queryConfig(@RequestBody QueryConfigReq queryConfigReq) { + return configService.queryConfig(queryConfigReq); + } + + /** + * 修改系统配置 + * @param updateConfigReq 修改系统配置请求 + * @return 响应结果 + */ + @PostMapping("/updateConfig") + public AppServeResponse updateConfig(@RequestBody @Validated UpdateConfigReq updateConfigReq) { + return configService.updateConfig(updateConfigReq); + } + + /** + * 重新加载系统配置 + * @return 响应结果 + */ + @PutMapping("/reloadConfig") + public AppServeResponse reloadConfig() { + return configService.reloadConfig(); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/ConveyLocationController.java b/wcs/src/main/java/org/wcs/serve/controller/app/ConveyLocationController.java new file mode 100644 index 0000000..775b5c7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/ConveyLocationController.java @@ -0,0 +1,68 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.convey.AddConveyLocationReq; +import org.wcs.model.dto.serve.convey.QueryConveyLocationReq; +import org.wcs.model.dto.serve.convey.UpdateConveyLocationReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.convey.ConveyStatusVo; +import org.wcs.model.vo.serve.convey.QueryConveyLocationVo; +import org.wcs.serve.service.intf.IConveyLocationService; + + +@RestController +@RequestMapping("/app/conveyLocation") +@ResponseBody +@RequiredArgsConstructor +public class ConveyLocationController { + + private final IConveyLocationService conveyLocationService; + + /** + * 分页查询输送线点位信息 + * @param request 查询请求 + * @param pageSize 每页大小 + * @param pageIndex 页码 + * @return 查询结果 + */ + @PostMapping("queryConveyLocation") + public AppServeDataResponse> queryConveyLocation(@RequestBody QueryConveyLocationReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return conveyLocationService.queryConveyLocation(request, pageSize, pageIndex); + } + + /** + * 新增输送点位 + * @param request 新增参数 + * @return 新增结果 + */ + @PostMapping("addConveyLocation") + public AppServeResponse addConveyLocation(@RequestBody @Validated AddConveyLocationReq request) { + return conveyLocationService.addConveyLocation(request); + } + + /** + * 更新输送数据 + * @param request 更新的数据 + * @return 更新结果 + */ + @PostMapping("updateConveyLocation") + public AppServeResponse updateConveyLocation(@RequestBody @Validated UpdateConveyLocationReq request) { + return conveyLocationService.updateConveyLocation(request); + } + + /** + * 查询输送点位状态 + * @param conveyId 查询的输送机编号 + * @return 结果 + */ + @GetMapping("queryConveyLocationStatus") + public AppServeDataResponse queryTrayConveyStatus(@RequestParam("conveyId") @NotBlank(message = "输送点位ID不能为空") String conveyId) { + return conveyLocationService.queryTrayConveyStatus(conveyId); + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/ConveyStandController.java b/wcs/src/main/java/org/wcs/serve/controller/app/ConveyStandController.java new file mode 100644 index 0000000..850e91a --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/ConveyStandController.java @@ -0,0 +1,112 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.conveyStand.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.conveyStand.ConveyCheckStandVo; +import org.wcs.model.vo.serve.conveyStand.ConveyPickStandVo; +import org.wcs.serve.service.intf.IConveyStandService; + +/** + * 输送线站台 + */ +@RestController +@RequestMapping("/app/conveyStand") +@ResponseBody +@RequiredArgsConstructor +public class ConveyStandController { + + private final IConveyStandService conveyStandService; + + /** + * 查询捡货站台 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 站台列表 + */ + @PostMapping("queryPickStand") + public AppServeDataResponse> queryPickStand(@RequestBody QueryPickStandReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return conveyStandService.queryPickStand(request, pageSize, pageIndex); + } + + /** + * 添加捡选站台 + * @param request 添加参数 + * @return 结果 + */ + @PostMapping("addConveyPickStand") + public AppServeResponse addConveyPickStand(@RequestBody @Validated AddConveyPickStandReq request) { + return conveyStandService.addConveyPickStand(request); + } + + /** + * 删除捡选站台 + * @param standId 站台ID + * @return 删除结果 + */ + @DeleteMapping("deleteConveyPickStand") + public AppServeResponse deleteConveyPickStand(@RequestParam("standId") @NotBlank(message = "站台ID不能为空") String standId) { + return conveyStandService.deleteConveyPickStand(standId); + } + + /** + * 修改捡选站台 + * @param request 修改参数 + * @return 修改结果 + */ + @PostMapping("updateConveyPickStand") + public AppServeResponse updateConveyPickStand(@RequestBody @Validated UpdateConveyPickStandReq request) { + return conveyStandService.updateConveyPickStand(request); + } + + /** + * 查询复核站台 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 站台列表 + */ + @PostMapping("queryCheckStand") + public AppServeDataResponse> queryCheckStand(@RequestBody QueryCheckStandReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return conveyStandService.queryCheckStand(request, pageSize, pageIndex); + } + + + /** + * 添加复核站台 + * @param request 添加参数 + * @return 添加结果 + */ + @PostMapping("addConveyCheckStand") + public AppServeResponse addConveyCheckStand(@RequestBody @Validated AddConveyCheckStandReq request) { + return conveyStandService.addConveyCheckStand(request); + } + + /** + * 删除复核站台 + * @param standId 站台ID + * @return 删除结果 + */ + @DeleteMapping("deleteConveyCheckStand") + public AppServeResponse deleteConveyCheckStand(@RequestParam("standId") @NotBlank(message = "站台ID不能为空") String standId) { + return conveyStandService.deleteConveyCheckStand(standId); + } + + /** + * 修改复核站台 + * @param request 修改参数 + * @return 修改结果 + */ + @PostMapping("updateConveyCheckStand") + public AppServeResponse updateConveyCheckStand(@RequestBody @Validated UpdateConveyCheckStandReq request) { + return conveyStandService.updateConveyCheckStand(request); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/ConveyTaskController.java b/wcs/src/main/java/org/wcs/serve/controller/app/ConveyTaskController.java new file mode 100644 index 0000000..216f68b --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/ConveyTaskController.java @@ -0,0 +1,146 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.conveyTask.AddConveyTaskReq; +import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq; +import org.wcs.model.dto.serve.conveyTask.ReporterConveyTaskStatusReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.conveyTask.QueryConveyTaskVo; +import org.wcs.serve.service.intf.IConveyTaskService; + +/** + * 箱式线任务 + */ +@RestController +@RequestMapping("/app/conveyTask") +@ResponseBody +@RequiredArgsConstructor +public class ConveyTaskController { + + private final IConveyTaskService conveyTaskService; + + /** + * 查询箱式线任务 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 结果 + */ + @PostMapping("queryConveyTask") + public AppServeDataResponse> queryConveyTask(@RequestBody QueryConveyTaskReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return conveyTaskService.queryConveyTask(request, pageSize, pageIndex); + } + + /** + * 箱式线任务查询(备份) + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 箱式线任务列表 + */ + @PostMapping("queryConveyTaskBak") + public AppServeDataResponse> queryConveyTaskBak(@RequestBody QueryConveyTaskReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return conveyTaskService.queryConveyTaskBak(request, pageSize, pageIndex); + } + + /** + * 新增箱式线任务 + * @param request 新增参数 + * @return 结果 + */ + @PostMapping("addConveyTask") + public AppServeResponse addConveyTask(@RequestBody @Validated AddConveyTaskReq request) { + return conveyTaskService.addConveyTask(request); + } + + /** + * 修改箱式线任务状态 + * @param taskId 任务ID + * @param status 状态 + * @return 结果 + */ + @PutMapping("updateConveyTaskStatus") + public AppServeResponse updateConveyTaskStatus(@RequestParam("taskId") @NotBlank(message = "任务ID不能为空") String taskId, @RequestParam("taskStatus") @NotNull(message = "状态不能为空") Integer status) { + return conveyTaskService.updateConveyTaskStatus(taskId, status); + } + + /** + * 完成箱式线任务 + * @param taskId 任务ID + * @param arriveLocation 到达位置 + * @return 结果 + */ + @PutMapping("completeConveyTask") + public AppServeResponse completeConveyTask(@RequestParam("taskId") @NotBlank(message = "任务ID不能为空") String taskId, @RequestParam("arriveLocation") @NotNull(message = "到达位置不能为空") String arriveLocation) { + return conveyTaskService.completeConveyTask(taskId, arriveLocation); + } + + /** + * 取消箱式线任务 + * @param taskId 箱式线任务ID + * @return 取消结果 + */ + @DeleteMapping("cancelConveyTask") + public AppServeResponse cancelConveyTask(@RequestParam("taskId") @NotBlank(message = "箱式线任务ID不能为空") String taskId) { + return conveyTaskService.cancelConveyTask(taskId); + } + + /** + * 汇报箱式线任务完成 + * @param request 汇报参数 + * @return 汇报结果 + */ + @PostMapping("reporterConveyTaskComplete") + public AppServeResponse reporterConveyTaskComplete(@RequestBody @Validated ReporterConveyTaskStatusReq request) { + return conveyTaskService.reporterConveyTaskComplete(request); + } + + /** + * 汇报箱式线任务取消 + * @param request 汇报参数 + * @return 汇报结果 + */ + @PostMapping("reporterConveyTaskCancel") + public AppServeResponse reporterConveyTaskCancel(@RequestBody @Validated ReporterConveyTaskStatusReq request) { + return conveyTaskService.reporterConveyTaskCancel(request); + } + + /** + * 汇报箱式线任务完成 ---- 已经备份的任务 + * @param request 汇报参数 + * @return 汇报结果 + */ + @PostMapping("reporterConveyTaskBakComplete") + public AppServeResponse reporterConveyTaskBakComplete(@RequestBody @Validated ReporterConveyTaskStatusReq request) { + return conveyTaskService.reporterConveyTaskBakComplete(request); + } + + /** + * 汇报箱式线任务取消 ---- 已经备份的任务 + * @param request 汇报参数 + * @return 汇报结果 + */ + @PostMapping("reporterConveyTaskBakCancel") + public AppServeResponse reporterConveyTaskBakCancel(@RequestBody @Validated ReporterConveyTaskStatusReq request) { + return conveyTaskService.reporterConveyTaskBakCancel(request); + } + + /** + * 导出箱式线任务列表 + * @param response 响应 + * @param request 查询参数 + */ + @PostMapping("exportConveyTaskBak") + public void exportConveyTaskBak(HttpServletResponse response, @RequestBody @Validated QueryConveyTaskReq request) { + conveyTaskService.exportConveyTaskBak(response, request); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/DevController.java b/wcs/src/main/java/org/wcs/serve/controller/app/DevController.java new file mode 100644 index 0000000..b6dcb41 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/DevController.java @@ -0,0 +1,31 @@ +package org.wcs.serve.controller.app; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.serve.service.intf.IDevService; + +/** + * 开发者服务 + */ +@RestController +@RequestMapping("/app/dev") +@ResponseBody +@RequiredArgsConstructor +public class DevController { + + private final IDevService devService; + + /** + * 重启应用 + * @return 重启结果 + */ + @PutMapping("/restart") + public AppServeResponse restartApplication() { + return devService.restartApplication(); + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/EtagBaseController.java b/wcs/src/main/java/org/wcs/serve/controller/app/EtagBaseController.java new file mode 100644 index 0000000..56826b9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/EtagBaseController.java @@ -0,0 +1,161 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.etagBase.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.etagBase.EtagControllerVo; +import org.wcs.model.vo.serve.etagBase.EtagLocationVo; +import org.wcs.model.vo.serve.etagBase.EtagTagInfoVo; +import org.wcs.serve.service.intf.IEtagBaseService; + +/** + * 电子标签基础数据控制器 + * 控制器;标签;货位; + */ +@RestController +@RequestMapping("/app/etag") +@ResponseBody +@RequiredArgsConstructor +public class EtagBaseController { + + private final IEtagBaseService etagBaseService; + + /* 电子标签控制器 */ + + /** + * 查询电子标签控制器基础数据 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @PostMapping("queryEtagController") + public AppServeDataResponse> queryEtagController(@RequestBody EtagControllerQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) { + return etagBaseService.queryEtagController(request, pageIndex, pageSize); + } + + /** + * 新增电子标签控制器基础数据 + * @param request 新增参数 + * @return 响应 + */ + @PostMapping("addEtagController") + public AppServeResponse addEtagController(@RequestBody @Validated AddEtagControllerReq request) { + return etagBaseService.addEtagController(request); + } + + /** + * 修改电子标签控制器基础数据 + * @param request 修改参数 + * @return 响应 + */ + @PutMapping("updateEtagController") + public AppServeResponse updateEtagController(@RequestBody @Validated UpdateEtagControllerReq request) { + return etagBaseService.updateEtagController(request); + } + + /** + * 删除电子标签控制器基础数据 + * @param controllerId 控制器ID + * @return 响应 + */ + @DeleteMapping("deleteEtagController") + public AppServeResponse deleteEtagController(@RequestParam @NotNull(message = "控制器ID不能为空") Integer controllerId) { + return etagBaseService.deleteEtagController(controllerId); + } + + /* 电子标签小标签 */ + + /** + * 查询电子标签小标签基础信息 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @PostMapping("queryEtagTagInfo") + public AppServeDataResponse> queryEtagTagInfo(@RequestBody EtagTagInfoQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) { + return etagBaseService.queryEtagTagInfo(request, pageIndex, pageSize); + } + + /** + * 新增电子标签小标签基础信息 + * @param request 新增参数 + * @return 响应 + */ + @PostMapping("addEtagTagInfo") + public AppServeResponse addEtagTagInfo(@RequestBody @Validated AddEtagTagInfoReq request) { + return etagBaseService.addEtagTagInfo(request); + } + + /** + * 修改电子标签小标签基础信息 + * @param request 修改参数 + * @return 响应 + */ + @PutMapping("updateEtagTagInfo") + public AppServeResponse updateEtagTagInfo(@RequestBody @Validated UpdateEtagTagInfoReq request) { + return etagBaseService.updateEtagTagInfo(request); + } + + /** + * 删除电子标签小标签基础信息 + * @param tagName 标签名称 + * @return 响应 + */ + @DeleteMapping("deleteEtagTagInfo") + public AppServeResponse deleteEtagTagInfo(@RequestParam @NotNull(message = "标签名称不能为空") String tagName) { + return etagBaseService.deleteEtagTagInfo(tagName); + } + + /* 电子标签货位 */ + + /** + * 查询电子标签货位基础信息 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @PostMapping("queryEtagLocation") + public AppServeDataResponse> queryEtagLocation(@RequestBody EtagLocationQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) { + return etagBaseService.queryEtagLocation(request, pageIndex, pageSize); + } + + /** + * 新增电子标签货位基础信息 + * @param request 新增参数 + * @return 响应 + */ + @PostMapping("addEtagLocation") + public AppServeResponse addEtagLocation(@RequestBody @Validated AddEtagLocationReq request) { + return etagBaseService.addEtagLocation(request); + } + + /** + * 修改电子标签货位基础信息 + * @param request 修改参数 + * @return 响应 + */ + @PutMapping("updateEtagLocation") + public AppServeResponse updateEtagLocation(@RequestBody @Validated UpdateEtagLocationReq request) { + return etagBaseService.updateEtagLocation(request); + } + + /** + * 删除电子标签货位基础信息 + * @param recordId 记录号 + * @return 响应 + */ + @DeleteMapping("deleteEtagLocation/{recordId}") + public AppServeResponse deleteEtagLocation(@PathVariable @NotNull(message = "记录号不能为空") String recordId) { + return etagBaseService.deleteEtagLocation(recordId); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/EtagTaskController.java b/wcs/src/main/java/org/wcs/serve/controller/app/EtagTaskController.java new file mode 100644 index 0000000..eca2293 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/EtagTaskController.java @@ -0,0 +1,80 @@ +package org.wcs.serve.controller.app; + +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.etagTask.AddEtagTaskReq; +import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; +import org.wcs.model.dto.serve.etagTask.UpdateEtagTaskReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.etagTask.EtagTaskBakVo; +import org.wcs.model.vo.serve.etagTask.EtagTaskVo; +import org.wcs.serve.service.intf.IEtagTaskService; + +import javax.validation.constraints.NotNull; + +/** + * 电子标签任务控制器 + */ +@RestController +@RequestMapping("/app/etagTask") +@ResponseBody +@RequiredArgsConstructor +public class EtagTaskController { + + private final IEtagTaskService etagTaskService; + + /** + * 查询电子标签任务 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @PostMapping("/queryEtagTask") + public AppServeDataResponse> queryEtagTask(@RequestBody EtagTaskQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) { + return etagTaskService.queryEtagTask(request, pageIndex, pageSize); + + } + + /** + * 新增电子标签任务 + * @param request 新增参数 + * @return 响应 + */ + @PostMapping("/addEtagTask") + public AppServeResponse addEtagTask(@RequestBody @Validated AddEtagTaskReq request) { + return etagTaskService.addEtagTask(request); + } + + /** + * 修改电子标签任务 + * @param request 修改参数 + * @return 响应 + */ + @PostMapping("/updateEtagTask") + public AppServeResponse updateEtagTask(@RequestBody @Validated UpdateEtagTaskReq request) { + return etagTaskService.updateEtagTask(request); + } + + + + + /** + * 查询电子标签任务 ---- 备份表 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @PostMapping("/queryEtagTaskBak") + public AppServeDataResponse> queryEtagTaskBak(@RequestBody EtagTaskQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) { + return etagTaskService.queryEtagTaskBak(request, pageIndex, pageSize); + + } + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/FileController.java b/wcs/src/main/java/org/wcs/serve/controller/app/FileController.java new file mode 100644 index 0000000..fed76c6 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/FileController.java @@ -0,0 +1,40 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.serve.service.intf.IFileService; + +import java.util.List; + +/** + * 文件控制器 + */ +@RestController +@RequestMapping("/app/wcsFile") +@ResponseBody +@RequiredArgsConstructor +public class FileController { + + private final IFileService fileService; + + + /** + * 获取文件列表 + * @return 文件列表 + */ + @RequestMapping("/getFilesName") + public AppServeDataResponse> getFilesName() { + return fileService.getFilesName(); + } + + /** + * 下载文件 + */ + @GetMapping("/downLoadFile") + public void downLoadFile(@RequestParam("fileName") @NotBlank(message = "文件名不能为空") String fileName, HttpServletResponse response) { + fileService.downLoadFile(fileName, response); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/LedController.java b/wcs/src/main/java/org/wcs/serve/controller/app/LedController.java new file mode 100644 index 0000000..4be1253 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/LedController.java @@ -0,0 +1,70 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.mapper.intf.AppBaseLedService; +import org.wcs.model.dto.serve.led.AddBaseLedReq; +import org.wcs.model.dto.serve.led.QueryLedReq; +import org.wcs.model.dto.serve.led.UpdateBaseLedReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.led.QueryLedVo; +import org.wcs.serve.service.intf.ILedService; + +import java.util.List; + +/** + * led 相关控制器 + */ +@RestController +@RequestMapping("/app/led") +@ResponseBody +@RequiredArgsConstructor +public class LedController { + + private final ILedService ledService; + + /** + * 查询LED屏基础资料 + * @param queryLedReq 查询LED屏基础资料请求 + * @return 查询结果 + */ + @PostMapping("/queryLed") + public AppServeDataResponse> queryLed(@RequestBody QueryLedReq queryLedReq) { + return ledService.queryLed(queryLedReq); + } + + /** + * 新增LED屏基础资料 + * @param addBaseLedReq 新增LED屏基础资料请求 + * @return 新增结果 + */ + @PostMapping("/addBaseLed") + public AppServeResponse addBaseLed(@RequestBody @Validated AddBaseLedReq addBaseLedReq) { + return ledService.addBaseLed(addBaseLedReq); + } + + /** + * 修改LED屏基础资料 + * @param updateBaseLedReq 修改LED屏基础资料请求 + * @return 修改结果 + */ + @PostMapping("/updateBaseLed") + public AppServeResponse updateBaseLed(@RequestBody @Validated UpdateBaseLedReq updateBaseLedReq) { + return ledService.updateBaseLed(updateBaseLedReq); + } + + /** + * 删除LED屏基础资料 + * @param id LED屏基础资料ID + * @return 删除结果 + */ + @DeleteMapping("/deleteBaseLed/{id}") + public AppServeResponse deleteBaseLed(@PathVariable("id") @NotBlank(message = "id不能为空") String id) { + return ledService.deleteBaseLed(id); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/MenuController.java b/wcs/src/main/java/org/wcs/serve/controller/app/MenuController.java new file mode 100644 index 0000000..aaa49c1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/MenuController.java @@ -0,0 +1,69 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.menu.AddMenuReq; +import org.wcs.model.dto.serve.menu.UpdateMenuReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.dto.serve.menu.QueryMenuReq; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.menu.QueryMenuResp; +import org.wcs.serve.service.intf.IMenuService; + +import java.util.List; + +/** + * 菜单相关控制器 + */ +@RestController +@RequestMapping("/app/menu") +@ResponseBody +@RequiredArgsConstructor +public class MenuController { + + private final IMenuService menuService; + + /** + * 查询菜单 + * @param queryMenuReq 查询菜单请求 + * @return 查询结果 + */ + @PostMapping("/queryMenu") + public AppServeDataResponse> queryMenu(@RequestBody QueryMenuReq queryMenuReq) { + return menuService.queryMenu(queryMenuReq); + } + + /** + * 添加一个菜单 + * @param addMenuReq 添加的数据 + * @return 结果 + */ + @PostMapping("/addMenu") + public AppServeResponse addMenu(@RequestBody @Validated AddMenuReq addMenuReq) { + return menuService.addMenu(addMenuReq); + } + + /** + * 删除一个菜单 + * @param menuId 菜单ID + * @return 结果 + */ + @DeleteMapping("/deleteMenu/{menuId}") + public AppServeResponse deleteMenu(@PathVariable @NotBlank(message = "菜单ID不能为空") String menuId) { + return menuService.deleteMenu(menuId); + } + + /** + * 更新菜单 + * @param updateMenuReq 更新的数据 + * @return 结果 + */ + @PostMapping("/updateMenu") + public AppServeResponse updateMenu(@RequestBody @Validated UpdateMenuReq updateMenuReq) { + return menuService.updateMenu(updateMenuReq); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/PlcController.java b/wcs/src/main/java/org/wcs/serve/controller/app/PlcController.java new file mode 100644 index 0000000..7cf5430 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/PlcController.java @@ -0,0 +1,70 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.plc.AddPlcReq; +import org.wcs.model.dto.serve.plc.QueryBasePlcReq; +import org.wcs.model.dto.serve.plc.UpdatePlcReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.plc.QueryBasePlcResp; +import org.wcs.serve.service.intf.IPlcService; + +import java.util.List; + +/** + * plc 相关控制器 + */ +@RestController +@RequestMapping("/app/plc") +@ResponseBody +@RequiredArgsConstructor +public class PlcController { + + private final IPlcService plcService; + + /** + * 查询 plc + * @param queryPlcReq 查询 plc 请求 + * @return 查询结果 + */ + @PostMapping("/queryBasePlc") + public AppServeDataResponse> queryPlc(@RequestBody QueryBasePlcReq queryPlcReq) { + return plcService.queryPlc(queryPlcReq); + } + + /** + * 新增 plc + * @param addPlcReq 新增 plc 请求 + * @return 新增结果 + */ + @PostMapping("/addPlc") + public AppServeResponse addPlc(@RequestBody @Validated AddPlcReq addPlcReq) { + return plcService.addPlc(addPlcReq); + } + + /** + * 修改 plc + * @param updatePlcReq 修改 plc 请求 + * @return 修改结果 + */ + @PostMapping("/updatePlc") + public AppServeResponse updatePlc(@RequestBody @Validated UpdatePlcReq updatePlcReq) { + return plcService.updatePlc(updatePlcReq); + } + + /** + * 删除 plc + * @param plcId plcId + * @return 删除结果 + */ + @DeleteMapping("/deletePlc/{plcId}") + public AppServeResponse deletePlc(@PathVariable @NotNull(message = "plcId不能为空") Integer plcId) { + return plcService.deletePlc(plcId); + } + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/QuartzController.java b/wcs/src/main/java/org/wcs/serve/controller/app/QuartzController.java new file mode 100644 index 0000000..8290f8c --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/QuartzController.java @@ -0,0 +1,90 @@ +package org.wcs.serve.controller.app; + + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.quartz.AddQuartzConfigReq; +import org.wcs.model.dto.serve.quartz.QuartzReq; +import org.wcs.model.dto.serve.quartz.UpdateQuartzConfigReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.quartz.QueryResp; +import org.wcs.serve.service.intf.IQuartzService; + +import java.util.List; + +/** + * 定时任务相关操作 + */ +@RestController +@RequestMapping("/app/quartz") +@ResponseBody +@RequiredArgsConstructor +public class QuartzController { + + private final IQuartzService quartzService; + + /** + * 查询定时任务列表 + * @param quartzReq 查询参数 + * @return 结果 + */ + @PostMapping("/query") + public AppServeDataResponse> query(@RequestBody QuartzReq quartzReq) { + return quartzService.query(quartzReq); + } + + /** + * 添加一条定时任务数据 + * @param addQuartzConfigReq 定时任务数据 + * @return 添加结果 + */ + @PostMapping("/addQuartzConfig") + public AppServeResponse addQuartzConfig(@RequestBody @Validated AddQuartzConfigReq addQuartzConfigReq) { + return quartzService.addQuartzConfig(addQuartzConfigReq); + } + + /** + * 删除一条定时任务数据 + * @param className 类名 + * @return 结果 + */ + @DeleteMapping("/deleteQuartzConfig/{className}") + public AppServeResponse deleteQuartzConfig(@PathVariable @NotBlank(message = "类名不能为空") String className) { + return quartzService.deleteQuartzConfig(className); + } + + /** + * 停止一条定时任务 + * @param className 类名 + * @return 结果 + */ + @PutMapping("/stopQuartzJob/{className}") + public AppServeResponse stopQuartzJob(@PathVariable @NotBlank(message = "任务名称不能为空") String className) { + return quartzService.stopQuartzJob(className); + } + + /** + * 启动一条定时任务 + * @param className 类名 + * @return 启动结果 + */ + @PutMapping("/startQuartzJob/{className}") + public AppServeResponse startQuartzJob(@PathVariable @NotBlank(message = "任务名称不能为空") String className) { + return quartzService.startQuartzJob(className); + } + + /** + * 更新一条定时任务数据 + * @param updateQuartzConfigReq 定时任务数据 + * @return 更新结果 + */ + @PostMapping("/updateQuartzConfig") + public AppServeResponse updateQuartzConfig(@RequestBody @Validated UpdateQuartzConfigReq updateQuartzConfigReq) { + return quartzService.updateQuartzConfig(updateQuartzConfigReq); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/RecordApiController.java b/wcs/src/main/java/org/wcs/serve/controller/app/RecordApiController.java new file mode 100644 index 0000000..2e50751 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/RecordApiController.java @@ -0,0 +1,53 @@ +package org.wcs.serve.controller.app; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiRequestReq; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiResponseReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordApi.RecordApiRequestVo; +import org.wcs.model.vo.serve.recordApi.RecordApiResponseVo; +import org.wcs.serve.service.intf.IRecordApiService; + +/** + * API 请求记录控制器 + */ +@RestController +@RequestMapping("/app/recordApi") +@ResponseBody +@RequiredArgsConstructor +public class RecordApiController { + + private final IRecordApiService recordApiRequestService; + + /** + * 查询 API 请求记录 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @PostMapping("/queryApiRequestWithPage") + public AppServeDataResponse> queryRecordApiRequest(@RequestBody QueryRecordApiRequestReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return recordApiRequestService.queryRecordApiRequest(request, pageSize, pageIndex); + } + + /** + * 获取 API 响应记录 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @PostMapping("/queryApiResponseWithPage") + public AppServeDataResponse> queryRecordApiResponse(@RequestBody QueryRecordApiResponseReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return recordApiRequestService.queryRecordApiResponse(request, pageSize, pageIndex); + } + + + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/RecordErrorController.java b/wcs/src/main/java/org/wcs/serve/controller/app/RecordErrorController.java new file mode 100644 index 0000000..68d3e80 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/RecordErrorController.java @@ -0,0 +1,48 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.recordError.QueryEquipmentErrorReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordError.QueryEquipmentErrorVo; +import org.wcs.serve.service.intf.IRecordErrorService; + +/** + * 报警记录控制器 + */ +@RestController +@RequestMapping("/app/recordError") +@ResponseBody +@RequiredArgsConstructor +public class RecordErrorController { + + private final IRecordErrorService recordErrorService; + + /** + * 查询设备错误 + * @param request 查询参数 + * @param pageSize 分页大小 + * @param pageIndex 页面序号 + * @return 查询结果 + */ + @PostMapping("queryEquipmentError") + public AppServeDataResponse> queryEquipmentError(@RequestBody QueryEquipmentErrorReq request, Integer pageSize, Integer pageIndex) { + return recordErrorService.queryEquipmentError(request, pageSize, pageIndex); + } + + /** + * 导出设备错误 + * @param response 响应 + * @param request 查询参数 + */ + @PostMapping("exportEquipmentError") + public void exportEquipmentError(HttpServletResponse response, @RequestBody QueryEquipmentErrorReq request) { + recordErrorService.exportEquipmentError(response, request); + } + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/RecordScanController.java b/wcs/src/main/java/org/wcs/serve/controller/app/RecordScanController.java new file mode 100644 index 0000000..cbf9d53 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/RecordScanController.java @@ -0,0 +1,62 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.recordScan.QueryRecordScanReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordScan.RecordScanVo; +import org.wcs.serve.service.intf.IRecordScanService; + +import java.math.BigDecimal; + +/** + * 扫码记录表控制器 + */ +@RestController +@RequestMapping("/app/recordScan") +@ResponseBody +@RequiredArgsConstructor +public class RecordScanController { + + private final IRecordScanService recordScanService; + + /** + * 查询扫码记录表 + * + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 扫码记录表列表 + */ + @PostMapping("/queryWithPage") + public AppServeDataResponse> queryRecordScan(@RequestBody QueryRecordScanReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return recordScanService.queryRecordScan(request, pageSize, pageIndex); + } + + /** + * 获取扫码率 + * @param request 查询参数 + * @return 扫码率 + */ + @PostMapping("/queryScanRatio") + public AppServeDataResponse queryRecordScanRatio(@RequestBody QueryRecordScanReq request) { + return recordScanService.queryRecordScanRatio(request); + } + + /** + * 下载扫码记录表 + * @param response 响应 + * @param request 扫码记录表查询参数 + */ + @PostMapping("/downLoadRecordScan") + public void downLoadRecordScan(HttpServletResponse response, @RequestBody QueryRecordScanReq request) { + recordScanService.downLoadRecordScan(response, request); + } + + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/SiemensDbController.java b/wcs/src/main/java/org/wcs/serve/controller/app/SiemensDbController.java new file mode 100644 index 0000000..33ee4ba --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/SiemensDbController.java @@ -0,0 +1,78 @@ +package org.wcs.serve.controller.app; + +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.siemensDb.AddSiemensDbReq; +import org.wcs.model.dto.serve.siemensDb.QuerySiemensDbReq; +import org.wcs.model.dto.serve.siemensDb.UpdateSiemensDbReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.siemensDb.SiemensDbVo; +import org.wcs.serve.service.intf.ISiemensDbService; + +/** + * 西门子DB控制器 + */ +@RestController +@RequestMapping("/app/siemensDb") +@ResponseBody +@RequiredArgsConstructor +public class SiemensDbController { + + private final ISiemensDbService siemensDbService; + + /** + * 查询西门子DB数据 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @param request 查询参数 + * @return 查询结果 + */ + @PostMapping("/querySiemensDbByPage") + public AppServeDataResponse> querySiemensDb(@RequestParam("pageIndex") Integer pageIndex, @RequestParam("pageSize") Integer pageSize, @RequestBody QuerySiemensDbReq request) { + return siemensDbService.querySiemensDb(pageIndex, pageSize, request); + } + + /** + * 新增西门子DB数据 + * @param request 新增参数 + * @return 新增结果 + */ + @PostMapping("/addSiemensDb") + public AppServeResponse addSiemensDb(@RequestBody @Validated AddSiemensDbReq request) { + return siemensDbService.addSiemensDb(request); + } + + /** + * 修改西门子DB数据 + * @param request 修改参数 + * @return 修改结果 + */ + @PostMapping("/updateSiemensDb") + public AppServeResponse updateSiemensDb(@RequestBody @Validated UpdateSiemensDbReq request) { + return siemensDbService.updateSiemensDb(request); + } + + /** + * 删除西门子DB数据 + * @param dbName DB名称 + * @return 删除结果 + */ + @DeleteMapping("/deleteSiemensDb") + public AppServeResponse deleteSiemensDb(@RequestParam("dbName") String dbName) { + return siemensDbService.deleteSiemensDb(dbName); + } + + /** + * 重新加载DB地址 + * @return 重新加载结果 + */ + @PutMapping("/reloadDbAddress") + public AppServeResponse reloadDbAddress() { + return siemensDbService.reloadDbAddress(); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/StackerController.java b/wcs/src/main/java/org/wcs/serve/controller/app/StackerController.java new file mode 100644 index 0000000..b7c66d7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/StackerController.java @@ -0,0 +1,102 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.stacker.AddOrUpdateStackerStandReq; +import org.wcs.model.dto.serve.stacker.AddStackerReq; +import org.wcs.model.dto.serve.stacker.UpdateStackerInfoReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.stacker.QueryStackerInfoVo; +import org.wcs.model.vo.serve.stacker.QueryStackerStandVo; +import org.wcs.model.vo.serve.stacker.StackerStatusVo; +import org.wcs.serve.service.intf.IStackerService; + +import java.util.List; + +/** + * 堆垛机相关控制器 + */ +@RestController +@RequestMapping("/app/stacker") +@ResponseBody +@RequiredArgsConstructor +public class StackerController { + + private final IStackerService stackerService; + + /** + * 查询堆垛机信息 + * @param stackerName 堆垛机名称 + * @return 查询结果 + */ + @GetMapping("/queryStackerInfo") + public AppServeDataResponse> queryStackerInfo(@RequestParam("stackerName") String stackerName) { + return stackerService.queryStackerInfo(stackerName); + } + + /** + * 添加堆垛机 + * @param addStackerReq 添加堆垛机请求参数 + * @return 添加结果 + */ + @PostMapping("/addStackerInfo") + public AppServeResponse addStackerInfo(@RequestBody @Validated AddStackerReq addStackerReq) { + return stackerService.addStacker(addStackerReq); + } + + /** + * 更新堆垛机信息 + * @param updateStackerInfoReq 更新堆垛机请求参数 + * @return 更新结果 + */ + @PostMapping("/updateStackerInfo") + public AppServeResponse updateStackerInfo(@RequestBody @Validated UpdateStackerInfoReq updateStackerInfoReq) { + return stackerService.updateStackerInfo(updateStackerInfoReq); + } + + /** + * 查询堆垛机的站台 + * @param stackerId 堆垛机ID + * @return 查询结果 + */ + @GetMapping("/queryStackerStand") + public AppServeDataResponse> queryStackerStand(@RequestParam("stackerId") @NotNull(message = "堆垛机ID不能为空") Integer stackerId) { + return stackerService.queryStackerStand(stackerId); + } + + /** + * 新增或修改堆垛机站台 + * @param addOrUpdateStackerStandReq 堆垛机站台 + * @return 操作结果 + */ + @PostMapping("/addOrUpdateStackerStand") + public AppServeResponse addOrUpdateStackerStand(@RequestBody @Validated AddOrUpdateStackerStandReq addOrUpdateStackerStandReq) { + return stackerService.addOrUpdateStackerStand(addOrUpdateStackerStandReq); + } + + /** + * 删除堆垛机站台 + * @param standId 堆垛机站台ID + * @return 操作结果 + */ + @DeleteMapping("/deleteWithStandId/{standId}") + public AppServeResponse deleteWithStandId(@PathVariable @NotBlank(message = "堆垛机站台ID不能为空") String standId) { + return stackerService.deleteWithStandId(standId); + } + + /** + * 获取堆垛机运行信息 + * @return 堆垛机运行信息 + */ + @GetMapping("/getStackerRunningInfo") + public AppServeDataResponse> getStackerRunningInfo() { + return stackerService.getStackerRunningInfo(); + } + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/StackerLocationController.java b/wcs/src/main/java/org/wcs/serve/controller/app/StackerLocationController.java new file mode 100644 index 0000000..87d2832 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/StackerLocationController.java @@ -0,0 +1,108 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.stackerLocation.AddManyStackerLocationsReq; +import org.wcs.model.dto.serve.stackerLocation.AddStackerLocationReq; +import org.wcs.model.dto.serve.stackerLocation.QueryStackerLocationReq; +import org.wcs.model.dto.serve.stackerLocation.UpdateStackerLocationReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stackerLocation.QueryStackerLocationVo; +import org.wcs.serve.service.intf.IStackerLocationService; + +import java.util.List; + +/** + * 堆垛机相关控制器 + */ +@RestController +@RequestMapping("/app/stackerLocation") +@ResponseBody +@RequiredArgsConstructor +public class StackerLocationController { + + private final IStackerLocationService stackerLocationService; + + /** + * 分页查询库位信息 + * @param request 查询参数 + * @param pageSize 分页大小 + * @param pageIndex 页面序号 + * @return 查询结果 + */ + @PostMapping("queryStackerLocation") + public AppServeDataResponse> queryStackerLocation(@RequestBody QueryStackerLocationReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return stackerLocationService.queryStackerLocation(request, pageSize, pageIndex); + } + + /** + * 下载堆垛机货位信息 + * @param request 请求参数 + * @param response 响应 + */ + @PostMapping("downloadStackerLocation") + public void downloadStackerLocation(HttpServletResponse response, @RequestBody QueryStackerLocationReq request) { + stackerLocationService.downloadStackerLocation(response, request); + } + + /** + * 新增堆垛机库位信息 + * @param request 新增参数 + * @return 新增结果 + */ + @PostMapping("addStackerLocation") + public AppServeResponse addStackerLocation(@RequestBody @Validated AddStackerLocationReq request) { + return stackerLocationService.addStackerLocation(request); + } + + /** + * 批量新增堆垛机库位信息 + * @param request 新增参数 + * @return 新增结果 + */ + @PostMapping("addStackerLocations") + public AppServeResponse addStackerLocations(@RequestBody @Validated AddManyStackerLocationsReq request) { + return stackerLocationService.addStackerLocations(request); + } + + /** + * 修改堆垛机库位信息 + * @param request 修改参数 + * @return 修改结果 + */ + @PostMapping("updateStackerLocation") + public AppServeResponse updateStackerLocation(@RequestBody @Validated UpdateStackerLocationReq request) { + return stackerLocationService.updateStackerLocation(request); + } + + /** + * 根据巷道号查询堆垛机库位信息 + * @param laneId 巷道号 + * @return 查询结果 + */ + @GetMapping("queryStackerLocationListByStackerIdAndLaneId") + public AppServeDataResponse> queryStackerLocationListByStackerIdAndLaneId(@RequestParam @NotNull(message = "设备号不能为空") Integer stackerId, @RequestParam @NotNull(message = "巷道号不能为空") Integer laneId) { + return stackerLocationService.queryStackerLocationListByStackerIdAndLaneId(stackerId, laneId); + } + + /** + * 查询堆垛机库位巷道列表 + * @param stackerId 设备号 + * @return 巷道列表 + */ + @GetMapping("queryStackerLocationLaneList") + public AppServeDataResponse> queryStackerLocationLaneList(@RequestParam @NotNull(message = "设备号不能为空") Integer stackerId) { + return stackerLocationService.queryStackerLocationLaneList(stackerId); + } + + @GetMapping("queryStackerLocationStackerIdList") + public AppServeDataResponse> queryStackerLocationStackerIdList() { + return stackerLocationService.queryStackerLocationStackerIdList(); + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/StockComposeTaskController.java b/wcs/src/main/java/org/wcs/serve/controller/app/StockComposeTaskController.java new file mode 100644 index 0000000..2433261 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/StockComposeTaskController.java @@ -0,0 +1,170 @@ +package org.wcs.serve.controller.app; + + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.stcokComposeTask.AddStockComposeTaskReq; +import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; +import org.wcs.model.dto.serve.stcokComposeTask.ReporterTaskStatusReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockComposeTask.AppStockComposeTaskVo; +import org.wcs.model.vo.serve.stockComposeTask.CourseResultVo; +import org.wcs.serve.service.intf.IStockComposeTaskService; + +import java.util.List; + + +/** + * 组合式任务操作 + */ +@RestController +@RequestMapping("/app/stockComposeTask") +@ResponseBody +@RequiredArgsConstructor +public class StockComposeTaskController { + + private final IStockComposeTaskService stockComposeTaskService; + + /** + * 查询组合式任务数据 + * @param queryTaskReq 查询参数 + * @param pageSize 每页大小 + * @param pageIndex 页码 + * @return 查询结果 + */ + @PostMapping("/query") + public AppServeDataResponse> query(@RequestBody QueryStockComposeTaskReq queryTaskReq, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return stockComposeTaskService.query(queryTaskReq, pageSize, pageIndex); + } + + /** + * 查询组合式任务数据 ---- 历史数据 + * @param queryTaskReq 查询参数 + * @param pageSize 每页大小 + * @param pageIndex 页码 + * @return 查询结果 + */ + @PostMapping("/queryBak") + public AppServeDataResponse> queryBak(@RequestBody QueryStockComposeTaskReq queryTaskReq, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return stockComposeTaskService.queryBak(queryTaskReq, pageSize, pageIndex); + } + + /** + * 下载任务数据 + * + * @param response 响应 + * @param queryTaskReq 查询任务请求 + */ + @PostMapping("/downLoadTask") + public void downLoadTask(HttpServletResponse response, @RequestBody QueryStockComposeTaskReq queryTaskReq) { + stockComposeTaskService.downLoadTask(response, queryTaskReq); + } + + /** + * 下载任务数据 ---- 历史数据 + * + * @param response 响应 + * @param queryTaskReq 查询任务请求 + */ + @PostMapping("/downLoadTaskBak") + public void downLoadTaskBak(HttpServletResponse response, @RequestBody QueryStockComposeTaskReq queryTaskReq) { + stockComposeTaskService.downLoadTaskBak(response, queryTaskReq); + } + + + /** + * 添加组合式任务 + * @param addTaskReq 添加任务参数 + * @return 添加结果 + */ + @PostMapping("/addTask") + public AppServeResponse addTask(@RequestBody @Validated AddStockComposeTaskReq addTaskReq) { + return stockComposeTaskService.addTask(addTaskReq); + } + + /** + * 取消组合式任务 + * @param taskId 任务ID + * @return 取消结果 + */ + @PutMapping("/cancelTask") + public AppServeResponse cancelTask(@RequestParam String taskId) { + return stockComposeTaskService.cancelTask(taskId); + } + + /** + * 完成组合式任务 + * @param taskId 任务ID + * @return 完成结果 + */ + @PutMapping("/completeTask") + public AppServeResponse completeTask(@RequestParam String taskId) { + return stockComposeTaskService.completeTask(taskId); + } + + /** + * 重置组合式任务 + * @param taskId 任务ID + * @return 重置结果 + */ + @PutMapping("/resetTask") + public AppServeResponse resetTask(@RequestParam String taskId) { + return stockComposeTaskService.resetTask(taskId); + } + + /** + * 任务完成状态报告 + * @param reporterTaskStatusReq 状态报告参数 + * @return 状态报告结果 + */ + @PostMapping("/reporterTaskCompleted") + public AppServeResponse reporterTaskCompleted(@RequestBody @Validated ReporterTaskStatusReq reporterTaskStatusReq) { + return stockComposeTaskService.reporterTaskCompleted(reporterTaskStatusReq); + } + + /** + * 任务取消状态报告 + * @param reporterTaskStatusReq 状态报告参数 + * @return 状态报告结果 + */ + @PostMapping("/reporterTaskCancel") + public AppServeResponse reporterTaskCancel(@RequestBody @Validated ReporterTaskStatusReq reporterTaskStatusReq) { + return stockComposeTaskService.reporterTaskCancel(reporterTaskStatusReq); + } + + /** + * 任务完成状态报告 ---- 历史任务 + * @param reporterTaskStatusReq 状态报告参数 + * @return 状态报告结果 + */ + @PostMapping("/reporterTaskBakCompleted") + public AppServeResponse reporterTaskBakCompleted(@RequestBody @Validated ReporterTaskStatusReq reporterTaskStatusReq) { + return stockComposeTaskService.reporterTaskBakCompleted(reporterTaskStatusReq); + } + + /** + * 任务取消状态报告 ---- 历史任务 + * @param reporterTaskStatusReq 状态报告参数 + * @return 状态报告结果 + */ + @PostMapping("/reporterTaskBakCancel") + public AppServeResponse reporterTaskBakCancel(@RequestBody @Validated ReporterTaskStatusReq reporterTaskStatusReq) { + return stockComposeTaskService.reporterTaskBakCancel(reporterTaskStatusReq); + } + + /** + * 查询任务路径结果 + * @param taskId 任务ID + * @return 任务路径结果 + */ + @GetMapping("/queryCourseResult") + public AppServeDataResponse> queryCourseResult(@RequestParam("composeTaskId") @NotBlank(message = "任务ID不能为空") String taskId) { + return stockComposeTaskService.queryCourseResult(taskId); + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/StockScanController.java b/wcs/src/main/java/org/wcs/serve/controller/app/StockScanController.java new file mode 100644 index 0000000..3238393 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/StockScanController.java @@ -0,0 +1,87 @@ +package org.wcs.serve.controller.app; + + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.stockScan.AddStockScanReq; +import org.wcs.model.dto.serve.stockScan.QueryStockScanReq; +import org.wcs.model.dto.serve.stockScan.UpdateStockScanReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockScan.AppBaseScanMethodVo; +import org.wcs.model.vo.serve.stockScan.AppStockScanVo; +import org.wcs.serve.service.intf.IStockScanService; + +import java.util.List; + +/** + * 扫码相关 + */ +@RestController +@RequestMapping("/app/stockScan") +@ResponseBody +@RequiredArgsConstructor +public class StockScanController { + + private final IStockScanService stockScanService; + + /** + * 分页查询扫码设置信息 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 当前页码 + * @return 查询结果 + */ + @PostMapping("/queryWithPage") + public AppServeDataResponse> queryStockScan(@RequestBody QueryStockScanReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return stockScanService.queryStockScan(request, pageSize, pageIndex); + } + + @GetMapping("/queryAll") + public AppServeDataResponse> queryStockScanAll() { + return stockScanService.queryStockScan(); + } + + /** + * 查询基础扫码方式 + * @return 查询结果 + */ + @GetMapping("/queryBaseScanMethod") + public AppServeDataResponse> queryBaseScanMethod() { + return stockScanService.queryBaseScanMethod(); + } + + /** + * 新增仓库扫码 + * @param request 新增参数 + * @return 新增结果 + */ + @PostMapping("/addStockScan") + public AppServeResponse addStockScan(@RequestBody @Validated AddStockScanReq request) { + return stockScanService.addStockScan(request); + } + + /** + * 修改仓库扫码 + * @param request 修改参数 + * @return 修改结果 + */ + @PostMapping("/updateStockScan") + public AppServeResponse updateStockScan(@RequestBody @Validated UpdateStockScanReq request) { + return stockScanService.updateStockScan(request); + } + + /** + * 删除仓库扫码 + * @param stockScanId 仓库扫码ID + * @return 删除结果 + */ + @DeleteMapping("/deleteStockScan") + public AppServeResponse deleteStockScan(@RequestParam("stockScanId") @NotBlank(message = "仓库扫码ID不能为空") String stockScanId) { + return stockScanService.deleteStockScan(stockScanId); + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/StockSingleTaskController.java b/wcs/src/main/java/org/wcs/serve/controller/app/StockSingleTaskController.java new file mode 100644 index 0000000..9a201e5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/StockSingleTaskController.java @@ -0,0 +1,112 @@ +package org.wcs.serve.controller.app; + + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.stockSingleTask.AddSingleTaskReq; +import org.wcs.model.dto.serve.stockSingleTask.QueryStockSingleTaskReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockSingleTask.AppStockSingleTaskVo; +import org.wcs.serve.service.intf.IStockSingleTaskService; + +@RestController +@RequestMapping("/app/stockSingleTask") +@ResponseBody +@RequiredArgsConstructor +public class StockSingleTaskController { + + private final IStockSingleTaskService stockSingleTaskService; + + /** + * 分页查询任务 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 结果 + */ + @PostMapping("/query") + public AppServeDataResponse> query(@RequestBody QueryStockSingleTaskReq request, @RequestParam("pageSize") @NotNull(message = "分页单页大小不能为空") Integer pageSize , @RequestParam("pageIndex") @NotNull(message = "分页页码不能为空") Integer pageIndex) { + return stockSingleTaskService.query(request, pageSize, pageIndex); + } + + /** + * 分页查询任务 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 结果 + */ + @PostMapping("/queryBak") + public AppServeDataResponse> queryBak(@RequestBody QueryStockSingleTaskReq request, @RequestParam("pageSize") @NotNull(message = "分页单页大小不能为空") Integer pageSize , @RequestParam("pageIndex") @NotNull(message = "分页页码不能为空") Integer pageIndex) { + return stockSingleTaskService.queryBak(request, pageSize, pageIndex); + } + + /** + * 下载任务 + * @param request 添加单任务数据 + */ + @PostMapping("/downLoadBak") + public void downLoadBak(HttpServletResponse response, @RequestBody QueryStockSingleTaskReq request) { + stockSingleTaskService.downLoadBak(response, request); + } + + /** + * 添加单任务 + * @param request 添加单任务数据 + * @return 结果 + */ + @PostMapping("/addSingleTask") + public AppServeResponse addSingleTask(@RequestBody @Validated AddSingleTaskReq request) { + return stockSingleTaskService.addSingleTask(request); + } + + /** + * 新增plc任务id + * @param taskId 任务id + * @return 结果 + */ + @PutMapping("/newPlcTaskId/{taskId}") + public AppServeResponse newPlcTaskId(@PathVariable String taskId) { + return stockSingleTaskService.newPlcTaskId(taskId); + } + + /** + * 更新任务状态 + * @param taskId 任务id + * @param taskStatus 任务状态 + * @return 结果 + */ + @PutMapping("/updateTaskStatus") + public AppServeResponse updateTaskStatus(@RequestParam("taskId") String taskId, @RequestParam("taskStatus") Integer taskStatus) { + return stockSingleTaskService.updateTaskStatus(taskId, taskStatus); + } + + /** + * 完成任务 + * @param taskId 要完成的任务号 + * @return 结果 + */ + @PutMapping("/completeTask/{taskId}") + public AppServeResponse completeTask(@PathVariable String taskId) { + return stockSingleTaskService.completeTask(taskId); + } + + /** + * 取消任务 + * @param taskId 要取消的任务号 + * @return 结果 + */ + @PutMapping("/cancelTask/{taskId}") + public AppServeResponse cancelTask(@PathVariable String taskId) { + return stockSingleTaskService.cancelTask(taskId); + } + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/SystemController.java b/wcs/src/main/java/org/wcs/serve/controller/app/SystemController.java new file mode 100644 index 0000000..aa23b3f --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/SystemController.java @@ -0,0 +1,93 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import org.wcs.model.vo.custom.BaseChartsDataItem; +import org.wcs.model.vo.custom.MultilineLineChartData; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.sys.QuerySystemInfoVo; +import org.wcs.serve.service.intf.IConfigService; +import org.wcs.serve.service.intf.ISystemService; + +import java.util.List; + +@RestController +@RequestMapping("/app/system") +@ResponseBody +@RequiredArgsConstructor +public class SystemController { + + + private final ISystemService systemService; + private final IConfigService configService; + + /** + * 查询系统信息 + * @return 系统信息 + */ + @GetMapping("/querySystemInfo") + public AppServeDataResponse querySystemInfo(HttpServletRequest request) { + return systemService.querySystemInfo(request); + } + + /** + * 获取配置 + * @param key 配置键 + * @return 配置值 + */ + @GetMapping("/queryConfigValue/{key}") + public AppServeDataResponse queryConfigValue(@PathVariable("key") String key) { + return configService.queryConfigValue(key); + } + + /** + * 接收系统信息 ---- SSE 连接 + * @return 系统信息 + */ + @GetMapping(value = "/acceptInfo", produces = MediaType.TEXT_EVENT_STREAM_VALUE) + public SseEmitter acceptInfo() { + return systemService.acceptInfo(); + } + + /** + * 查询库存使用情况 + * @return 库存使用情况 + */ + @GetMapping("/queryStockUsage") + public AppServeDataResponse> queryStockUsage(HttpServletRequest request) { + return systemService.queryStockUsage(request); + } + + /** + * 获取今日入库出库数量 + * @return 今日入库出库数量 + */ + @GetMapping("/queryTodayInOutCount") + public AppServeDataResponse> queryTodayInOutCount(HttpServletRequest request) { + return systemService.queryTodayInOutCount(request); + } + + /** + * 获取近7天设备故障数量 + * @return 错误数量 + */ + @GetMapping("/querySevenDaysDeviceFailure") + public AppServeDataResponse> queryDeviceErrorCountDay7(HttpServletRequest request) { + return systemService.queryDeviceErrorCountDay7(request); + } + + /** + * 获取近7天入库出库数量 + * @return 入库出库数量 + */ + @GetMapping("/querySevenDaysInOutCount") + public AppServeDataResponse queryInOutCountDay7(HttpServletRequest request) { + return systemService.queryInOutCountDay7(request); + } + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/TrayConveyLocationController.java b/wcs/src/main/java/org/wcs/serve/controller/app/TrayConveyLocationController.java new file mode 100644 index 0000000..23f4628 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/TrayConveyLocationController.java @@ -0,0 +1,78 @@ +package org.wcs.serve.controller.app; + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.trayConveyLocation.AddTrayConveyLocationReq; +import org.wcs.model.dto.serve.trayConveyLocation.QueryTrayConveyLocationReq; +import org.wcs.model.dto.serve.trayConveyLocation.UpdateTrayConveyLocationReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.trayConveyLocation.QueryTrayConveyLocationVo; +import org.wcs.model.vo.serve.trayConveyLocation.TrayConveyStatusVo; +import org.wcs.serve.service.intf.ITrayConveyLocationService; + +@RestController +@RequestMapping("/app/trayConveyLocation") +@ResponseBody +@RequiredArgsConstructor +public class TrayConveyLocationController { + + private final ITrayConveyLocationService trayConveyLocationService; + + /** + * 分页查询托盘输送点位数据 + * @param request 查询参数 + * @param pageSize 分页单页大小 + * @param pageIndex 分页页码 + * @return 结果 + */ + @PostMapping("queryTrayConveyLocation") + public AppServeDataResponse> queryTrayConveyLocation(@RequestBody QueryTrayConveyLocationReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) { + return trayConveyLocationService.queryTrayConveyLocation(request, pageSize, pageIndex); + } + + /** + * 新增托盘输送点位数据 + * @param request 新增参数 + * @return 结果 + */ + @PostMapping("addTrayConveyLocation") + public AppServeResponse addTrayConveyLocation(@RequestBody @Validated AddTrayConveyLocationReq request) { + return trayConveyLocationService.addTrayConveyLocation(request); + } + + /** + * 修改托盘输送点位数据 + * @param request 修改参数 + * @return 结果 + */ + @PostMapping("updateTrayConveyLocation") + public AppServeResponse updateTrayConveyLocation(@RequestBody @Validated UpdateTrayConveyLocationReq request) { + return trayConveyLocationService.updateTrayConveyLocation(request); + } + + /** + * 查询托盘输送点位状态数据 + * @param conveyId 输送点位ID + * @return 状态数据 + */ + @GetMapping("queryTrayConveyStatus") + public AppServeDataResponse queryTrayConveyStatus(@RequestParam("conveyId") @NotBlank(message = "输送点位ID不能为空") String conveyId) { + return trayConveyLocationService.queryTrayConveyStatus(conveyId); + } + + /** + * 下载托盘输送点位数据 + * @param request 查询参数 + * @param response 响应对象 + */ + @PostMapping("downloadTrayConveyLocation") + public void downLoadTrayConveyLocation(HttpServletResponse response, @RequestBody QueryTrayConveyLocationReq request) { + trayConveyLocationService.downLoadTrayConveyLocation(response, request); + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/UserController.java b/wcs/src/main/java/org/wcs/serve/controller/app/UserController.java new file mode 100644 index 0000000..af1f1ba --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/UserController.java @@ -0,0 +1,118 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.user.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.user.LoginResp; +import org.wcs.model.vo.serve.user.QueryUserMenuPermissionSimpleTreeResp; +import org.wcs.model.vo.serve.user.QueryUserResp; +import org.wcs.model.vo.serve.user.UserPermissionResp; +import org.wcs.serve.service.intf.IUserService; + +import java.util.List; + +/** + * 用户相关操作 + */ +@RestController +@RequestMapping("/app/user") +@ResponseBody +@RequiredArgsConstructor +public class UserController { + + private final IUserService userService; + + /** + * 登录接口 + * @param loginReq 登录请求 + * @return 响应结果 + */ + @PostMapping("/login") + public AppServeDataResponse login(@RequestBody @Validated LoginReq loginReq) { + return userService.login(loginReq); + } + + /** + * 获取用户权限 + * @return 响应结果 + */ + @GetMapping("/permission") + public AppServeDataResponse permission() { + return userService.permission(); + } + + /** + * 查询所有用户 + * @param queryUserReq 查询用户请求 + * @return 返回结果 + */ + @PostMapping("/queryUser") + public AppServeDataResponse> queryUser(@RequestBody QueryUserReq queryUserReq) { + return userService.queryUser(queryUserReq); + } + + /** + * 登出用户 + * @param userId 用户ID + * @return 登出结果 + */ + @PutMapping("/logoutUser/{userId}") + public AppServeResponse logoutUser(@PathVariable @NotBlank(message = "用户ID不能为空") String userId) { + return userService.logoutUser(userId); + } + + /** + * 修改用户信息 + * @param updateUserReq 修改用户信息请求 + * @return 修改结果 + */ + @PostMapping("/updateUser") + public AppServeResponse updateUser(@RequestBody @Validated UpdateUserReq updateUserReq) { + return userService.updateUser(updateUserReq); + } + + /** + * 删除用户 + * @param userId 用户ID + * @return 删除结果 + */ + @DeleteMapping("/deleteUser/{userId}") + public AppServeResponse deleteUser(@PathVariable @NotBlank(message = "用户ID不能为空") String userId) { + return userService.deleteUser(userId); + } + + /** + * 创建一个新用户 + * @param createUserReq 创建用户的请求 + * @return 创建结果 + */ + @PostMapping("/createUser") + public AppServeResponse createUser(@RequestBody @Validated CreateUserReq createUserReq) { + return userService.createUser(createUserReq); + } + + /** + * 获取本账户所拥有的菜单权限 ---- 简单模式 + * @return 查询结果 + */ + @GetMapping("/queryUserMenuPermissionSimpleTree") + public AppServeDataResponse> queryUserMenuPermissionSimpleTree() { + return userService.queryUserMenuPermissionSimpleTree(); + } + + /** + * 修改自己的用户信息 + * @param updateSelfUserReq 修改用户信息请求 + * @return 修改结果 + */ + @PostMapping("/updateSelfUser") + public AppServeResponse updateSelfUser(@RequestBody @Validated UpdateSelfUserReq updateSelfUserReq) { + return userService.updateSelfUser(updateSelfUserReq); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/app/UserGroupController.java b/wcs/src/main/java/org/wcs/serve/controller/app/UserGroupController.java new file mode 100644 index 0000000..65bc23c --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/app/UserGroupController.java @@ -0,0 +1,92 @@ +package org.wcs.serve.controller.app; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.serve.userGroup.AddUserGroupReq; +import org.wcs.model.dto.serve.userGroup.UpdateGroupPermissionReq; +import org.wcs.model.dto.serve.userGroup.UpdateUserGroupReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.userGroup.QueryUserGroupPermissionResp; +import org.wcs.model.vo.serve.userGroup.QueryUserGroupResp; +import org.wcs.serve.service.intf.IUserGroupService; + +import java.util.List; + +/** + * 用户组相关操作 + */ +@RestController +@RequestMapping("/app/userGroup") +@ResponseBody +@RequiredArgsConstructor +public class UserGroupController { + + private final IUserGroupService userGroupService; + + /** + * 查找用户组级别比自己低的用户的用户组信息 + * @return 查询到的信息 + */ + @GetMapping("/queryMinLevelUserGroup") + public AppServeDataResponse> queryMinLevelUserGroup() { + return userGroupService.queryMinLevelUserGroup(); + } + + /** + * 查询某一用户组所拥有的菜单权限 + * @param userGroup 用户组 + * @return 查询结果 + */ + @GetMapping("/queryUserGroupPermission") + public AppServeDataResponse> queryUserGroupPermission(@RequestParam("userGroup") @NotBlank(message = "用户组不能为空") String userGroup) { + return userGroupService.queryUserGroupPermission(userGroup); + } + + /** + * 添加一个用户组 + * @param addUserGroupReq 新用户组信息 + * @return 添加结果 + */ + @PostMapping("/addUserGroup") + public AppServeResponse addUserGroup(@RequestBody @Validated AddUserGroupReq addUserGroupReq) { + return userGroupService.addUserGroup(addUserGroupReq); + } + + /** + * 删除用户组 + * @param userGroup 用户组 + * @return 结果 + */ + @DeleteMapping("/deleteUserGroup/{userGroup}") + public AppServeResponse deleteUserGroup(@PathVariable("userGroup") @NotBlank(message = "用户组不能为空") String userGroup) { + return userGroupService.deleteUserGroup(userGroup); + } + + /** + * 更新用户组信息 + * @param updateUserGroupReq 更新信息 + * @return 更新结果 + */ + @PostMapping("/updateUserGroup") + public AppServeResponse updateUserGroup(@RequestBody @Validated UpdateUserGroupReq updateUserGroupReq) { + return userGroupService.updateUserGroup(updateUserGroupReq); + } + + /** + * 更新用户组权限 + * @param updateGroupPermissionReq 更新权限信息 + * @return 更新结果 + */ + @PostMapping("/updateGroupPermission") + public AppServeResponse updateGroupPermission(@RequestBody @Validated UpdateGroupPermissionReq updateGroupPermissionReq) { + return userGroupService.updateGroupPermission(updateGroupPermissionReq); + } + + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/pub/DeviceController.java b/wcs/src/main/java/org/wcs/serve/controller/pub/DeviceController.java new file mode 100644 index 0000000..d5aede7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/pub/DeviceController.java @@ -0,0 +1,31 @@ +package org.wcs.serve.controller.pub; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.vo.pub.PubServeDataResponse; +import org.wcs.model.vo.pub.deveice.ConveyStatusVo; +import org.wcs.serve.service.pub.intf.IDeviceService; + +/** + * 对外开放的设备的相关控制器 + */ +@RestController +@RequestMapping("/api/pub/device") +@ResponseBody +@RequiredArgsConstructor +public class DeviceController { + + private final IDeviceService deviceService; + + /** + * 获取输送设备状态 + * @param conveyNo 输送编号 + * @return 响应 + */ + @GetMapping("getConveyStatus") + public PubServeDataResponse queryConveyStatus(@RequestParam("conveyId") @NotBlank(message = "输送设备号不允许为空") String conveyNo) { + return deviceService.queryConveyStatus(conveyNo); + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/controller/pub/TaskController.java b/wcs/src/main/java/org/wcs/serve/controller/pub/TaskController.java new file mode 100644 index 0000000..172039d --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/controller/pub/TaskController.java @@ -0,0 +1,68 @@ +package org.wcs.serve.controller.pub; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wcs.model.dto.pub.AddConveyTaskReq; +import org.wcs.model.dto.pub.AddStockTaskReq; +import org.wcs.model.vo.pub.PubServeDataResponse; +import org.wcs.model.vo.pub.PubServeResponse; +import org.wcs.model.vo.pub.task.StockTaskDetailVo; +import org.wcs.serve.service.pub.intf.ITaskService; + +/** + * 对外开放的任务接口 + */ +@RestController +@RequestMapping("/api/pub/task") +@ResponseBody +@RequiredArgsConstructor +public class TaskController { + + private final ITaskService taskService; + + /** + * 添加仓库任务 + * @param addStockTaskReq 添加任务数据 + * @return 结果 + */ + @PostMapping("addStockTask") + public PubServeResponse addStockTask(@RequestBody @Validated AddStockTaskReq addStockTaskReq) { + return taskService.addStockTask(addStockTaskReq); + } + + /** + * 查询仓库任务详情 + * @param taskId 任务ID + * @return 结果 + */ + @GetMapping("queryStockTaskDetail") + public PubServeDataResponse queryStockTaskDetail(@RequestParam("taskId") @NotBlank(message = "任务ID不能为空") String taskId) { + return taskService.queryStockTaskDetail(taskId); + } + + /** + * 取消仓库任务 + * @param taskId 仓库任务ID + * @return 结果 + */ + @DeleteMapping("cancelStockTask") + public PubServeResponse cancelStockTask(@RequestParam("taskId") @NotBlank(message = "任务ID不能为空") String taskId) { + return taskService.cancelStockTask(taskId); + } + + /** + * 添加箱式线任务 + * @param addConveyTaskReq 添加任务数据 + * @return 添加结果 + */ + @PostMapping("addConveyTask") + public PubServeResponse addConveyTask(@RequestBody @Validated AddConveyTaskReq addConveyTaskReq) { + return taskService.addConveyTask(addConveyTaskReq); + } + + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/exception/handler/AppExceptionHandler.java b/wcs/src/main/java/org/wcs/serve/exception/handler/AppExceptionHandler.java new file mode 100644 index 0000000..718db56 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/exception/handler/AppExceptionHandler.java @@ -0,0 +1,58 @@ +package org.wcs.serve.exception.handler; + +import cn.dev33.satoken.exception.NotLoginException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.validation.ObjectError; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.model.vo.serve.AppServeResponse; + +import java.util.List; + +/** + * 系统的全局异常处理 + */ +@Slf4j +@RestControllerAdvice(basePackages = {"org.wcs.serve.controller.app"}) +public class AppExceptionHandler { + + /** + * 接口层参数校验失败 + * @param ex 异常信息 + * @return 响应结果 + */ + @ExceptionHandler(value = MethodArgumentNotValidException.class) + @ResponseBody + public AppServeResponse handleException(MethodArgumentNotValidException ex) { + log.info("接口层参数校验失败", ex); + List allErrors = ex.getAllErrors(); + if(allErrors.isEmpty()) { + return AppServeResponseFactory.fail("接口层参数校验失败,未知异常"); + } + return AppServeResponseFactory.fail(allErrors.getFirst().getDefaultMessage()); + } + + @ExceptionHandler(NotLoginException.class) + @ResponseStatus(HttpStatus.UNAUTHORIZED) + public void handlerNotLoginException(NotLoginException nle) { + // 未登录的直接返回 401 要求登录 + log.error("未登录异常:", nle); + } + + /** + * 兜底异常 + * @param ex 异常信息 + * @return 响应结果 + */ + @ExceptionHandler(value = Exception.class) + @ResponseBody + public AppServeResponse handleException(Exception ex) { + log.error("系统异常", ex); + return AppServeResponseFactory.fail("系统异常:" + ex.getMessage()); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/filter/PubLoggerFilter.java b/wcs/src/main/java/org/wcs/serve/filter/PubLoggerFilter.java new file mode 100644 index 0000000..5696f7a --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/filter/PubLoggerFilter.java @@ -0,0 +1,107 @@ +package org.wcs.serve.filter; + +import jakarta.servlet.*; +import jakarta.servlet.annotation.WebFilter; +import jakarta.servlet.http.HttpFilter; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.web.util.ContentCachingRequestWrapper; +import org.springframework.web.util.ContentCachingResponseWrapper; +import org.wcs.mapper.intf.AppRecordApiResponseService; +import org.wcs.model.po.app.AppRecordApiResponse; +import org.wcs.utils.AppTimeUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.io.IOException; +import java.math.BigDecimal; +import java.time.Duration; +import java.time.LocalDateTime; + +@Slf4j +@Component +@WebFilter(filterName = "pubLoggerFilter") +@RequiredArgsConstructor +public class PubLoggerFilter extends HttpFilter { + + private final AppRecordApiResponseService apiResponseService; + + @Override + protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { + String uri = request.getRequestURI(); // 资源地址 + /* pub 接口过滤事件 */ + if(uri.matches("^/.*/api/pub/.*")) { + String method = request.getMethod(); // 请求方法 + // Wrapper封装request和response + ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper(request); + ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response); + LocalDateTime startTime = LocalDateTime.now(); + Exception exception = null; + // 继续执行请求链 + try { + chain.doFilter(requestWrapper, responseWrapper); + } catch (Exception e) { + exception = e; + } + LocalDateTime endTime = LocalDateTime.now(); + String queryString = request.getQueryString(); // 请求URL参数 + String remoteHost = request.getRemoteHost(); // 客户端主机名 + String remoteAddr = request.getRemoteAddr(); // 客户端ip地址 + String contentType = request.getContentType(); // 请求类型 + int status = response.getStatus(); // 响应状态 + byte[] requestContent = requestWrapper.getContentAsByteArray(); // 请求体 + byte[] responseContent = responseWrapper.getContentAsByteArray(); // 响应体 + String requestContentString = new String(requestContent).replaceAll("\\s*", ""); // 请求数据 + String responseContentString = new String(responseContent).replaceAll("\\s*", ""); // 响应数据 + // 构造请求记录 + String requestId = AppUUIDUtils.getNewUUID(); + StringBuilder requestLogBuilder = new StringBuilder(); + requestLogBuilder.append("外部系统请求:").append("\n"); + requestLogBuilder.append("请求时间:").append(AppTimeUtils.formatLocalDatetime(startTime)).append("\n"); + requestLogBuilder.append("请求ID:").append(requestId).append("\n"); + requestLogBuilder.append("请求地址:").append(uri).append("\n"); + requestLogBuilder.append("请求方法:").append(method).append("\n"); + requestLogBuilder.append("请求参数:").append(queryString).append("\n"); + requestLogBuilder.append("客户端:").append(remoteHost).append("(").append(remoteAddr).append(")").append("\n"); + requestLogBuilder.append("请求头:").append("\n"); + requestLogBuilder.append("请求类型:").append(contentType).append("\n"); + requestLogBuilder.append("请求数据:").append(requestContentString).append("\n"); + requestLogBuilder.append("响应状态:").append(status).append("\n"); + requestLogBuilder.append("响应数据:").append(responseContentString).append("\n"); + requestLogBuilder.append("结束时间:").append(AppTimeUtils.formatLocalDatetime(endTime)).append("\n"); + long useTime = Duration.between(startTime, endTime).toMillis(); + requestLogBuilder.append("请求耗时:").append(useTime).append("\n"); + if(exception != null) { + requestLogBuilder.append("异常信息:").append(exception).append("\n"); + } + log.info(requestLogBuilder.toString()); + // GET 请求只记录文本日志,其他请求插入数据库并记录文本日志 + if(!method.equalsIgnoreCase("GET")) { + AppRecordApiResponse appRecordApiResponse = new AppRecordApiResponse(); + appRecordApiResponse.setRecordId(requestId); + appRecordApiResponse.setPath(uri); + appRecordApiResponse.setMethod(method); + appRecordApiResponse.setUrlParam(queryString); + appRecordApiResponse.setResponseCode(status); + appRecordApiResponse.setMediaType(contentType); + appRecordApiResponse.setClientAddress(remoteAddr); + appRecordApiResponse.setHeader(""); + appRecordApiResponse.setRequestTime(startTime); + appRecordApiResponse.setResponseTime(endTime); + appRecordApiResponse.setUseTime(BigDecimal.valueOf(useTime)); + appRecordApiResponse.setRequestMsg(requestContentString); + appRecordApiResponse.setResponseMsg(responseContentString); + appRecordApiResponse.setCookie(""); + appRecordApiResponse.setErrMsg(exception == null ? "" : exception.getMessage()); + apiResponseService.insert(appRecordApiResponse); + } + // 把缓存的响应数据,响应给客户端 + responseWrapper.copyBodyToResponse(); + } else { + chain.doFilter(request, response); + } + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/ApiService.java b/wcs/src/main/java/org/wcs/serve/service/impl/ApiService.java new file mode 100644 index 0000000..8c5fa8f --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/ApiService.java @@ -0,0 +1,141 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.data.intf.IDataLoader; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseApiInfoService; +import org.wcs.model.dto.serve.api.AddApiBaseInfoReq; +import org.wcs.model.dto.serve.api.QueryApiBaseInfoReq; +import org.wcs.model.dto.serve.api.UpdateApiBaseInfoReq; +import org.wcs.model.po.app.AppBaseApiInfo; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.api.QueryApiBaseInfoVo; +import org.wcs.serve.service.intf.IApiService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ApiService implements IApiService { + + private final AppBaseApiInfoService appBaseApiInfoService; + private final IDataLoader dataLoader; + + /** + * 查询API基本信息 + * + * @param queryApiBaseInfoReq 查询API基本信息请求参数 + * @return API基本信息 + */ + @Override + public AppServeDataResponse> queryApiBaseInfo(QueryApiBaseInfoReq queryApiBaseInfoReq) { + List queryResult = appBaseApiInfoService.query(queryApiBaseInfoReq); + if(queryResult == null) { + return AppServeResponseFactory.fail("数据服务器异常", null); + } + List queryApiBaseInfoVos = AppBeanUtils.copyListProperties(queryResult, QueryApiBaseInfoVo::new); + return AppServeResponseFactory.success("查询成功", queryApiBaseInfoVos); + } + + /** + * 重新加载API基本信息 + * @return 重新加载结果 + */ + @Override + public AppServeResponse reloadApiKey() { + dataLoader.loadApiKey(); + return AppServeResponseFactory.success("已经尝试重新加载"); + } + + /** + * 添加API基本信息 + * @param addApiBaseInfoReq 添加API基本信息请求参数 + * @return 添加结果 + */ + @Override + public AppServeResponse addApiBaseInfo(AddApiBaseInfoReq addApiBaseInfoReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List baseApiInfos = appBaseApiInfoService.queryWithApiKey(addApiBaseInfoReq.getApiKey()); + if(baseApiInfos == null) { + return AppServeResponseFactory.fail("数据服务器异常"); + } + if(!baseApiInfos.isEmpty()) { + return AppServeResponseFactory.fail("API键已存在"); + } + AppBaseApiInfo appBaseApiInfo = new AppBaseApiInfo(); + AppBeanUtils.copyProperties(addApiBaseInfoReq, appBaseApiInfo); + boolean insertResult = appBaseApiInfoService.insert(appBaseApiInfo); + if(!insertResult) { + return AppServeResponseFactory.fail("数据服务器异常"); + } + log.info("添加API基本信息成功,用户ID:{},API基本信息:{}", userId, AppStringUtils.objectToString(addApiBaseInfoReq)); + return AppServeResponseFactory.success("添加成功"); + } + + /** + * 删除API基本信息 + * @param apiKey API键 + * @return 删除结果 + */ + @Override + public AppServeResponse deleteApiBaseInfo(String apiKey) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List baseApiInfos = appBaseApiInfoService.queryWithApiKey(apiKey); + if(baseApiInfos == null) { + return AppServeResponseFactory.fail("数据服务器异常"); + } + if(baseApiInfos.isEmpty()) { + return AppServeResponseFactory.fail("API键不存在"); + } + boolean deleteResult = appBaseApiInfoService.delete(apiKey); + if(!deleteResult) { + return AppServeResponseFactory.fail("数据服务器异常"); + } + log.info("删除API基本信息成功,用户ID:{},API键:{},API基础资料:{}", userId, apiKey, AppStringUtils.objectToString(baseApiInfos)); + return AppServeResponseFactory.success("删除成功"); + } + + /** + * 更新API基本信息 + * @param updateApiBaseInfoReq 更新API基本信息请求参数 + * @return 更新结果 + */ + @Override + public AppServeResponse updateApiBaseInfo(UpdateApiBaseInfoReq updateApiBaseInfoReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List baseApiInfos = appBaseApiInfoService.queryWithApiKey(updateApiBaseInfoReq.getApiKey()); + if(baseApiInfos == null) { + return AppServeResponseFactory.fail("数据服务器异常"); + } + if(baseApiInfos.isEmpty()) { + return AppServeResponseFactory.fail("API键不存在"); + } + AppBaseApiInfo appBaseApiInfo = new AppBaseApiInfo(); + AppBeanUtils.copyProperties(updateApiBaseInfoReq, appBaseApiInfo); + boolean updateResult = appBaseApiInfoService.update(appBaseApiInfo); + if(!updateResult) { + return AppServeResponseFactory.fail("数据服务器异常"); + } + log.info("更新API基本信息成功,用户ID:{},原数据:{},新数据:{}", userId, AppStringUtils.objectToString(baseApiInfos), AppStringUtils.objectToString(updateApiBaseInfoReq)); + return AppServeResponseFactory.success("更新成功"); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/BaseErrorService.java b/wcs/src/main/java/org/wcs/serve/service/impl/BaseErrorService.java new file mode 100644 index 0000000..7f34ead --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/BaseErrorService.java @@ -0,0 +1,260 @@ +package org.wcs.serve.service.impl; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import org.wcs.constant.enums.database.BaseErroorEquipmentTypeEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseErrInfoService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.baseError.QueryBaseErrorReq; +import org.wcs.model.dto.serve.baseError.UpdateBaseErrorReq; +import org.wcs.model.po.app.AppBaseErrInfo; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.dto.serve.baseError.AddBaseErrorReq; +import org.wcs.model.vo.serve.baseError.BaseErrorImport; +import org.wcs.model.vo.serve.baseError.QueryBaseErrorVo; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.serve.service.intf.IBaseErrorService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class BaseErrorService implements IBaseErrorService { + + private final ExcelPoi excelPoi; + private final AppBaseErrInfoService baseErrInfoService; + + /** + * 下载导入模板 + * @param response 响应 + */ + @Override + public void downLoadImportExample(HttpServletResponse response) { + List importList = new ArrayList<>(); + BaseErrorImport import1 = new BaseErrorImport(); + import1.setEquipmentName("设备类型,仅支持数字:0-堆垛机;1-托盘线;2-箱式线;3-小车"); + import1.setErrCode("错误码,支持数字和字符串"); + import1.setErrLevel("错误等级,仅支持数字:0-普通;1-注意;2-紧急;3-崩溃"); + import1.setErrType("错误类型,仅支持数字:0-通讯异常;1-电源异常;2-硬件异常"); + import1.setErrMsg("错误信息,不超过100个字符"); + import1.setSuggest("建议,不超过100个字符"); + import1.setRemark("备注,可不填;【导入前删除本行】"); + importList.add(import1); + try { + excelPoi.doWriteExcel("错误码导入模板", response, importList, BaseErrorImport.class); + } catch (Exception e) { + log.error("下载导入模板失败", e); + } + } + + /** + * 查询基础错误列表 + * @param request 请求参数 + * @param pageSize 页大小 + * @param pageIndex 页索引 + * @return 基础错误列表 + */ + @Override + public AppServeDataResponse> queryBaseErrorList(QueryBaseErrorReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> baseErrorListPageData = baseErrInfoService.queryBaseErrorList(request, pageSize, pageIndex); + if(baseErrorListPageData == null) { + return AppServeResponseFactory.fail("查询失败,数据服务异常", null); + } + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(baseErrorListPageData.getItem1()); + pageDataResponse.setData(AppBeanUtils.copyListProperties(baseErrorListPageData.getItem2(), QueryBaseErrorVo::new)); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 添加基础错误 + * @param request 添加基础错误请求参数 + * @return 添加结果 + */ + @Override + public AppServeResponse addBaseError(AddBaseErrorReq request) { + List appBaseErrInfos = baseErrInfoService.queryBaseErrorList(request.getEquipmentType(), request.getErrCode()); + if(appBaseErrInfos == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(!appBaseErrInfos.isEmpty()) { + return AppServeResponseFactory.fail("该资料已存在,请先核实"); + } + AppBaseErrInfo appBaseErrInfo = new AppBaseErrInfo(); + appBaseErrInfo.setId(AppUUIDUtils.getNewUUID()); + appBaseErrInfo.setEquipmentType(request.getEquipmentType()); + appBaseErrInfo.setErrCode(request.getErrCode()); + appBaseErrInfo.setErrLevel(request.getErrLevel()); + appBaseErrInfo.setErrType(request.getErrType()); + appBaseErrInfo.setErrMsg(request.getErrMsg()); + appBaseErrInfo.setSuggest(request.getSuggest()); + appBaseErrInfo.setRemark(request.getRemark()); + if(baseErrInfoService.addBaseError(appBaseErrInfo) <= 0) { + return AppServeResponseFactory.fail("添加失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 导入基础错误 + * @param fileUpload 文件上传 + */ + @Override + public AppServeResponse importBaseError(MultipartFile fileUpload) { + if(fileUpload == null) { + log.error("导入基础错误失败,请上传文件"); + return AppServeResponseFactory.fail("请上传文件"); + } + String originalFilename = fileUpload.getOriginalFilename(); + if(originalFilename == null || !originalFilename.endsWith(".xlsx")) { + log.error("导入基础错误失败,请上传正确的文件,传入的文件名称:{}", originalFilename); + return AppServeResponseFactory.fail("请上传正确的文件"); + } + try { + List importList = excelPoi.doReadExcelOnlyHeader(fileUpload, BaseErrorImport.class); + if(importList == null || importList.isEmpty()) { + log.error("导入基础错误失败,疑似文件格式不正确,传入的文件名称:{}", originalFilename); + return AppServeResponseFactory.fail("请上传正确的文件"); + } + List appBaseErrInfos = new ArrayList<>(); + for (BaseErrorImport baseErrorImport : importList) { + if(AppStringUtils.isEmpty(baseErrorImport.getEquipmentName()) || AppStringUtils.isEmpty(baseErrorImport.getErrCode()) + || AppStringUtils.isEmpty(baseErrorImport.getErrLevel()) || AppStringUtils.isEmpty(baseErrorImport.getErrType())) { + continue; + } + AppBaseErrInfo appBaseErrInfo = new AppBaseErrInfo(); + appBaseErrInfo.setId(AppUUIDUtils.getNewUUID()); + appBaseErrInfo.setEquipmentType(Integer.valueOf(baseErrorImport.getEquipmentName())); + appBaseErrInfo.setErrCode(baseErrorImport.getErrCode()); + appBaseErrInfo.setErrLevel(Integer.valueOf(baseErrorImport.getErrLevel())); + appBaseErrInfo.setErrType(Integer.valueOf(baseErrorImport.getErrType())); + appBaseErrInfo.setErrMsg(baseErrorImport.getErrMsg()); + appBaseErrInfo.setSuggest(baseErrorImport.getSuggest()); + appBaseErrInfo.setRemark(baseErrorImport.getRemark()); + appBaseErrInfos.add(appBaseErrInfo); + } + boolean insertResult = baseErrInfoService.addBaseErrorList(appBaseErrInfos); + if(!insertResult) { + log.error("导入基础错误失败,数据服务异常"); + return AppServeResponseFactory.fail("导入失败,数据服务异常"); + } + log.info("导入基础错误成功,导入文件名称:{}", originalFilename); + return AppServeResponseFactory.success(); + } catch (Exception e) { + log.error("解析导入模板失败", e); + return AppServeResponseFactory.fail("导入失败,请检查文件格式"); + } + } + + /** + * 根据设备型号删除基础错误 + * @param equipmentType 设备类型 + * @return 删除结果 + */ + @Override + public AppServeResponse deleteBaseErrorByEquipmentType(Integer equipmentType) { + if(equipmentType == null) { + return AppServeResponseFactory.fail("参数错误", null); + } + String name = BaseErroorEquipmentTypeEnum.getName(equipmentType); + if(name == null) { + return AppServeResponseFactory.fail("参数错误,传入的设备类型不合法", null); + } + int deleteRows = baseErrInfoService.deleteBaseErrorByEquipmentType(equipmentType); + if(deleteRows <= 0) { + return AppServeResponseFactory.fail("删除失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 根据id删除基础错误 + * @param id id + * @return 删除结果 + */ + @Override + public AppServeResponse deleteBaseErrorById(String id) { + if(id == null) { + return AppServeResponseFactory.fail("参数错误", null); + } + List appBaseErrInfoList = baseErrInfoService.queryById(id); + if(appBaseErrInfoList == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(appBaseErrInfoList.isEmpty()) { + return AppServeResponseFactory.fail("该资料不存在,请刷新后再试"); + } + int deleteRows = baseErrInfoService.deleteById(id); + if(deleteRows <= 0) { + return AppServeResponseFactory.fail("删除失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 修改基础错误 + * @param request 修改基础错误请求 + * @return 修改结果 + */ + @Override + public AppServeResponse updateBaseError(UpdateBaseErrorReq request) { + List appBaseErrInfoList = baseErrInfoService.queryById(request.getId()); + if(appBaseErrInfoList == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(appBaseErrInfoList.isEmpty()) { + return AppServeResponseFactory.fail("该资料不存在,请刷新后再试"); + } + AppBaseErrInfo appBaseErrInfo = new AppBaseErrInfo(); + appBaseErrInfo.setId(request.getId()); + appBaseErrInfo.setEquipmentType(request.getEquipmentType()); + appBaseErrInfo.setErrCode(request.getErrCode()); + appBaseErrInfo.setErrLevel(request.getErrLevel()); + appBaseErrInfo.setErrType(request.getErrType()); + appBaseErrInfo.setErrMsg(request.getErrMsg()); + appBaseErrInfo.setSuggest(request.getSuggest()); + appBaseErrInfo.setRemark(request.getRemark()); + int updateRows = baseErrInfoService.updateBaseError(appBaseErrInfo); + if(updateRows <= 0) { + return AppServeResponseFactory.fail("修改失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 根据设备型号查询基础错误 + * @param equipmentType 设备型号 + * @param errCode 错误码 + * @return 查询结果 + */ + @Override + public AppServeDataResponse getBaseError(Integer equipmentType, String errCode) { + List appBaseErrInfos = baseErrInfoService.queryByEquipmentTypeAndErrorCode(equipmentType, errCode); + if(appBaseErrInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(appBaseErrInfos.isEmpty()) { + return AppServeResponseFactory.fail("该资料不存在,请刷新后再试", null); + } + AppBaseErrInfo first = appBaseErrInfos.getFirst(); + QueryBaseErrorVo queryBaseErrorVo = new QueryBaseErrorVo(); + AppBeanUtils.copyProperties(first, queryBaseErrorVo); + return AppServeResponseFactory.success(queryBaseErrorVo); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/ConfigService.java b/wcs/src/main/java/org/wcs/serve/service/impl/ConfigService.java new file mode 100644 index 0000000..ec77f39 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/ConfigService.java @@ -0,0 +1,102 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.helper.AppConfigHelper; +import org.wcs.mapper.intf.AppBaseConfigService; +import org.wcs.model.dto.serve.config.QueryConfigReq; +import org.wcs.model.dto.serve.config.UpdateConfigReq; +import org.wcs.model.po.app.AppBaseConfig; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.config.QueryConfigResp; +import org.wcs.serve.service.intf.IConfigService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ConfigService implements IConfigService { + + + private final AppBaseConfigService baseConfigService; + private final AppConfigHelper appConfigHelper; + + /** + * 查询配置 + * @param queryConfigReq 查询参数 + * @return 配置列表 + */ + @Override + public AppServeDataResponse> queryConfig(QueryConfigReq queryConfigReq) { + List configs = baseConfigService.queryIndistinct(queryConfigReq.getConfigKey(), queryConfigReq.getConfigName(), false); + if(configs == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List returnConfigList = AppBeanUtils.copyListProperties(configs, QueryConfigResp::new); + return AppServeResponseFactory.success("查询成功", returnConfigList); + } + + /** + * 更新配置 + * @param updateConfigReq 更新参数 + * @return 更新结果 + */ + @Override + public AppServeResponse updateConfig(UpdateConfigReq updateConfigReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + if(AppStringUtils.isEmpty(userId)) { + return AppServeResponseFactory.unauthorized("未检索到您的登录信息或者登录已经过期"); + } + log.info("用户 {} 更新配置 {}", userId, AppStringUtils.objectToString(updateConfigReq)); + AppBaseConfig updateConfig = new AppBaseConfig(); + updateConfig.setConfigKey(updateConfigReq.getConfigKey()); + updateConfig.setConfigName(updateConfigReq.getConfigName()); + updateConfig.setConfigType(updateConfigReq.getConfigType()); + updateConfig.setImmediately(updateConfigReq.getImmediately()); + updateConfig.setClientShow(updateConfigReq.getClientShow()); + updateConfig.setConfigValue(updateConfigReq.getConfigValue()); + updateConfig.setTagText(updateConfigReq.getTagText()); + updateConfig.setValueType(updateConfigReq.getValueType()); + updateConfig.setRemark(updateConfigReq.getRemark()); + int update = baseConfigService.update(updateConfig); + if(update == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", update)); + } + + /** + * 重载配置 + * @return 重载结果 + */ + @Override + public AppServeResponse reloadConfig() { + appConfigHelper.loadConfig(); + return AppServeResponseFactory.success("已经尝试重载"); + } + + /** + * 查询配置值 + * @param key 配置键 + * @return 配置值 + */ + @Override + public AppServeDataResponse queryConfigValue(String key) { + if(AppStringUtils.isEmpty(key)) { + return AppServeResponseFactory.fail("参数错误", ""); + } + String configValue = appConfigHelper.getConfig(key); + return AppServeResponseFactory.success("查询成功", configValue); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/ConveyLocationService.java b/wcs/src/main/java/org/wcs/serve/service/impl/ConveyLocationService.java new file mode 100644 index 0000000..ef25adf --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/ConveyLocationService.java @@ -0,0 +1,154 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppConveyLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.convey.AddConveyLocationReq; +import org.wcs.model.dto.serve.convey.QueryConveyLocationReq; +import org.wcs.model.dto.serve.convey.UpdateConveyLocationReq; +import org.wcs.model.po.app.AppConveyLocation; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.convey.ConveyStatusVo; +import org.wcs.model.vo.serve.convey.QueryConveyLocationVo; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.TaskConveyStatus; +import org.wcs.serve.service.intf.IConveyLocationService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ConveyLocationService implements IConveyLocationService { + + private final AppConveyLocationService conveyLocationService; + + /** + * 查询输送点位 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryConveyLocation(QueryConveyLocationReq request, Integer pageSize, Integer pageIndex) { + if(pageSize == null || pageSize <= 0 || pageIndex == null || pageIndex <= 0) { + return AppServeResponseFactory.fail("分页参数错误", null); + } + Tuple2> queryResult = conveyLocationService.queryConveyLocation(request, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(queryResult.getItem1()); + response.setData(AppBeanUtils.copyListProperties(queryResult.getItem2(), QueryConveyLocationVo::new)); + return AppServeResponseFactory.success("查询成功", response); + } + + /** + * 添加点位信息 + * @param request 新增参数 + * @return 参数 + */ + @Override + public AppServeResponse addConveyLocation(AddConveyLocationReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 想要添加箱式输送线点位数据:{}", operationUserId, AppStringUtils.objectToString(request)); + List conveyLocations = conveyLocationService.queryByLocationId(request.getLocationId()); + if(conveyLocations == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(!conveyLocations.isEmpty()) { + return AppServeResponseFactory.fail("该位置已存在"); + } + AppConveyLocation insertConveyLocation = new AppConveyLocation(); + insertConveyLocation.setLocationId(request.getLocationId()); + insertConveyLocation.setBusinessLocationId(request.getBusinessLocationId()); + insertConveyLocation.setLocationName(request.getLocationName()); + insertConveyLocation.setLocationStatus(request.getLocationStatus()); + insertConveyLocation.setLocationType(request.getLocationType()); + insertConveyLocation.setPlcId(request.getPlcId()); + insertConveyLocation.setAreaId(request.getAreaId()); + insertConveyLocation.setLocationRouter(request.getLocationRouter()); + insertConveyLocation.setReadStatusAddress(request.getReadStatusAddress()); + insertConveyLocation.setWriteTaskAddress(request.getWriteTaskAddress()); + insertConveyLocation.setRemark(request.getRemark()); + boolean saveResult = conveyLocationService.insertConveyLocation(insertConveyLocation); + return saveResult ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 更新点位信息 + * @param request 更新的信息 + * @return 更新结果 + */ + @Override + public AppServeResponse updateConveyLocation(UpdateConveyLocationReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 想要更新箱式输送线点位数据:{}", operationUserId, AppStringUtils.objectToString(request)); + List conveyLocations = conveyLocationService.queryByLocationId(request.getLocationId()); + if(conveyLocations == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyLocations.isEmpty()) { + return AppServeResponseFactory.fail("该位置不存在"); + } + AppConveyLocation insertConveyLocation = new AppConveyLocation(); + insertConveyLocation.setLocationId(request.getLocationId()); + insertConveyLocation.setBusinessLocationId(request.getBusinessLocationId()); + insertConveyLocation.setLocationName(request.getLocationName()); + insertConveyLocation.setLocationStatus(request.getLocationStatus()); + insertConveyLocation.setLocationType(request.getLocationType()); + insertConveyLocation.setPlcId(request.getPlcId()); + insertConveyLocation.setAreaId(request.getAreaId()); + insertConveyLocation.setLocationRouter(request.getLocationRouter()); + insertConveyLocation.setReadStatusAddress(request.getReadStatusAddress()); + insertConveyLocation.setWriteTaskAddress(request.getWriteTaskAddress()); + insertConveyLocation.setRemark(request.getRemark()); + boolean updated = conveyLocationService.updateConveyLocationByLocationId(insertConveyLocation); + return updated ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 查询输送点位状态 + * @param conveyId 输送点位ID + * @return 结果 + */ + @Override + public AppServeDataResponse queryTrayConveyStatus(String conveyId) { + List conveyLocations = conveyLocationService.queryByLocationId(conveyId); + if(conveyLocations == null || conveyLocations.isEmpty()) { + return AppServeResponseFactory.fail("数据服务异常或者点位不存在", null); + } + AppConveyLocation conveyLocation = conveyLocations.getFirst(); + Tuple2 taskConveyStatusTuple2 = PlcCommunicationFactory.getPlcCommunicationByPlcId(conveyLocation.getPlcId()).readTaskConveyStatus(conveyId); + if(AppStringUtils.isNotEmpty(taskConveyStatusTuple2.item1)) { + return AppServeResponseFactory.fail(taskConveyStatusTuple2.item1, null); + } + if(taskConveyStatusTuple2.item2 == null) { + return AppServeResponseFactory.fail("查询失败", null); + } + ConveyStatusVo conveyStatusVo = new ConveyStatusVo(); + AppBeanUtils.copyProperties(taskConveyStatusTuple2.item2, conveyStatusVo); + return AppServeResponseFactory.success("查询成功", conveyStatusVo); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/ConveyStandService.java b/wcs/src/main/java/org/wcs/serve/service/impl/ConveyStandService.java new file mode 100644 index 0000000..b09d2af --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/ConveyStandService.java @@ -0,0 +1,213 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppConveyCheckStandService; +import org.wcs.mapper.intf.AppConveyPickStandService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.conveyStand.*; +import org.wcs.model.po.app.AppConveyCheckStand; +import org.wcs.model.po.app.AppConveyPickStand; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.conveyStand.ConveyCheckStandVo; +import org.wcs.model.vo.serve.conveyStand.ConveyPickStandVo; +import org.wcs.serve.service.intf.IConveyStandService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +/** + * 输送线站台服务 + */ +@Service +@RequiredArgsConstructor +public class ConveyStandService implements IConveyStandService { + + private final AppConveyPickStandService conveyPickStandService; // 捡选站台操作类 + private final AppConveyCheckStandService conveyCheckStandService; // 复核站台操作类 + + /** + * 查询捡货站台 + * @param request 获取参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 站台列表 + */ + @Override + public AppServeDataResponse> queryPickStand(QueryPickStandReq request, Integer pageSize, Integer pageIndex) { + Tuple2> queryPickStand = conveyPickStandService.queryPickStand(request, pageSize, pageIndex); + if(queryPickStand == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List conveyPickStandVos = AppBeanUtils.copyListProperties(queryPickStand.getItem2(), ConveyPickStandVo::new); + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(queryPickStand.getItem1()); + response.setData(conveyPickStandVos); + return AppServeResponseFactory.success(response); + } + + /** + * 添加捡选站台 + * @param request 添加参数 + * @return 添加结果 + */ + @Override + public AppServeResponse addConveyPickStand(AddConveyPickStandReq request) { + List conveyPickStands = conveyPickStandService.queryPickStandByStandId(request.getStandId()); + if(conveyPickStands == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(!conveyPickStands.isEmpty()) { + return AppServeResponseFactory.fail("站台已存在"); + } + AppConveyPickStand newPickStand = new AppConveyPickStand(); + AppBeanUtils.copyProperties(request, newPickStand); + int result = conveyPickStandService.insertPickStand(newPickStand); + if(result <= 0) { + return AppServeResponseFactory.fail("添加失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 删除捡选站台 + * @param standId 站台ID + * @return 删除结果 + */ + @Override + public AppServeResponse deleteConveyPickStand(String standId) { + if(AppStringUtils.isEmpty(standId)) { + return AppServeResponseFactory.fail("站台号为空"); + } + List conveyPickStands = conveyPickStandService.queryPickStandByStandId(standId); + if(conveyPickStands == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyPickStands.isEmpty()) { + return AppServeResponseFactory.fail("站台不存在"); + } + int deleteRowCount = conveyPickStandService.deletePickStand(standId); + if(deleteRowCount <= 0) { + return AppServeResponseFactory.fail("删除失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 修改捡选站台 + * @param request 修改参数 + * @return 修改结果 + */ + @Override + public AppServeResponse updateConveyPickStand(UpdateConveyPickStandReq request) { + List conveyPickStands = conveyPickStandService.queryPickStandByStandId(request.getStandId()); + if(conveyPickStands == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyPickStands.isEmpty()) { + return AppServeResponseFactory.fail("站台不存在"); + } + AppConveyPickStand updatePickStand = new AppConveyPickStand(); + AppBeanUtils.copyProperties(request, updatePickStand); + int updateRowCount = conveyPickStandService.updatePickStand(updatePickStand); + if(updateRowCount <= 0) { + return AppServeResponseFactory.fail("修改失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 查询复核站台 + * @param request 获取参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 站台列表 + */ + @Override + public AppServeDataResponse> queryCheckStand(QueryCheckStandReq request, Integer pageSize, Integer pageIndex) { + Tuple2> queryResult = conveyCheckStandService.query(request, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List conveyCheckStandVos = AppBeanUtils.copyListProperties(queryResult.getItem2(), ConveyCheckStandVo::new); + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(queryResult.getItem1()); + response.setData(conveyCheckStandVos); + return AppServeResponseFactory.success(response); + } + + /** + * 添加复核站台 + * @param request 添加参数 + * @return 添加结果 + */ + @Override + public AppServeResponse addConveyCheckStand(AddConveyCheckStandReq request) { + List checkStands = conveyCheckStandService.queryByStandId(request.getStandId()); + if(checkStands == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(!checkStands.isEmpty()) { + return AppServeResponseFactory.fail("站台已存在"); + } + AppConveyCheckStand newCheckStand = new AppConveyCheckStand(); + AppBeanUtils.copyProperties(request, newCheckStand); + Integer result = conveyCheckStandService.insert(newCheckStand).result(); + if(result <= 0) { + return AppServeResponseFactory.fail("添加失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 删除复核站台 + * @param standId 站台ID + * @return 删除结果 + */ + @Override + public AppServeResponse deleteConveyCheckStand(String standId) { + List checkStands = conveyCheckStandService.queryByStandId(standId); + if(checkStands == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(checkStands.isEmpty()) { + return AppServeResponseFactory.fail("站台不存在"); + } + Integer result = conveyCheckStandService.deleteByStandId(standId).result(); + if(result <= 0) { + return AppServeResponseFactory.fail("删除失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } + + /** + * 修改复核站台 + * @param request 修改参数 + * @return 修改结果 + */ + @Override + public AppServeResponse updateConveyCheckStand(UpdateConveyCheckStandReq request) { + List checkStands = conveyCheckStandService.queryByStandId(request.getStandId()); + if(checkStands == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(checkStands.isEmpty()) { + return AppServeResponseFactory.fail("站台不存在"); + } + AppConveyCheckStand updateCheckStand = new AppConveyCheckStand(); + AppBeanUtils.copyProperties(request, updateCheckStand); + Integer result = conveyCheckStandService.update(updateCheckStand).result(); + if(result <= 0) { + return AppServeResponseFactory.fail("修改失败,数据服务异常"); + } + return AppServeResponseFactory.success(); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/ConveyTaskService.java b/wcs/src/main/java/org/wcs/serve/service/impl/ConveyTaskService.java new file mode 100644 index 0000000..276ee2b --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/ConveyTaskService.java @@ -0,0 +1,432 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.constant.ConstantData; +import org.wcs.constant.enums.database.ConveyTaskStatusEnum; +import org.wcs.constant.enums.database.ConveyTaskTypeEnum; +import org.wcs.constant.enums.http.ConveyCallBackStatusEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.helper.PlcTaskIdHelper; +import org.wcs.mapper.intf.AppConveyTaskBakService; +import org.wcs.mapper.intf.AppConveyTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.client.ConveyTaskStatusUploadReq; +import org.wcs.model.dto.serve.conveyTask.AddConveyTaskReq; +import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq; +import org.wcs.model.dto.serve.conveyTask.ReporterConveyTaskStatusReq; +import org.wcs.model.po.app.AppConveyTask; +import org.wcs.model.po.app.AppConveyTaskBak; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.conveyTask.ExportConveyTaskBakVo; +import org.wcs.model.vo.serve.conveyTask.QueryConveyTaskVo; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.plugin.webHttpClient.WebHttpClient; +import org.wcs.plugin.webHttpClient.model.HttpRequest; +import org.wcs.plugin.webHttpClient.model.HttpResponse; +import org.wcs.serve.service.intf.IConveyTaskService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ConveyTaskService implements IConveyTaskService { + + private final AppConveyTaskService conveyTaskService; + private final AppConveyTaskBakService conveyTaskBakService; + private final PlcTaskIdHelper plcTaskIdHelper; + private final ExcelPoi excelPoi; + + /** + * 查询输送任务列表 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryConveyTask(QueryConveyTaskReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> pageResult = conveyTaskService.queryConveyTask(request, pageSize, pageIndex); + if(pageResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(pageResult.getItem1()); + response.setData(AppBeanUtils.copyListProperties(pageResult.getItem2(), QueryConveyTaskVo::new)); + return AppServeResponseFactory.success("查询成功", response); + } + + /** + * 获取所有输送任务列表 ---- 备份表 + * @param request 获取参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 获取结果 + */ + @Override + public AppServeDataResponse> queryConveyTaskBak(QueryConveyTaskReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> pageResult = conveyTaskBakService.queryConveyTaskBak(request, pageSize, pageIndex); + if(pageResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(pageResult.getItem1()); + response.setData(AppBeanUtils.copyListProperties(pageResult.getItem2(), QueryConveyTaskVo::new)); + return AppServeResponseFactory.success("查询成功", response); + } + + /** + * 新增输送任务 + * @param request 新增参数 + * @return 新增结果 + */ + @Override + public AppServeResponse addConveyTask(AddConveyTaskReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + String taskId = AppUUIDUtils.getNewUUID(); + AppConveyTask appConveyTask = new AppConveyTask(); + appConveyTask.setTaskId(taskId); + appConveyTask.setTaskGroup(taskId); + appConveyTask.setTaskType(request.getTaskType()); + appConveyTask.setOrderId(request.getOrderId()); + appConveyTask.setVehicleNo(request.getVehicleNo()); + appConveyTask.setLocation(request.getLocation()); + appConveyTask.setSize(AppStringUtils.isEmptyOr(request.getSize(), "0")); + appConveyTask.setWeight(request.getWeight()); + appConveyTask.setLength(request.getLength()); + appConveyTask.setWidth(request.getWidth()); + appConveyTask.setHeight(request.getHeight()); + appConveyTask.setTaskStatus(ConveyTaskStatusEnum.CREATED.getCode()); + appConveyTask.setTaskSource(ConstantData.SYSTEM_NAME); + appConveyTask.setCreatePerson(userId); + appConveyTask.setCreateTime(LocalDateTime.now()); + appConveyTask.setUpdateTime(LocalDateTime.now()); + appConveyTask.setPlcId(plcTaskIdHelper.newTaskId()); + appConveyTask.setRemark(request.getRemark()); + int saveResult = conveyTaskService.insertConveyTask(appConveyTask); + return saveResult > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 更新输送任务状态 + * @param taskId 任务ID + * @param status 状态 + * @return 更新结果 + */ + @Override + public AppServeResponse updateConveyTaskStatus(String taskId, Integer status) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + if(AppStringUtils.isEmpty(taskId) || status == null) { + return AppServeResponseFactory.fail("参数错误"); + } + List conveyTasks = conveyTaskService.queryByTaskId(taskId); + if(conveyTasks == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyTasks.isEmpty()) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppConveyTask newAppConveyTask = new AppConveyTask(); + newAppConveyTask.setTaskId(taskId); + newAppConveyTask.setTaskStatus(status); + newAppConveyTask.setRemark(String.format("用户:%s 更新任务状态为:%s", userId, ConveyTaskStatusEnum.getMsgByCode(status))); + int updateResult = conveyTaskService.updateConveyTask(newAppConveyTask); + return updateResult > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 完成输送任务 + * @param taskId 任务ID + * @param arriveLocation 到达位置 + * @return 完成结果 + */ + @Override + public AppServeResponse completeConveyTask(String taskId, String arriveLocation) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + if(AppStringUtils.isEmpty(taskId) || AppStringUtils.isEmpty(arriveLocation)) { + return AppServeResponseFactory.fail("参数错误"); + } + List conveyTasks = conveyTaskService.queryByTaskId(taskId); + if(conveyTasks == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyTasks.isEmpty()) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppConveyTask newAppConveyTask = new AppConveyTask(); + newAppConveyTask.setTaskId(taskId); + newAppConveyTask.setTaskStatus(ConveyTaskStatusEnum.ARRIVE.getCode()); + newAppConveyTask.setArriveLocation(arriveLocation); + newAppConveyTask.setCompleteTime(LocalDateTime.now()); + newAppConveyTask.setRemark(String.format("用户:%s 完成任务,到达位置:%s", userId, arriveLocation)); + int updateResult = conveyTaskService.updateConveyTask(newAppConveyTask); + return updateResult > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 取消输送任务 + * @param taskId 输送任务ID + * @return 取消结果 + */ + @Override + public AppServeResponse cancelConveyTask(String taskId) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + if(AppStringUtils.isEmpty(taskId)) { + return AppServeResponseFactory.fail("参数错误"); + } + List conveyTasks = conveyTaskService.queryByTaskId(taskId); + if(conveyTasks == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyTasks.isEmpty()) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppConveyTask newAppConveyTask = new AppConveyTask(); + newAppConveyTask.setTaskId(taskId); + newAppConveyTask.setTaskStatus(ConveyTaskStatusEnum.CANCEL.getCode()); + newAppConveyTask.setRemark(String.format("用户:%s 取消任务", userId)); + newAppConveyTask.setCompleteTime(LocalDateTime.now()); + int updateResult = conveyTaskService.updateConveyTask(newAppConveyTask); + return updateResult > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 回报输送任务完成 + * @param request 回报参数 + * @return 回报结果 + */ + @Override + public AppServeResponse reporterConveyTaskComplete(ReporterConveyTaskStatusReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + if(AppStringUtils.isEmpty(request.getArriveLocation())) { + return AppServeResponseFactory.fail("到达位置为空"); + } + List conveyTasks = conveyTaskService.queryByTaskId(request.getTaskId()); + if(conveyTasks == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyTasks.isEmpty()) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppConveyTask conveyTask = conveyTasks.getFirst(); // 取第一个任务 + ConveyTaskStatusUploadReq conveyTaskStatusUploadReq = new ConveyTaskStatusUploadReq(); + conveyTaskStatusUploadReq.setTaskId(conveyTask.getTaskId()); + conveyTaskStatusUploadReq.setTaskType(conveyTask.getTaskType()); + conveyTaskStatusUploadReq.setTaskStatus(ConveyCallBackStatusEnum.FINISH.getCode()); + conveyTaskStatusUploadReq.setArriveLocation(request.getArriveLocation()); + conveyTaskStatusUploadReq.setVehicleNo(conveyTask.getVehicleNo()); + conveyTaskStatusUploadReq.setMessage(String.format("用户:%s 回报任务完成,到达位置:%s", userId, request.getArriveLocation())); + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(conveyTask.getTaskSource() + "_CONVEY_TASK_STATUS_CALLBACK") + .setBody(AppStringUtils.objectToString(conveyTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + if(httpResponse.isBaseDataError()) { + return AppServeResponseFactory.fail(httpResponse.getErrText()); + } + if(!httpResponse.isSuccess()) { + String errText = httpResponse.getErrText(); + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return AppServeResponseFactory.fail(errText); + } + return AppServeResponseFactory.success(); + } + + /** + * 回报输送任务取消 + * @param request 回报参数 + * @return 回报结果 + */ + @Override + public AppServeResponse reporterConveyTaskCancel(ReporterConveyTaskStatusReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List conveyTasks = conveyTaskService.queryByTaskId(request.getTaskId()); + if(conveyTasks == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyTasks.isEmpty()) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppConveyTask conveyTask = conveyTasks.getFirst(); // 取第一个任务 + ConveyTaskStatusUploadReq conveyTaskStatusUploadReq = new ConveyTaskStatusUploadReq(); + conveyTaskStatusUploadReq.setTaskId(conveyTask.getTaskId()); + conveyTaskStatusUploadReq.setTaskType(conveyTask.getTaskType()); + conveyTaskStatusUploadReq.setTaskStatus(ConveyCallBackStatusEnum.CANCEL.getCode()); + conveyTaskStatusUploadReq.setVehicleNo(conveyTask.getVehicleNo()); + conveyTaskStatusUploadReq.setMessage(String.format("用户:%s 回报任务取消", userId)); + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(conveyTask.getTaskSource() + "_CONVEY_TASK_STATUS_CALLBACK") + .setBody(AppStringUtils.objectToString(conveyTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + if(httpResponse.isBaseDataError()) { + return AppServeResponseFactory.fail(httpResponse.getErrText()); + } + if(!httpResponse.isSuccess()) { + String errText = httpResponse.getErrText(); + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return AppServeResponseFactory.fail(errText); + } + return AppServeResponseFactory.success(); + } + + /** + * 回报输送任务完成 ---- 备份表 + * @param request 回报参数 + * @return 回报结果 + */ + @Override + public AppServeResponse reporterConveyTaskBakComplete(ReporterConveyTaskStatusReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + if(AppStringUtils.isEmpty(request.getArriveLocation())) { + return AppServeResponseFactory.fail("到达位置为空"); + } + List conveyTasks = conveyTaskBakService.queryByTaskId(request.getTaskId()); + if(conveyTasks == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyTasks.isEmpty()) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppConveyTaskBak conveyTask = conveyTasks.getFirst(); // 取第一个任务 + ConveyTaskStatusUploadReq conveyTaskStatusUploadReq = new ConveyTaskStatusUploadReq(); + conveyTaskStatusUploadReq.setTaskId(conveyTask.getTaskId()); + conveyTaskStatusUploadReq.setTaskType(conveyTask.getTaskType()); + conveyTaskStatusUploadReq.setTaskStatus(ConveyCallBackStatusEnum.FINISH.getCode()); + conveyTaskStatusUploadReq.setArriveLocation(request.getArriveLocation()); + conveyTaskStatusUploadReq.setVehicleNo(conveyTask.getVehicleNo()); + conveyTaskStatusUploadReq.setMessage(String.format("用户:%s 回报任务完成,到达位置:%s", userId, request.getArriveLocation())); + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(conveyTask.getTaskSource() + "_CONVEY_TASK_STATUS_CALLBACK") + .setBody(AppStringUtils.objectToString(conveyTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + if(httpResponse.isBaseDataError()) { + return AppServeResponseFactory.fail(httpResponse.getErrText()); + } + if(!httpResponse.isSuccess()) { + String errText = httpResponse.getErrText(); + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return AppServeResponseFactory.fail(errText); + } + return AppServeResponseFactory.success(); + } + + /** + * 回报输送任务取消 ---- 备份表 + * @param request 回报参数 + * @return 回报结果 + */ + @Override + public AppServeResponse reporterConveyTaskBakCancel(ReporterConveyTaskStatusReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List conveyTasks = conveyTaskBakService.queryByTaskId(request.getTaskId()); + if(conveyTasks == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(conveyTasks.isEmpty()) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppConveyTaskBak conveyTask = conveyTasks.getFirst(); // 取第一个任务 + ConveyTaskStatusUploadReq conveyTaskStatusUploadReq = new ConveyTaskStatusUploadReq(); + conveyTaskStatusUploadReq.setTaskId(conveyTask.getTaskId()); + conveyTaskStatusUploadReq.setTaskType(conveyTask.getTaskType()); + conveyTaskStatusUploadReq.setTaskStatus(ConveyCallBackStatusEnum.CANCEL.getCode()); + conveyTaskStatusUploadReq.setVehicleNo(conveyTask.getVehicleNo()); + conveyTaskStatusUploadReq.setMessage(String.format("用户:%s 回报任务取消", userId)); + HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(conveyTask.getTaskSource() + "_CONVEY_TASK_STATUS_CALLBACK") + .setBody(AppStringUtils.objectToString(conveyTaskStatusUploadReq)).buildEnd(); + HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest); + if(httpResponse.isBaseDataError()) { + return AppServeResponseFactory.fail(httpResponse.getErrText()); + } + if(!httpResponse.isSuccess()) { + String errText = httpResponse.getErrText(); + if(httpResponse.getException() != null) { + errText += httpResponse.getException().getMessage(); + } + return AppServeResponseFactory.fail(errText); + } + return AppServeResponseFactory.success(); + } + + /** + * 导出输送任务 ---- 备份表 + * @param response 响应对象 + * @param request 查询参数 + */ + @Override + public void exportConveyTaskBak(HttpServletResponse response, QueryConveyTaskReq request) { + List conveyTaskBakList = conveyTaskBakService.queryConveyTaskBak(request); + if(conveyTaskBakList == null) { + log.info("导出输送任务备份表查询数据库失败"); + return; + } + List exportConveyTaskBakVoList = new ArrayList<>(); + for(AppConveyTaskBak conveyTaskBak : conveyTaskBakList) { + ExportConveyTaskBakVo exportConveyTaskBakVo = new ExportConveyTaskBakVo(); + AppBeanUtils.copyProperties(conveyTaskBak, exportConveyTaskBakVo); + exportConveyTaskBakVo.setTaskType(ConveyTaskTypeEnum.getMsgByCode(conveyTaskBak.getTaskType())); + exportConveyTaskBakVo.setTaskStatus(ConveyTaskStatusEnum.getMsgByCode(conveyTaskBak.getTaskStatus())); + exportConveyTaskBakVoList.add(exportConveyTaskBakVo); + } + try { + excelPoi.doWriteExcel("输送任务", response, exportConveyTaskBakVoList, ExportConveyTaskBakVo.class); + } catch (Exception e) { + log.error("导出输送任务备份表失败", e); + } + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/DevService.java b/wcs/src/main/java/org/wcs/serve/service/impl/DevService.java new file mode 100644 index 0000000..46cf3ae --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/DevService.java @@ -0,0 +1,54 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.WcsApplication; +import org.wcs.constant.enums.database.UserLevelEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseUserService; +import org.wcs.model.po.app.AppBaseUser; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.serve.service.intf.IDevService; + +import java.util.List; +import java.util.Objects; + +/** + * 开发者 服务 + */ +@Service +@RequiredArgsConstructor +public class DevService implements IDevService { + + private final AppBaseUserService baseUserService; + + /** + * 重启应用 + * @return 重启结果 + */ + @Override + public AppServeResponse restartApplication() { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List users = baseUserService.queryByUserId(userId); + if(users == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(users.isEmpty()) { + return AppServeResponseFactory.fail("用户不存在或没有权限", null); + } + AppBaseUser user = users.getFirst(); + if(!Objects.equals(user.getUserLevel(), UserLevelEnum.TOP.getLevel())) { + return AppServeResponseFactory.fail("用户没有权限", null); + } + WcsApplication.restart(); // 重启应用 + return AppServeResponseFactory.success("重启成功", null); + } + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/EtagBaseService.java b/wcs/src/main/java/org/wcs/serve/service/impl/EtagBaseService.java new file mode 100644 index 0000000..ed1249e --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/EtagBaseService.java @@ -0,0 +1,333 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppEtagControllerInfoService; +import org.wcs.mapper.intf.AppEtagTagInfoService; +import org.wcs.mapper.intf.AppEtagTagLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagBase.*; +import org.wcs.model.po.app.AppEtagControllerInfo; +import org.wcs.model.po.app.AppEtagTagInfo; +import org.wcs.model.po.app.AppEtagTagLocation; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.etagBase.EtagControllerVo; +import org.wcs.model.vo.serve.etagBase.EtagLocationVo; +import org.wcs.model.vo.serve.etagBase.EtagTagInfoVo; +import org.wcs.serve.service.intf.IEtagBaseService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.util.List; + +/** + * 电子标签控制器数据服务 + */ +@Service +@RequiredArgsConstructor +public class EtagBaseService implements IEtagBaseService { + + private final AppEtagControllerInfoService etagControllerInfoService; // 电子标签控制器信息服务 + private final AppEtagTagInfoService etagTagInfoService; // 电子标签小标签信息服务 + private final AppEtagTagLocationService etagLocationService; // 电子标签小标签位置信息服务 + + /** + * 查询电子标签控制器基础数据 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryEtagController(EtagControllerQueryReq request, Integer pageIndex, Integer pageSize) { + if(request == null || pageIndex == null || pageSize == null || pageIndex < 1 || pageSize < 1) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> controllerInfo = etagControllerInfoService.queryEtagControllerInfo(request, pageSize, pageIndex); + if(controllerInfo == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List etagControllerVos = AppBeanUtils.copyListProperties(controllerInfo.getItem2(), EtagControllerVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(controllerInfo.getItem1()); + pageDataResponse.setData(etagControllerVos); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 添加电子标签控制器基础数据 + * @param request 添加参数 + * @return 响应 + */ + @Override + public AppServeResponse addEtagController(AddEtagControllerReq request) { + List appEtagControllerInfos = etagControllerInfoService.queryEtagControllerInfoById(request.getControllerId()); + if(appEtagControllerInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(!appEtagControllerInfos.isEmpty()) { + return AppServeResponseFactory.fail("控制器编号已存在", null); + } + AppEtagControllerInfo appEtagControllerInfo = new AppEtagControllerInfo(); + AppBeanUtils.copyProperties(request, appEtagControllerInfo); + int result = etagControllerInfoService.insertEtagControllerInfo(appEtagControllerInfo); + if(result <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 修改电子标签控制器基础数据 + * @param request 修改参数 + * @return 响应 + */ + @Override + public AppServeResponse updateEtagController(UpdateEtagControllerReq request) { + List appEtagControllerInfos = etagControllerInfoService.queryEtagControllerInfoById(request.getControllerId()); + if(appEtagControllerInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(appEtagControllerInfos.isEmpty()) { + return AppServeResponseFactory.fail("控制器编号不存在", null); + } + AppEtagControllerInfo appEtagControllerInfo = new AppEtagControllerInfo(); + AppBeanUtils.copyProperties(request, appEtagControllerInfo); + int updated = etagControllerInfoService.updateEtagControllerInfo(appEtagControllerInfo); + if(updated <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 删除电子标签控制器基础数据 + * @param etagControllerId 控制器编号 + * @return 响应 + */ + @Override + public AppServeResponse deleteEtagController(Integer etagControllerId) { + List appEtagControllerInfos = etagControllerInfoService.queryEtagControllerInfoById(etagControllerId); + if(appEtagControllerInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(appEtagControllerInfos.isEmpty()) { + return AppServeResponseFactory.fail("控制器编号不存在", null); + } + int deleted = etagControllerInfoService.deleteEtagControllerInfoById(etagControllerId); + if(deleted <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 查询电子标签小标签基础信息 + * @param request 添加参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryEtagTagInfo(EtagTagInfoQueryReq request, Integer pageIndex, Integer pageSize) { + if(request == null || pageIndex == null || pageSize == null || pageIndex < 1 || pageSize < 1) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> tagInfo = etagTagInfoService.queryEtagTagInfo(request, pageSize, pageIndex); + if(tagInfo == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List etagTagInfoVos = AppBeanUtils.copyListProperties(tagInfo.getItem2(), EtagTagInfoVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(tagInfo.getItem1()); + pageDataResponse.setData(etagTagInfoVos); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 添加电子标签小标签基础信息 + * @param request 添加参数 + * @return 响应 + */ + @Override + public AppServeResponse addEtagTagInfo(AddEtagTagInfoReq request) { + if(request == null) { + return AppServeResponseFactory.fail("参数错误", null); + } + List appEtagTagInfos = etagTagInfoService.queryEtagTagInfoByTagName(request.getTagName()); + if(appEtagTagInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(!appEtagTagInfos.isEmpty()) { + return AppServeResponseFactory.fail("标签名称已存在", null); + } + AppEtagTagInfo appEtagTagInfo = new AppEtagTagInfo(); + AppBeanUtils.copyProperties(request, appEtagTagInfo); + Integer value = etagTagInfoService.insert(appEtagTagInfo).result(); + if(value == null || value <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 修改电子标签小标签基础信息 + * @param request 修改参数 + * @return 响应 + */ + @Override + public AppServeResponse updateEtagTagInfo(UpdateEtagTagInfoReq request) { + if(request == null) { + return AppServeResponseFactory.fail("参数错误", null); + } + List appEtagTagInfos = etagTagInfoService.queryEtagTagInfoByTagName(request.getTagName()); + if(appEtagTagInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(appEtagTagInfos.isEmpty()) { + return AppServeResponseFactory.fail("标签名称不存在", null); + } + AppEtagTagInfo appEtagTagInfo = new AppEtagTagInfo(); + AppBeanUtils.copyProperties(request, appEtagTagInfo); + Integer result = etagTagInfoService.update(appEtagTagInfo).result(); + if(result == null || result <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 删除电子标签小标签基础信息 + * @param tagName 标签名称 + * @return 响应 + */ + @Override + public AppServeResponse deleteEtagTagInfo(String tagName) { + if(tagName == null) { + return AppServeResponseFactory.fail("参数错误", null); + } + List appEtagTagInfos = etagTagInfoService.queryEtagTagInfoByTagName(tagName); + if(appEtagTagInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(appEtagTagInfos.isEmpty()) { + return AppServeResponseFactory.fail("标签名称不存在", null); + } + Integer result = etagTagInfoService.deleteByTagName(tagName).result(); + if(result == null || result <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 查询电子标签小标签位置信息 + * @param request 添加参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryEtagLocation(EtagLocationQueryReq request, Integer pageIndex, Integer pageSize) { + Tuple2> etagTagLocationTuple = etagLocationService.queryEtagTagLocation(request, pageIndex, pageSize); + if(etagTagLocationTuple == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List etagLocationVos = AppBeanUtils.copyListProperties(etagTagLocationTuple.getItem2(), EtagLocationVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(etagTagLocationTuple.getItem1()); + pageDataResponse.setData(etagLocationVos); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 添加电子标签小标签位置信息 + * @param request 添加参数 + * @return 响应 + */ + @Override + public AppServeResponse addEtagLocation(AddEtagLocationReq request) { + List etagTagInfos = etagTagInfoService.queryEtagTagInfoByTagName(request.getTagName()); + if(etagTagInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(etagTagInfos.isEmpty()) { + return AppServeResponseFactory.fail("标签名称不存在,请先添加对应的标签", null); + } + List etagTagLocations = etagLocationService.queryWithLocationAndType(request.getLocation(), request.getLocationType()); + if(etagTagLocations == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(!etagTagLocations.isEmpty()) { + return AppServeResponseFactory.fail("货位已存在", null); + } + AppEtagTagLocation appEtagTagLocation = new AppEtagTagLocation(); + AppBeanUtils.copyProperties(request, appEtagTagLocation); + appEtagTagLocation.setRecordId(AppUUIDUtils.getNewUUID()); + Integer insertResult = etagLocationService.insert(appEtagTagLocation).result(); + if(insertResult == null || insertResult <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 修改电子标签小标签位置信息 + * @param request 修改参数 + * @return 响应 + */ + @Override + public AppServeResponse updateEtagLocation(UpdateEtagLocationReq request) { + List etagTagInfos = etagTagInfoService.queryEtagTagInfoByTagName(request.getTagName()); + if(etagTagInfos == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(etagTagInfos.isEmpty()) { + return AppServeResponseFactory.fail("标签名称不存在,请先添加对应的标签", null); + } + List etagTagLocations = etagLocationService.queryWithRecordId(request.getRecordId()); + if(etagTagLocations == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(etagTagLocations.isEmpty()) { + return AppServeResponseFactory.fail("记录不存在", null); + } + AppEtagTagLocation appEtagTagLocation = new AppEtagTagLocation(); + AppBeanUtils.copyProperties(request, appEtagTagLocation); + Integer updateResult = etagLocationService.updateAll(appEtagTagLocation).result(); + if(updateResult == null || updateResult <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } + + /** + * 删除电子标签小标签位置信息 + * @param recordId 记录ID + * @return 响应 + */ + @Override + public AppServeResponse deleteEtagLocation(String recordId) { + List etagTagLocations = etagLocationService.queryWithRecordId(recordId); + if(etagTagLocations == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + if(etagTagLocations.isEmpty()) { + return AppServeResponseFactory.fail("记录不存在", null); + } + Integer deleteResult = etagLocationService.deleteWithRecordId(recordId).result(); + if(deleteResult == null || deleteResult <= 0) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success(); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java b/wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java new file mode 100644 index 0000000..b6951fd --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java @@ -0,0 +1,154 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.database.EtagTaskLightModelEnum; +import org.wcs.constant.enums.database.EtagTaskStatusEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppEtagTaskBakService; +import org.wcs.mapper.intf.AppEtagTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.etagTask.AddEtagTaskReq; +import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; +import org.wcs.model.dto.serve.etagTask.UpdateEtagTaskReq; +import org.wcs.model.po.app.AppEtagTask; +import org.wcs.model.po.app.AppEtagTaskBak; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.etagTask.EtagTaskBakVo; +import org.wcs.model.vo.serve.etagTask.EtagTaskVo; +import org.wcs.serve.service.intf.IEtagTaskService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 电子标签任务服务实现类 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class EtagTaskService implements IEtagTaskService { + + private final AppEtagTaskService etagTaskService; + private final AppEtagTaskBakService etagTaskBakService; + + /** + * 查询电子标签任务 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryEtagTask(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize) { + Tuple2> queryEtagTaskTuple = etagTaskService.queryEtagTask(request, pageIndex, pageSize); + if(queryEtagTaskTuple == null) { + return AppServeResponseFactory.fail("查询失败", null); + } + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryEtagTaskTuple.item1); + pageDataResponse.setData(AppBeanUtils.copyListProperties(queryEtagTaskTuple.item2, EtagTaskVo::new)); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 新增电子标签任务 + * @param request 新增参数 + * @return 响应 + */ + @Override + public AppServeResponse addEtagTask(AddEtagTaskReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 想要添加电子标签任务:{}", operationUserId, AppStringUtils.objectToString(request)); + String taskId = AppUUIDUtils.getNewUUID(); + AppEtagTask appEtagTask = new AppEtagTask(); + appEtagTask.setTaskId(taskId); + appEtagTask.setTaskGroup(taskId); + appEtagTask.setTaskType(request.getTaskType()); + appEtagTask.setVehicleNo(request.getVehicleNo()); + appEtagTask.setOrderId(request.getOrderId()); + appEtagTask.setLocation(request.getLocation()); + appEtagTask.setGoodsId(request.getGoodsId()); + appEtagTask.setGoodsName(request.getGoodsName()); + appEtagTask.setLightNum(request.getLightNum()); + appEtagTask.setTaskStatus(request.getLightModel().equals(EtagTaskLightModelEnum.IMMEDIATELY.getCode()) ? EtagTaskStatusEnum.ACTIVATED.getCode() : EtagTaskStatusEnum.NOT_ACTIVATED.getCode()); + appEtagTask.setLightModel(request.getLightModel()); + appEtagTask.setTaskSource(""); + appEtagTask.setCreatePerson(operationUserId); + appEtagTask.setCreateTime(LocalDateTime.now()); + appEtagTask.setRemark(request.getRemark()); + Integer result = etagTaskService.insert(appEtagTask).result(); + if(result > 0) { + return AppServeResponseFactory.success("添加成功", null); + } + return AppServeResponseFactory.fail("添加失败"); + } + + /** + * 修改电子标签任务 + * @param request 修改参数 + * @return 响应 + */ + @Override + public AppServeResponse updateEtagTask(UpdateEtagTaskReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 想要修改电子标签任务:{}", operationUserId, AppStringUtils.objectToString(request)); + AppEtagTask appEtagTask = new AppEtagTask(); + appEtagTask.setTaskId(request.getTaskId()); + appEtagTask.setTaskGroup(request.getTaskGroup()); + appEtagTask.setTaskType(request.getTaskType()); + appEtagTask.setVehicleNo(request.getVehicleNo()); + appEtagTask.setOrderId(request.getOrderId()); + appEtagTask.setLocation(request.getLocation()); + appEtagTask.setGoodsId(request.getGoodsId()); + appEtagTask.setGoodsName(request.getGoodsName()); + appEtagTask.setLightNum(request.getLightNum()); + appEtagTask.setConfirmNum(request.getConfirmNum()); + appEtagTask.setTaskStatus(request.getTaskStatus()); + appEtagTask.setLightModel(request.getLightModel()); + appEtagTask.setRemark(request.getRemark()); + Integer result = etagTaskService.updateIgnoreNull(appEtagTask).result(); + if(result > 0) { + return AppServeResponseFactory.success("修改成功", null); + } + return AppServeResponseFactory.fail("修改失败,请重试"); + } + + /** + * 查询电子标签任务备份 + * @param request 查询参数 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryEtagTaskBak(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize) { + Tuple2> queryEtagTaskTuple = etagTaskBakService.queryEtagTask(request, pageIndex, pageSize); + if(queryEtagTaskTuple == null) { + return AppServeResponseFactory.fail("查询失败", null); + } + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryEtagTaskTuple.item1); + pageDataResponse.setData(AppBeanUtils.copyListProperties(queryEtagTaskTuple.item2, EtagTaskBakVo::new)); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/FileService.java b/wcs/src/main/java/org/wcs/serve/service/impl/FileService.java new file mode 100644 index 0000000..e9d7908 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/FileService.java @@ -0,0 +1,98 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.util.IOUtils; +import org.springframework.core.io.Resource; +import org.springframework.core.io.ResourceLoader; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.core.io.support.ResourcePatternResolver; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.serve.service.intf.IFileService; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +/** + * 文件服务 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class FileService implements IFileService { + + /** + * 获取文件名列表 + * @return 文件名列表 + */ + @Override + public AppServeDataResponse> getFilesName() { + try { + List fileNames = new ArrayList<>(); + ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); + Resource[] resources = resourcePatternResolver.getResources("classpath:appFiles/*"); + for (Resource resource : resources) { + fileNames.add(resource.getFilename()); + } + return AppServeResponseFactory.success("获取文件列表成功", fileNames); + } catch (Exception e) { + log.error("获取文件列表失败", e); + return AppServeResponseFactory.fail("获取文件列表失败", null); + } + + } + + /** + * 下载文件 + */ + @Override + public void downLoadFile(String fileName, HttpServletResponse response) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return; + } + String userId = userIdObj.toString(); + log.info("用户{};下载文件{}", userId, fileName); + + ResourceLoader resourceLoader = new PathMatchingResourcePatternResolver(); + Resource resource = resourceLoader.getResource("classpath:appFiles/" + fileName); + try (InputStream inputStream = resource.getInputStream()) { + String headerValue = "attachment; filename*=UTF-8''" + + java.net.URLEncoder.encode(fileName, StandardCharsets.UTF_8); + response.setCharacterEncoding("utf-8"); + String[] fileNames = fileName.split("\\."); + String contentType = fileNames.length > 1 ? "application/" + fileNames[fileNames.length - 1] : "application/octet-stream"; + // 特别处理PDF文件 + if (contentType.equals("application/pdf")) { + response.setContentType("application/pdf; charset=utf-8"); + response.setHeader("Content-Type", "application/pdf"); + } else { + response.setContentType(contentType); + } + response.setHeader("Content-Disposition", headerValue); + // 使用流式传输,避免将整个文件加载到内存 + ServletOutputStream os = response.getOutputStream(); + os.write(IOUtils.toByteArray(inputStream)); + os.flush(); + } catch (Exception e) { + log.error("下载文件失败", e); + } finally { + try { + resource.getInputStream().close(); + response.getOutputStream().close(); + } catch (Exception e) { + log.error("关闭文件输入流失败", e); + } + } + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/LedService.java b/wcs/src/main/java/org/wcs/serve/service/impl/LedService.java new file mode 100644 index 0000000..c51be1d --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/LedService.java @@ -0,0 +1,104 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseLedService; +import org.wcs.model.dto.serve.led.AddBaseLedReq; +import org.wcs.model.dto.serve.led.QueryLedReq; +import org.wcs.model.dto.serve.led.UpdateBaseLedReq; +import org.wcs.model.po.app.AppBaseLed; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.led.QueryLedVo; +import org.wcs.serve.service.intf.ILedService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class LedService implements ILedService { + + private final AppBaseLedService baseLedService; + + /** + * 查询LED屏基础资料 + * @param queryLedReq 查询LED屏基础资料请求 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryLed(QueryLedReq queryLedReq) { + List appBaseLedList = baseLedService.queryLed(queryLedReq); + if(appBaseLedList == null) { + return AppServeResponseFactory.fail("查询失败,数据服务异常", null); + } + List queryLedVos = AppBeanUtils.copyListProperties(appBaseLedList, QueryLedVo::new); + return AppServeResponseFactory.success("查询成功", queryLedVos); + } + + /** + * 添加LED屏基础资料 + * @param addBaseLedReq 添加LED屏基础资料请求 + * @return 添加结果 + */ + @Override + public AppServeResponse addBaseLed(AddBaseLedReq addBaseLedReq) { + AppBaseLed appBaseLed = new AppBaseLed(); + appBaseLed.setId(AppUUIDUtils.getNewUUID()); + appBaseLed.setLedIp(addBaseLedReq.getLedIp()); + appBaseLed.setLedBrand(addBaseLedReq.getLedBrand()); + appBaseLed.setHeight(addBaseLedReq.getHeight()); + appBaseLed.setWidth(addBaseLedReq.getWidth()); + appBaseLed.setColorType(addBaseLedReq.getColorType()); + appBaseLed.setLocation(addBaseLedReq.getLocation()); + appBaseLed.setIsExternal(addBaseLedReq.getIsExternal()); + appBaseLed.setRemark(addBaseLedReq.getRemark()); + int result = baseLedService.insert(appBaseLed); + if(result <= 0) { + return AppServeResponseFactory.fail("添加失败,数据服务异常", null); + } + return AppServeResponseFactory.success("添加成功", null); + } + + /** + * 修改LED屏基础资料 + * @param updateBaseLedReq 修改LED屏基础资料请求 + * @return 修改结果 + */ + @Override + public AppServeResponse updateBaseLed(UpdateBaseLedReq updateBaseLedReq) { + AppBaseLed appBaseLed = new AppBaseLed(); + appBaseLed.setId(updateBaseLedReq.getId()); + appBaseLed.setLedIp(updateBaseLedReq.getLedIp()); + appBaseLed.setLedBrand(updateBaseLedReq.getLedBrand()); + appBaseLed.setHeight(updateBaseLedReq.getHeight()); + appBaseLed.setWidth(updateBaseLedReq.getWidth()); + appBaseLed.setColorType(updateBaseLedReq.getColorType()); + appBaseLed.setLocation(updateBaseLedReq.getLocation()); + appBaseLed.setIsExternal(updateBaseLedReq.getIsExternal()); + appBaseLed.setRemark(updateBaseLedReq.getRemark()); + int result = baseLedService.update(appBaseLed); + if(result <= 0) { + return AppServeResponseFactory.fail("修改失败,数据服务异常", null); + } + return AppServeResponseFactory.success("修改成功", null); + } + + /** + * 删除LED屏基础资料 + * @param id LED屏基础资料ID + * @return 删除结果 + */ + @Override + public AppServeResponse deleteBaseLed(String id) { + int delete = baseLedService.delete(id); + if(delete <= 0) { + return AppServeResponseFactory.fail("删除失败,数据服务异常", null); + } + return AppServeResponseFactory.success("删除成功", null); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/MenuService.java b/wcs/src/main/java/org/wcs/serve/service/impl/MenuService.java new file mode 100644 index 0000000..c9bb0af --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/MenuService.java @@ -0,0 +1,133 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseMenuService; +import org.wcs.model.dto.serve.menu.AddMenuReq; +import org.wcs.model.dto.serve.menu.UpdateMenuReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.dto.serve.menu.QueryMenuReq; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.menu.QueryMenuResp; +import org.wcs.model.po.app.AppBaseMenu; +import org.wcs.serve.service.intf.IMenuService; +import org.wcs.utils.AppBeanUtils; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +@RequiredArgsConstructor +public class MenuService implements IMenuService { + + private final AppBaseMenuService appBaseMenuService; + + /** + * 查询菜单 + * @param queryMenuReq 查询参数 + * @return 结果 + */ + @Override + public AppServeDataResponse> queryMenu(QueryMenuReq queryMenuReq) { + if(queryMenuReq == null) { + return AppServeResponseFactory.fail("无法识别的参数", null); + } + AppBaseMenu appBaseMenu = new AppBaseMenu(); + appBaseMenu.setMenuId(queryMenuReq.getMenuId()); + appBaseMenu.setMenuName(queryMenuReq.getMenuName()); + appBaseMenu.setMenuLevel(queryMenuReq.getMenuLevel()); + List menuList = appBaseMenuService.queryIndistinct(appBaseMenu); + if(menuList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List returnMenuList = AppBeanUtils.copyListProperties(menuList, QueryMenuResp::new); + return AppServeResponseFactory.success("查询成功", returnMenuList); + } + + /** + * 添加新菜单 + * @param addMenuReq 新菜单参数 + * @return 添加结果 + */ + @Override + public AppServeResponse addMenu(AddMenuReq addMenuReq) { + AppBaseMenu checkExist = new AppBaseMenu(); + checkExist.setMenuId(addMenuReq.getMenuId()); + List checkExistResult = appBaseMenuService.query(checkExist); + if(checkExistResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(!checkExistResult.isEmpty()) { + return AppServeResponseFactory.fail(String.format("菜单ID %s 已存在", addMenuReq.getMenuId())); + } + if(addMenuReq.getMenuLevel().equals(1) && addMenuReq.getFatherMenuId() != null) { + addMenuReq.setFatherMenuId(null); + } + if(addMenuReq.getMenuLevel().equals(2) && addMenuReq.getFatherMenuId() == null) { + return AppServeResponseFactory.fail("二级菜单必须指定父级菜单"); + } + AppBaseMenu insertValue = new AppBaseMenu(); + AppBeanUtils.copyProperties(addMenuReq, insertValue); + insertValue.setCreateTime(LocalDateTime.now()); + insertValue.setUpdateTime(LocalDateTime.now()); + int insertCount = appBaseMenuService.insert(insertValue); + if(insertCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertCount)); + } + + /** + * 删除一个菜单 + * @param menuId 菜单ID + * @return 结果 + */ + @Override + public AppServeResponse deleteMenu(String menuId) { + /* 判断这个菜单在不在 */ + AppBaseMenu checkExist = new AppBaseMenu(); + checkExist.setMenuId(menuId); + List checkExistResult = appBaseMenuService.query(checkExist); + if(checkExistResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(checkExistResult.isEmpty()) { + return AppServeResponseFactory.fail(String.format("菜单ID %s 不存在", menuId)); + } + /* 删除菜单 */ + int deleteResult = appBaseMenuService.delete(menuId); + if(deleteResult == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("删除成功,删除了 %d 条记录", deleteResult)); + } + + /** + * 更新菜单 + * @param updateMenuReq 更新参数 + * @return 结果 + */ + @Override + public AppServeResponse updateMenu(UpdateMenuReq updateMenuReq) { + /* 判断这个菜单在不在 */ + AppBaseMenu checkExist = new AppBaseMenu(); + checkExist.setMenuId(updateMenuReq.getMenuId()); + List checkExistResult = appBaseMenuService.query(checkExist); + if(checkExistResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(checkExistResult.isEmpty()) { + return AppServeResponseFactory.fail(String.format("菜单ID %s 不存在", updateMenuReq.getMenuId())); + } + /* 更新菜单 */ + AppBaseMenu updateValue = new AppBaseMenu(); + AppBeanUtils.copyProperties(updateMenuReq, updateValue); + updateValue.setUpdateTime(LocalDateTime.now()); + int updateResult = appBaseMenuService.update(updateValue); + if(updateResult == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", updateResult)); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/PlcService.java b/wcs/src/main/java/org/wcs/serve/service/impl/PlcService.java new file mode 100644 index 0000000..d36a89b --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/PlcService.java @@ -0,0 +1,132 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBasePlcService; +import org.wcs.model.dto.serve.plc.AddPlcReq; +import org.wcs.model.dto.serve.plc.QueryBasePlcReq; +import org.wcs.model.dto.serve.plc.UpdatePlcReq; +import org.wcs.model.po.app.AppBasePlc; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.plc.QueryBasePlcResp; +import org.wcs.serve.service.intf.IPlcService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class PlcService implements IPlcService { + + private final AppBasePlcService appBasePlcService; + + + /** + * 根据条件模糊查询PLC 数据 + * @param queryPlcReq 查询条件 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryPlc(QueryBasePlcReq queryPlcReq) { + List basePlcList = appBasePlcService.queryIndistinct(queryPlcReq.getPlcName(), queryPlcReq.getPlcType()); + if(basePlcList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryBasePlcRespList = AppBeanUtils.copyListProperties(basePlcList, QueryBasePlcResp::new); + return AppServeResponseFactory.success("查询成功", queryBasePlcRespList); + } + + /** + * 添加PLC + * @param addPlcReq 查询条件 + * @return 查询结果 + */ + @Override + public AppServeResponse addPlc(AddPlcReq addPlcReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 要添加 plc:{}", operationUserId, AppStringUtils.objectToString(addPlcReq)); + List queryByIdList = appBasePlcService.queryById(addPlcReq.getPlcId()); + if(queryByIdList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(!queryByIdList.isEmpty()) { + return AppServeResponseFactory.fail("PLC 已存在,请检查 PLCID 是否重复"); + } + AppBasePlc insertPlc = new AppBasePlc(); + AppBeanUtils.copyProperties(addPlcReq, insertPlc); + int insertCount = appBasePlcService.insert(insertPlc); + if(insertCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertCount)); + } + + /** + * 修改PLC + * @param updatePlcReq 更新PLC数据 + * @return 修改结果 + */ + @Override + public AppServeResponse updatePlc(UpdatePlcReq updatePlcReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 要修改 plc:{}", operationUserId, AppStringUtils.objectToString(updatePlcReq)); + List queryByIdList = appBasePlcService.queryById(updatePlcReq.getPlcId()); + if(queryByIdList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(queryByIdList.isEmpty()) { + return AppServeResponseFactory.fail("PLC 不存在,请刷新后再试"); + } + AppBasePlc updatePlc = new AppBasePlc(); + AppBeanUtils.copyProperties(updatePlcReq, updatePlc); + int updateResult = appBasePlcService.update(updatePlc); + if(updateResult == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", updateResult)); + } + + /** + * 删除 PLC + * @param plcId PLC ID + * @return AppServeResponse + */ + @Override + public AppServeResponse deletePlc(Integer plcId) { + List queryByIdList = appBasePlcService.queryById(plcId); + if(queryByIdList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(queryByIdList.isEmpty()) { + return AppServeResponseFactory.fail("PLC 不存在,请刷新后再试"); + } + AppBasePlc basePlc = queryByIdList.getFirst(); + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 要删除 plc:{}", operationUserId, AppStringUtils.objectToString(basePlc)); + int delete = appBasePlcService.deletePlc(plcId); + if(delete > 0) { + log.info("用户:{} 删除 plc:{} 成功", operationUserId, AppStringUtils.objectToString(basePlc)); + return AppServeResponseFactory.success("删除 plc 成功", null); + } + log.info("用户:{} 删除 plc:{} 失败", operationUserId, AppStringUtils.objectToString(basePlc)); + return AppServeResponseFactory.fail("删除 plc 失败"); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/QuartzService.java b/wcs/src/main/java/org/wcs/serve/service/impl/QuartzService.java new file mode 100644 index 0000000..e36e9a9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/QuartzService.java @@ -0,0 +1,156 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppQuartzConfigService; +import org.wcs.model.dto.serve.quartz.AddQuartzConfigReq; +import org.wcs.model.dto.serve.quartz.QuartzReq; +import org.wcs.model.dto.serve.quartz.UpdateQuartzConfigReq; +import org.wcs.model.po.app.AppQuartzConfig; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.quartz.QueryResp; +import org.wcs.plugin.quartz.QuartzComponent; +import org.wcs.plugin.quartz.QuartzJobBean; +import org.wcs.serve.service.intf.IQuartzService; +import org.wcs.utils.AppBeanUtils; + +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class QuartzService implements IQuartzService { + + private final AppQuartzConfigService quartzConfigService; + private final QuartzComponent quartzComponent; + + + /** + * 查询定时任务 + * @param quartzReq 查询参数 + * @return 结果 + */ + @Override + public AppServeDataResponse> query(QuartzReq quartzReq) { + List quartzConfigs = quartzConfigService.queryIndistinct(quartzReq.getClassName(), quartzReq.getJobDesc()); + if(quartzConfigs == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryRespList = AppBeanUtils.copyListProperties(quartzConfigs, QueryResp::new); + return AppServeResponseFactory.success("查询成功", queryRespList); + } + + /** + * 添加一个定时任务 + * @param addQuartzConfigReq 定时任务数据 + * @return 结果 + */ + @Override + public AppServeResponse addQuartzConfig(AddQuartzConfigReq addQuartzConfigReq) { + Boolean isHave = quartzConfigService.exist(addQuartzConfigReq.getClassName()); + if(isHave == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(isHave) { + return AppServeResponseFactory.fail("该记录已经存在,请勿重复添加", null); + } + AppQuartzConfig insertQuartzConfig = new AppQuartzConfig(); + AppBeanUtils.copyProperties(addQuartzConfigReq, insertQuartzConfig); + int insertCount = quartzConfigService.insert(insertQuartzConfig); + if(insertCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertCount)); + } + + /** + * 删除定时任务数据 + * @param className 删除的类名 + * @return 删除结果 + */ + @Override + public AppServeResponse deleteQuartzConfig(String className) { + boolean stopResult = false; + boolean deleteResult = false; + List quartzJobBeans = quartzComponent.getQuartzJobBeans(); + List thisBeans = quartzJobBeans.stream().filter(quartzJobBean -> quartzJobBean.getJobName().equals(className)).toList(); + if(!thisBeans.isEmpty()) { + QuartzJobBean quartzJobBean = thisBeans.getFirst(); + stopResult = quartzComponent.stopQuartzJob(quartzJobBean.getJobName()); + deleteResult = quartzComponent.deleteQuartzJob(quartzJobBean.getJobName()); + } + int deleteDataResult = quartzConfigService.delete(className); + if(deleteDataResult == 0) { + return AppServeResponseFactory.fail(String.format("删除失败,请刷新后再试:%s;%s", stopResult, deleteResult)); + } + return AppServeResponseFactory.success(String.format("删除成功:%s;%s", stopResult, deleteResult)); + } + + /** + * 停止定时任务 + * @param className 任务名称 + * @return 结果 + */ + @Override + public AppServeResponse stopQuartzJob(String className) { + List quartzJobBeans = quartzComponent.getQuartzJobBeans(); + List thisBeans = quartzJobBeans.stream().filter(quartzJobBean -> quartzJobBean.getJobName().equals(className)).toList(); + if(!thisBeans.isEmpty()) { + QuartzJobBean quartzJobBean = thisBeans.getFirst(); + boolean stopResult = quartzComponent.stopQuartzJob(quartzJobBean.getJobName()); + if(!stopResult) { + return AppServeResponseFactory.fail("定时任务停止失败"); + } + return AppServeResponseFactory.success("定时任务停止成功"); + } + return AppServeResponseFactory.fail("定时任务不存在"); + } + + /** + * 启动定时任务 + * @param className 任务名称 + * @return 结果 + */ + @Override + public AppServeResponse startQuartzJob(String className) { + AppQuartzConfig quartzConfig = quartzConfigService.queryByClassName(className); + if(quartzConfig == null) { + return AppServeResponseFactory.fail("数据服务异常或数据不存在,请刷新后再试"); + } + List quartzJobBeans = quartzComponent.getQuartzJobBeans(); + List thisBeans = quartzJobBeans.stream().filter(quartzJobBean -> quartzJobBean.getJobName().equals(className)).toList(); + if(!thisBeans.isEmpty()) { + QuartzJobBean quartzJobBean = thisBeans.getFirst(); + quartzJobBean.setCron(quartzConfig.getCron()); + boolean deleteResult = quartzComponent.deleteQuartzJob(quartzJobBean.getJobName()); + if(!deleteResult) { + return AppServeResponseFactory.fail("定时任务预清理失败"); + } + boolean quartzJob = quartzComponent.createQuartzJob(quartzJobBean, quartzJobBean.getCron()); + if(!quartzJob) { + return AppServeResponseFactory.fail("定时任务创建失败"); + } + return AppServeResponseFactory.success("定时任务创建成功"); + } + return AppServeResponseFactory.fail("定时任务不存在"); + } + + /** + * 更新定时任务数据 + * @param updateQuartzConfigReq 更新数据 + * @return 更新结果 + */ + @Override + public AppServeResponse updateQuartzConfig(UpdateQuartzConfigReq updateQuartzConfigReq) { + AppQuartzConfig quartzConfig = new AppQuartzConfig(); + AppBeanUtils.copyProperties(updateQuartzConfigReq, quartzConfig); + int updateCount = quartzConfigService.update(quartzConfig); + if(updateCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", updateCount)); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/RecordApiService.java b/wcs/src/main/java/org/wcs/serve/service/impl/RecordApiService.java new file mode 100644 index 0000000..2e9fccb --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/RecordApiService.java @@ -0,0 +1,80 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppRecordApiRequestService; +import org.wcs.mapper.intf.AppRecordApiResponseService; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiRequestReq; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiResponseReq; +import org.wcs.model.po.app.AppRecordApiRequest; +import org.wcs.model.po.app.AppRecordApiResponse; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordApi.RecordApiRequestVo; +import org.wcs.model.vo.serve.recordApi.RecordApiResponseVo; +import org.wcs.serve.service.intf.IRecordApiService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.utils.AppBeanUtils; + +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class RecordApiService implements IRecordApiService { + + private final AppRecordApiRequestService recordApiRequestService; + private final AppRecordApiResponseService recordApiResponseService; + + /** + * 查询记录API请求列表 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return AppServeDataResponse> + */ + @Override + public AppServeDataResponse> queryRecordApiRequest(QueryRecordApiRequestReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> pageResult = recordApiRequestService.queryByPage(request, pageSize, pageIndex); + if(pageResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(pageResult.getItem1()); + response.setData(AppBeanUtils.copyListProperties(pageResult.getItem2(), RecordApiRequestVo::new)); + return AppServeResponseFactory.success("查询成功", response); + } + + /** + * 获取记录API响应列表 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return AppServeDataResponse> + */ + @Override + public AppServeDataResponse> queryRecordApiResponse(QueryRecordApiResponseReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> pageResult = recordApiResponseService.queryByPage(request, pageSize, pageIndex); + if(pageResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(pageResult.getItem1()); + response.setData(AppBeanUtils.copyListProperties(pageResult.getItem2(), RecordApiResponseVo::new)); + return AppServeResponseFactory.success("查询成功", response); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/RecordErrorService.java b/wcs/src/main/java/org/wcs/serve/service/impl/RecordErrorService.java new file mode 100644 index 0000000..2eb9f09 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/RecordErrorService.java @@ -0,0 +1,94 @@ +package org.wcs.serve.service.impl; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.database.BaseErroorEquipmentTypeEnum; +import org.wcs.constant.enums.database.BaseErrorLevelEnum; +import org.wcs.constant.enums.database.BaseErrorTypeEnum; +import org.wcs.constant.enums.database.EquipmentTypeEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppRecordErrService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordError.QueryEquipmentErrorReq; +import org.wcs.model.po.app.JoinRecordError; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordError.ExportEquipmentErrorVo; +import org.wcs.model.vo.serve.recordError.QueryEquipmentErrorVo; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.serve.service.intf.IRecordErrorService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class RecordErrorService implements IRecordErrorService { + + private final AppRecordErrService recordErrorService; + private final ExcelPoi excelPoi; + + /** + * 查询设备错误 + * @param request 查询参数 + * @param pageSize 分页大小 + * @param pageIndex 页面序号 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryEquipmentError(QueryEquipmentErrorReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> queryRecordErrorDetail = recordErrorService.queryRecordErrorDetail(request, pageSize, pageIndex); + if(queryRecordErrorDetail == null) { + return AppServeResponseFactory.fail("查询失败,后台异常", null); + } + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryRecordErrorDetail.item1); + pageDataResponse.setData(AppBeanUtils.copyListProperties(queryRecordErrorDetail.item2, QueryEquipmentErrorVo::new)); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 导出设备错误 + * @param response 响应 + * @param request 错误查询参数 + */ + @Override + public void exportEquipmentError(HttpServletResponse response, QueryEquipmentErrorReq request) { + List queryRecordErrorList = recordErrorService.queryRecordErrorDetail(request); + if(queryRecordErrorList == null) { + log.error("查询设备错误失败,参数:{}", AppStringUtils.objectToString(request)); + return; + } + List exportEquipmentErrorVoList = new ArrayList<>(); + for (JoinRecordError recordError : queryRecordErrorList) { + ExportEquipmentErrorVo exportEquipmentErrorVo = new ExportEquipmentErrorVo(); + exportEquipmentErrorVo.setId(recordError.getId()); + exportEquipmentErrorVo.setEquipmentType(BaseErroorEquipmentTypeEnum.getName(recordError.getEquipmentType())); + exportEquipmentErrorVo.setEquipmentName(recordError.getEquipmentName()); + exportEquipmentErrorVo.setEquipmentId(recordError.getEquipmentId()); + exportEquipmentErrorVo.setErrCode(recordError.getErrCode()); + exportEquipmentErrorVo.setErrLevel(BaseErrorLevelEnum.getName(recordError.getErrLevel())); + exportEquipmentErrorVo.setErrType(BaseErrorTypeEnum.getName(recordError.getErrType())); + exportEquipmentErrorVo.setErrMsg(recordError.getErrMsg()); + exportEquipmentErrorVo.setCreateTime(recordError.getCreateTime()); + exportEquipmentErrorVo.setRecoverTime(recordError.getRecoverTime()); + exportEquipmentErrorVoList.add(exportEquipmentErrorVo); + } + try { + excelPoi.doWriteExcel("设备错误.xlsx", response, exportEquipmentErrorVoList, ExportEquipmentErrorVo.class); + } catch (IOException e) { + log.error("导出设备错误失败", e); + } + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/RecordScanService.java b/wcs/src/main/java/org/wcs/serve/service/impl/RecordScanService.java new file mode 100644 index 0000000..ee8aa17 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/RecordScanService.java @@ -0,0 +1,93 @@ +package org.wcs.serve.service.impl; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.constant.ConstantData; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppRecordScanService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.recordScan.QueryRecordScanReq; +import org.wcs.model.po.app.AppRecordScan; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordScan.ExportAppRecordScanVo; +import org.wcs.model.vo.serve.recordScan.RecordScanVo; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.serve.service.intf.IRecordScanService; +import org.wcs.utils.AppBeanUtils; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.List; +import java.util.Objects; + +@Slf4j +@Service +@RequiredArgsConstructor +public class RecordScanService implements IRecordScanService { + + private final AppRecordScanService recordScanService; + private final ExcelPoi excelPoi; + + /** + * 查询记录扫描信息 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryRecordScan(QueryRecordScanReq request, Integer pageSize, Integer pageIndex) { + Tuple2> queryResult = recordScanService.query(request, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(queryResult.getItem1()); + response.setData(AppBeanUtils.copyListProperties(queryResult.getItem2(), RecordScanVo::new)); + return AppServeResponseFactory.success("查询成功", response); + } + + /** + * 查询记录扫描率 + * @param request 查询参数 + * @return 查询结果 + */ + @Override + public AppServeDataResponse queryRecordScanRatio(QueryRecordScanReq request) { + List recordScans = recordScanService.query(request); + if(recordScans == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(recordScans.isEmpty()) { + return AppServeResponseFactory.success("无记录扫描信息", BigDecimal.valueOf(100.0)); + } + int totalNumber = recordScans.size(); + int scanNoReadNumber = recordScans.stream().filter(recordScan -> Objects.equals(recordScan.getCode(), ConstantData.NO_READ)).toArray().length; + BigDecimal multiplyValue = BigDecimal.valueOf(totalNumber - scanNoReadNumber).divide(BigDecimal.valueOf(totalNumber), 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)); + return AppServeResponseFactory.success("查询成功", multiplyValue); + } + + /** + * 下载记录扫描信息 + * @param response 响应对象 + * @param request 搜索参数 + */ + @Override + public void downLoadRecordScan(HttpServletResponse response, QueryRecordScanReq request) { + List recordScans = recordScanService.query(request); + if(recordScans == null) { + return; + } + List recordScanVos = AppBeanUtils.copyListProperties(recordScans, ExportAppRecordScanVo::new); + try { + excelPoi.doWriteExcel("扫码数据下载", response, recordScanVos, ExportAppRecordScanVo.class); + } catch (Exception e) { + log.error("下载扫码数据失败", e); + } + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/SiemensDbService.java b/wcs/src/main/java/org/wcs/serve/service/impl/SiemensDbService.java new file mode 100644 index 0000000..17f5657 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/SiemensDbService.java @@ -0,0 +1,123 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.business.data.intf.IDataLoader; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseDbService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.siemensDb.AddSiemensDbReq; +import org.wcs.model.dto.serve.siemensDb.QuerySiemensDbReq; +import org.wcs.model.dto.serve.siemensDb.UpdateSiemensDbReq; +import org.wcs.model.po.app.AppBaseDb; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.siemensDb.SiemensDbVo; +import org.wcs.serve.service.intf.ISiemensDbService; +import org.wcs.utils.AppBeanUtils; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class SiemensDbService implements ISiemensDbService { + + private final AppBaseDbService baseDbService; + private final IDataLoader dataLoader; + + /** + * 查询西门子DB数据 + * @param pageIndex 页码 + * @param pageSize 页大小 + * @param request 查询参数 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> querySiemensDb(Integer pageIndex, Integer pageSize, QuerySiemensDbReq request) { + Tuple2> queryResult = baseDbService.query(pageIndex, pageSize, request); + if(queryResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryResult.getItem1()); + pageDataResponse.setData(AppBeanUtils.copyListProperties(queryResult.getItem2(), SiemensDbVo::new)); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 新增西门子DB数据 + * @param request 新增参数 + * @return 新增结果 + */ + @Override + public AppServeResponse addSiemensDb(AddSiemensDbReq request) { + List appBaseDbs = baseDbService.queryByName(request.getDbName()); + if(appBaseDbs == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(!appBaseDbs.isEmpty()) { + return AppServeResponseFactory.fail("该名称已存在"); + } + AppBaseDb db = new AppBaseDb(); + db.setDbName(request.getDbName()); + db.setDbAddress(request.getDbAddress()); + db.setPlcId(request.getPlcId()); + db.setRemark(request.getRemark()); + int insert = baseDbService.insert(db); + return insert > 0 ? AppServeResponseFactory.success("添加成功") : AppServeResponseFactory.fail("添加失败,数据服务异常"); + } + + /** + * 修改西门子DB数据 + * @param request 修改参数 + * @return 修改结果 + */ + @Override + public AppServeResponse updateSiemensDb(UpdateSiemensDbReq request) { + List appBaseDbs = baseDbService.queryByName(request.getDbName()); + if(appBaseDbs == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(appBaseDbs.isEmpty()) { + return AppServeResponseFactory.fail("该名称不存在"); + } + AppBaseDb db = new AppBaseDb(); + db.setDbName(request.getDbName()); + db.setDbAddress(request.getDbAddress()); + db.setPlcId(request.getPlcId()); + db.setRemark(request.getRemark()); + int insert = baseDbService.update(db); + return insert > 0 ? AppServeResponseFactory.success("更新成功") : AppServeResponseFactory.fail("更新失败,数据服务异常"); + } + + /** + * 删除西门子DB数据 + * @param dbName DB名称 + * @return 删除结果 + */ + @Override + public AppServeResponse deleteSiemensDb(String dbName) { + List appBaseDbs = baseDbService.queryByName(dbName); + if(appBaseDbs == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(appBaseDbs.isEmpty()) { + return AppServeResponseFactory.fail("该名称不存在"); + } + int delete = baseDbService.deleteByName(dbName); + return delete > 0 ? AppServeResponseFactory.success("删除成功") : AppServeResponseFactory.fail("删除失败,数据服务异常"); + } + + /** + * 重新加载西门子DB数据 + * @return 重新加载结果 + */ + @Override + public AppServeResponse reloadDbAddress() { + dataLoader.loadDBAddress(); + return AppServeResponseFactory.success("已经尝试重新加载"); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/StackerLocationService.java b/wcs/src/main/java/org/wcs/serve/service/impl/StackerLocationService.java new file mode 100644 index 0000000..1864405 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/StackerLocationService.java @@ -0,0 +1,269 @@ +package org.wcs.serve.service.impl; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.wcs.constant.ConstantData; +import org.wcs.constant.enums.database.StackerLocationStatusEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppStackerLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stackerLocation.AddManyStackerLocationsReq; +import org.wcs.model.dto.serve.stackerLocation.AddStackerLocationReq; +import org.wcs.model.dto.serve.stackerLocation.QueryStackerLocationReq; +import org.wcs.model.dto.serve.stackerLocation.UpdateStackerLocationReq; +import org.wcs.model.po.app.AppStackerLocation; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stackerLocation.ExportAppStackerLocationVo; +import org.wcs.model.vo.serve.stackerLocation.QueryStackerLocationVo; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.serve.service.intf.IStackerLocationService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppDataBaseTransUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class StackerLocationService implements IStackerLocationService { + + + private final AppStackerLocationService appStackerLocationService; + private final AppDataBaseTransUtils appDataBaseTransUtils; + private final ExcelPoi excelPoi; + + /** + * 分页查询库位信息 + * @param request 查询参数 + * @param pageSize 分页大小 + * @param pageIndex 页面序号 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryStackerLocation(QueryStackerLocationReq request, Integer pageSize, Integer pageIndex) { + if(pageSize == null || pageSize <= 0 || pageIndex == null || pageIndex <= 0) { + return AppServeResponseFactory.fail("分页参数错误", null); + } + Tuple2> pageResult = appStackerLocationService.queryStackerLocation(request, pageSize, pageIndex); + if(pageResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryStackerLocationVos = AppBeanUtils.copyListProperties(pageResult.item2, QueryStackerLocationVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(pageResult.item1); + pageDataResponse.setData(queryStackerLocationVos); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 新增库位信息 + * @param request 新增参数 + * @return 新增结果 + */ + @Override + public AppServeResponse addStackerLocation(AddStackerLocationReq request) { + List appStackerLocations = appStackerLocationService.queryStackerLocationById(request.getLocationId()); + if(appStackerLocations == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(!appStackerLocations.isEmpty()) { + return AppServeResponseFactory.fail("库位已存在", null); + } + AppStackerLocation appStackerLocation = new AppStackerLocation(); + AppBeanUtils.copyProperties(request, appStackerLocation); + appStackerLocation.setLocationStatus(StackerLocationStatusEnum.EMPTY.getCode()); + int insertCount = appStackerLocationService.insert(appStackerLocation); + if(insertCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertCount)); + } + + /** + * 新增多个库位信息 + * @param request 新增参数 + * @return 新增结果 + */ + @Override + public AppServeResponse addStackerLocations(AddManyStackerLocationsReq request) { + /* 先拿出忽略的列形成 list */ + List lineSkips = new ArrayList<>(); + if(AppStringUtils.isNotEmpty(request.getLLineSkip())) { + String[] splitLines = request.getLLineSkip().split(";"); + for (String splitLine : splitLines) { + if(AppStringUtils.isNotEmpty(splitLine) && !AppStringUtils.isNumber(splitLine)) { + return AppServeResponseFactory.fail("列偏移格式错误"); + } + lineSkips.add(Integer.parseInt(splitLine)); + } + } + /* 拿出忽略的层形成 list */ + List layerSkips = new ArrayList<>(); + if(AppStringUtils.isNotEmpty(request.getLLayerSkip())) { + String[] splitLayers = request.getLLayerSkip().split(";"); + for (String splitLayer : splitLayers) { + if(AppStringUtils.isNotEmpty(splitLayer) && !AppStringUtils.isNumber(splitLayer)) { + return AppServeResponseFactory.fail("层偏移格式错误"); + } + layerSkips.add(Integer.parseInt(splitLayer)); + } + } + List appStackerLocations = new ArrayList<>(); + for(int line = 1 + request.getLLineOffset(); line <= request.getLLineTotal() + request.getLLineOffset(); line++) { + if(lineSkips.contains(line - request.getLLineOffset())) { + continue; + } + for(int layer = 1; layer <= request.getLLayerTotal(); layer++) { + if(layerSkips.contains(layer)) { + continue; + } + for(int depth = 1; depth <= request.getLDepthTotal(); depth++) { + AppStackerLocation appStackerLocation = new AppStackerLocation(); + String locationString = request.getStartString() + + request.getLRow() + + "-" + + String.format("%03d", line - request.getLLineOffset()) + + "-" + + String.format("%02d", layer) + + "-" + + String.format("%1d", depth) + + request.getEndString(); + + appStackerLocation.setLocationId(locationString); + appStackerLocation.setLocationStatus(StackerLocationStatusEnum.EMPTY.getCode()); + appStackerLocation.setBusinessLocation(locationString); + appStackerLocation.setLocationType(request.getLocationType()); + appStackerLocation.setLaneId(request.getLaneId()); + appStackerLocation.setMachineId(request.getMachineId()); + appStackerLocation.setLRow(request.getLRow()); + appStackerLocation.setLLine(line); + appStackerLocation.setLLayer(layer); + appStackerLocation.setLDepth(depth); + appStackerLocation.setLocationTag(request.getLocationTag()); + appStackerLocation.setRemark(request.getRemark()); + appStackerLocations.add(appStackerLocation); + } + } + } + if(appStackerLocations.isEmpty()) { + return AppServeResponseFactory.fail("没有生成任何货位,请检查数据"); + } + boolean tran = appDataBaseTransUtils.useTran(() -> { + appStackerLocationService.deleteWithMachineIdAndLaneIdNoCatchException(request.getMachineId(), request.getLaneId(),request.getLRow()); + appStackerLocationService.insertNoCatchException(appStackerLocations); + }); + if(tran) { + return AppServeResponseFactory.success("生成成功"); + } + return AppServeResponseFactory.fail("生成失败,事务执行失败"); + } + + /** + * 下载堆垛机货位信息 + * @param response 响应 + * @param request 请求参数 + */ + @Override + public void downloadStackerLocation(HttpServletResponse response, QueryStackerLocationReq request) { + List stackerLocations = appStackerLocationService.queryStackerLocation(request); + if(stackerLocations == null) { + log.error("堆垛机货位信息下载失败,查询存在异常"); + return; + } + List exportAppStackerLocationVos = new ArrayList<>(); + for (AppStackerLocation stackerLocation : stackerLocations) { + ExportAppStackerLocationVo exportAppStackerLocationVo = new ExportAppStackerLocationVo(); + BeanUtils.copyProperties(stackerLocation, exportAppStackerLocationVo); + exportAppStackerLocationVo.setLocationStatus(StackerLocationStatusEnum.getMessageByCode(stackerLocation.getLocationStatus()).getMessage()); + exportAppStackerLocationVos.add(exportAppStackerLocationVo); + } + try{ + excelPoi.doWriteExcel("堆垛机货位", response, exportAppStackerLocationVos, ExportAppStackerLocationVo.class); + } catch (Exception e) { + log.error("导出堆垛机位置失败", e); + } + } + + /** + * 更新堆垛机货位信息 + * @param request 请求参数 + * @return 响应 + */ + @Override + public AppServeResponse updateStackerLocation(UpdateStackerLocationReq request) { + request.setVehicleNo(AppStringUtils.isEmptyOr(request.getVehicleNo(), "")); + request.setLocationTag(AppStringUtils.isEmptyOr(request.getLocationTag(), "")); + request.setRemark(AppStringUtils.isEmptyOr(request.getRemark(), "")); + List appStackerLocations = appStackerLocationService.queryStackerLocationById(request.getLocationId()); + if(appStackerLocations == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(appStackerLocations.isEmpty()) { + return AppServeResponseFactory.fail("库位不存在,请刷新后再试", null); + } + AppStackerLocation appStackerLocation = new AppStackerLocation(); + BeanUtils.copyProperties(request, appStackerLocation); + boolean update = appStackerLocationService.updateById(appStackerLocation); + if(update) { + return AppServeResponseFactory.success("更新成功"); + } + return AppServeResponseFactory.fail("更新失败"); + } + + /** + * 根据巷道号查询堆垛机货位信息 + * @param stackerId 设备号 + * @param laneId 巷道号 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryStackerLocationListByStackerIdAndLaneId(Integer stackerId, Integer laneId) { + if(laneId == null || laneId <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + List appStackerLocations = appStackerLocationService.queryStackerLocationByStackerIdAndLaneId(stackerId, laneId); + if(appStackerLocations == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryStackerLocationVos = AppBeanUtils.copyListProperties(appStackerLocations, QueryStackerLocationVo::new); + return AppServeResponseFactory.success("查询成功", queryStackerLocationVos); + } + + /** + * 查询堆垛机货位巷道列表 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryStackerLocationLaneList(Integer stackerId) { + List stackerLocations = appStackerLocationService.queryStackerLocationAll(); + if(stackerLocations == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List laneIds = stackerLocations.stream().filter(appStackerLocation -> appStackerLocation.getMachineId().equals(stackerId)).map(AppStackerLocation::getLaneId).distinct().toList(); + return AppServeResponseFactory.success("查询成功", laneIds); + } + + /** + * 查询堆垛机货位堆垛机列表 + * @return 响应 + */ + @Override + public AppServeDataResponse> queryStackerLocationStackerIdList() { + List stackerLocations = appStackerLocationService.queryStackerLocationAll(); + if(stackerLocations == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List machineIds = stackerLocations.stream().map(AppStackerLocation::getMachineId).distinct().toList(); + return AppServeResponseFactory.success("查询成功", machineIds); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/StackerService.java b/wcs/src/main/java/org/wcs/serve/service/impl/StackerService.java new file mode 100644 index 0000000..8a9ac46 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/StackerService.java @@ -0,0 +1,199 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.stacker.StackerStatusMonitor; +import org.wcs.constant.enums.plc.StackerControllerModelEnum; +import org.wcs.constant.enums.plc.StackerDeviceStatusEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppStackerInfoService; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.model.bo.stacker.StackerStatusData; +import org.wcs.model.dto.serve.stacker.AddOrUpdateStackerStandReq; +import org.wcs.model.dto.serve.stacker.AddStackerReq; +import org.wcs.model.dto.serve.stacker.UpdateStackerInfoReq; +import org.wcs.model.po.app.AppStackerInfo; +import org.wcs.model.po.app.AppStackerStand; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.stacker.QueryStackerInfoVo; +import org.wcs.model.vo.serve.stacker.QueryStackerStandVo; +import org.wcs.model.vo.serve.stacker.StackerStatusVo; +import org.wcs.plugin.plc.model.StackerStatus; +import org.wcs.serve.service.intf.IStackerService; +import org.wcs.utils.AppBeanUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Slf4j +@Service +@RequiredArgsConstructor +public class StackerService implements IStackerService { + + private final AppStackerInfoService appStackerInfoService; + private final AppStackerStandService appStackerStandService; + private final StackerStatusMonitor stackerStatusMonitor; // 堆垛机监控类 + + /** + * 查询堆垛机信息 + * @param stackerName 堆垛机名称 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryStackerInfo(String stackerName) { + List appStackerInfos = appStackerInfoService.queryStackerInfoIndistinct(stackerName); + if(appStackerInfos == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryStackerInfoVos = AppBeanUtils.copyListProperties(appStackerInfos, QueryStackerInfoVo::new); + return AppServeResponseFactory.success("查询成功", queryStackerInfoVos); + } + + /** + * 添加堆垛机信息 + * @param addStackerReq 添加的信息 + * @return 添加结果 + */ + @Override + public AppServeResponse addStacker(AddStackerReq addStackerReq) { + List stackerInfos = appStackerInfoService.queryStackerInfoById(addStackerReq.getStackerId()); + if(stackerInfos == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(!stackerInfos.isEmpty()) { + return AppServeResponseFactory.dataRepeat("该堆垛机ID已经存在"); + } + AppStackerInfo appStackerInfo = new AppStackerInfo(); + AppBeanUtils.copyProperties(addStackerReq, appStackerInfo); + int insertCount = appStackerInfoService.insert(appStackerInfo); + if(insertCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertCount)); + } + + /** + * 更新堆垛机信息 + * @param updateStackerInfoReq 更新的信息 + * @return 更新结果 + */ + @Override + public AppServeResponse updateStackerInfo(UpdateStackerInfoReq updateStackerInfoReq) { + List stackerInfos = appStackerInfoService.queryStackerInfoById(updateStackerInfoReq.getStackerId()); + if(stackerInfos == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(stackerInfos.isEmpty()) { + return AppServeResponseFactory.dataRepeat("该堆垛机ID不存在"); + } + AppStackerInfo appStackerInfo = new AppStackerInfo(); + AppBeanUtils.copyProperties(updateStackerInfoReq, appStackerInfo); + int updateCount = appStackerInfoService.update(appStackerInfo); + if(updateCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", updateCount)); + } + + /** + * 根据堆垛机ID查询堆垛机站台 + * @param stackerId 堆垛机ID + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryStackerStand(Integer stackerId) { + List stackerStands = appStackerStandService.queryStackerStand(stackerId); + if(stackerStands == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryStackerStandVos = AppBeanUtils.copyListProperties(stackerStands, QueryStackerStandVo::new); + return AppServeResponseFactory.success("查询成功", queryStackerStandVos); + } + + /** + * 添加或更新堆垛机站台 + * @param addOrUpdateStackerStandReq 新堆垛机站台参数 + * @return 更新结果 + */ + @Override + public AppServeResponse addOrUpdateStackerStand(AddOrUpdateStackerStandReq addOrUpdateStackerStandReq) { + List stackerStands = appStackerStandService.queryStandInfo(addOrUpdateStackerStandReq.getStandId()); + if(stackerStands == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(stackerStands.isEmpty()) { + // 不存在站台,新增一个 + AppStackerStand insertStackerStand = new AppStackerStand(); + AppBeanUtils.copyProperties(addOrUpdateStackerStandReq, insertStackerStand); + int insertCount = appStackerStandService.insert(insertStackerStand); + if(insertCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertCount)); + } + // 更新 + AppStackerStand updateStackerStand = new AppStackerStand(); + AppBeanUtils.copyProperties(addOrUpdateStackerStandReq, updateStackerStand); + int updateCount = appStackerStandService.update(updateStackerStand); + if(updateCount < 1) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", updateCount)); + } + + /** + * 删除堆垛机站台信息 + * @param standId 站台号 + * @return 删除结果 + */ + @Override + public AppServeResponse deleteWithStandId(String standId) { + int deleteResult = appStackerStandService.delete(standId); + if(deleteResult < 1) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("删除成功,删除了 %d 条记录", deleteResult)); + } + + /** + * 获取堆垛机运行信息 + * @return 堆垛机运行信息 + */ + @Override + public AppServeDataResponse> getStackerRunningInfo() { + Map stackerStatusDataMap = stackerStatusMonitor.getStackerStatusDataMap(); + if(stackerStatusDataMap == null) { + return AppServeResponseFactory.internalServerError("无数据,必须开启堆垛机任务功能才能监控堆垛机状态", null); + } + if(stackerStatusDataMap.isEmpty()) { + return AppServeResponseFactory.fail("必须开启堆垛机任务功能才能监控堆垛机状态", null); + } + List stackerStatusVos = new ArrayList<>(); + for(Map.Entry entry : stackerStatusDataMap.entrySet()) { + StackerStatusData stackerStatusData = entry.getValue(); + StackerStatusVo stackerStatusVo = new StackerStatusVo(); + stackerStatusVo.setStackerId(stackerStatusData.getStackerId()); + StackerStatus stackerStatus = stackerStatusData.getStatus(); + if(stackerStatus == null) { + stackerStatusVo.setDeviceStatus(StackerDeviceStatusEnum.OFF_LINE.getCode()); + stackerStatusVo.setControlModel(StackerControllerModelEnum.OFF_LINE.getCode()); + stackerStatusVo.setErrCode(0); + stackerStatusVo.setLocation(""); + stackerStatusVo.setVehicleNo(""); + stackerStatusVo.setPlcTaskId(0); + } else { + stackerStatusVo.setDeviceStatus(Integer.valueOf(stackerStatus.getDeviceStatus())); + stackerStatusVo.setControlModel(Integer.valueOf(stackerStatus.getControlModel())); + stackerStatusVo.setErrCode(Integer.valueOf(stackerStatus.getErrCode())); + stackerStatusVo.setLocation(stackerStatus.getLLine() + "列" + stackerStatus.getLLayer() + "层"); + stackerStatusVo.setVehicleNo(stackerStatus.getCode1() + ""); + stackerStatusVo.setPlcTaskId(stackerStatus.getPlcTaskId()); + } + stackerStatusVos.add(stackerStatusVo); + } + return AppServeResponseFactory.success("查询成功", stackerStatusVos); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/StockComposeTaskService.java b/wcs/src/main/java/org/wcs/serve/service/impl/StockComposeTaskService.java new file mode 100644 index 0000000..83507f9 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/StockComposeTaskService.java @@ -0,0 +1,496 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.business.stock.LocationManage; +import org.wcs.business.stock.impl.ComposeTaskStatusReporter; +import org.wcs.constant.ConstantData; +import org.wcs.constant.enums.business.LocationTypeEnum; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.StockComposeTaskStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskStepStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskTypeEnum; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppStockComposeTaskBakService; +import org.wcs.mapper.intf.AppStockComposeTaskService; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stcokComposeTask.AddStockComposeTaskReq; +import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; +import org.wcs.model.dto.serve.stcokComposeTask.ReporterTaskStatusReq; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.model.po.app.AppStockComposeTaskBak; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockComposeTask.AppStockComposeTaskVo; +import org.wcs.model.vo.serve.stockComposeTask.CourseResultVo; +import org.wcs.model.vo.serve.stockComposeTask.ExportAppStockComposeTaskVo; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.serve.service.intf.IStockComposeTaskService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppDataBaseTransUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class StockComposeTaskService implements IStockComposeTaskService { + + private final AppStockComposeTaskService stockComposeTaskService; + private final AppStockComposeTaskBakService stockComposeTaskBakService; + private final AppStockSingleTaskService stockSingleTaskService; + private final ExcelPoi excelPoi; + private final AppDataBaseTransUtils transUtils; + private final ComposeTaskStatusReporter composeTaskStatusReporter; + private final LocationManage locationManage; // 位置管理 + + /** + * 条件查询组合式任务 + * @param queryTaskReq 查询条件 + * @param pageSize 每页大小 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> query(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex) { + Tuple2> queryResult = stockComposeTaskService.query(queryTaskReq, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryResultVo = AppBeanUtils.copyListProperties(queryResult.getItem2(), AppStockComposeTaskVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryResult.getItem1()); + pageDataResponse.setData(queryResultVo); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 条件查询组合式任务历史数据 + * @param queryTaskReq 查询条件 + * @param pageSize 每页大小 + * @param pageIndex 页码 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryBak(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex) { + Tuple2> queryResult = stockComposeTaskBakService.query(queryTaskReq, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryResultVo = AppBeanUtils.copyListProperties(queryResult.getItem2(), AppStockComposeTaskVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryResult.getItem1()); + pageDataResponse.setData(queryResultVo); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 下载组合式任务 + * @param response 响应 + * @param queryTaskReq 请求参数 + */ + @Override + public void downLoadTask(HttpServletResponse response, QueryStockComposeTaskReq queryTaskReq) { + List queryResult = stockComposeTaskService.query(queryTaskReq); + if(queryResult == null) { + log.error("下载组合式任务失败,数据服务异常"); + return; + } + List queryResultVo = new ArrayList<>(); + for (AppStockComposeTask appStockComposeTask : queryResult) { + ExportAppStockComposeTaskVo exportAppStockComposeTaskVo = new ExportAppStockComposeTaskVo(); + exportAppStockComposeTaskVo.setTaskId(appStockComposeTask.getTaskId()); + exportAppStockComposeTaskVo.setTaskGroup(appStockComposeTask.getTaskGroup()); + exportAppStockComposeTaskVo.setUpperTaskId(AppStringUtils.isEmptyOr(appStockComposeTask.getUpperTaskId(), "")); + exportAppStockComposeTaskVo.setTaskType(StockComposeTaskTypeEnum.getByCode(appStockComposeTask.getTaskType()).getMsg()); + exportAppStockComposeTaskVo.setOrigin(appStockComposeTask.getOrigin()); + exportAppStockComposeTaskVo.setDestination(appStockComposeTask.getDestination()); + exportAppStockComposeTaskVo.setTaskStatus(StockComposeTaskStatusEnum.getByCode(appStockComposeTask.getTaskStatus()).getMsg()); + exportAppStockComposeTaskVo.setStepStatus(StockComposeTaskStepStatusEnum.getByCode(appStockComposeTask.getStepStatus()).getMsg()); + exportAppStockComposeTaskVo.setCanCancel(TrueOrFalseEnum.getByCode(appStockComposeTask.getCanCancel()).getMsg()); + exportAppStockComposeTaskVo.setPriority(appStockComposeTask.getPriority()); + exportAppStockComposeTaskVo.setVehicleNo(appStockComposeTask.getVehicleNo()); + exportAppStockComposeTaskVo.setVehicleSize(appStockComposeTask.getVehicleSize()); + exportAppStockComposeTaskVo.setWeight(appStockComposeTask.getWeight()); + exportAppStockComposeTaskVo.setCreateTime(appStockComposeTask.getCreateTime()); + exportAppStockComposeTaskVo.setUpdateTime(appStockComposeTask.getUpdateTime()); + exportAppStockComposeTaskVo.setStartTime(appStockComposeTask.getStartTime()); + exportAppStockComposeTaskVo.setCompleteTime(appStockComposeTask.getCompleteTime()); + exportAppStockComposeTaskVo.setEndTime(appStockComposeTask.getEndTime()); + exportAppStockComposeTaskVo.setTaskSource(appStockComposeTask.getTaskSource()); + exportAppStockComposeTaskVo.setCreatePerson(appStockComposeTask.getCreatePerson()); + exportAppStockComposeTaskVo.setTaskMsg(appStockComposeTask.getTaskMsg()); + queryResultVo.add(exportAppStockComposeTaskVo); + } + if(queryResultVo.isEmpty()) { + log.info("下载组合式任务失败,没有数据"); + return; + } + try { + excelPoi.doWriteExcel("组合式任务下载", response, queryResultVo, ExportAppStockComposeTaskVo.class); + } catch (Exception e) { + log.error("下载组合式任务失败", e); + } + } + + /** + * 下载组合式任务历史数据 + * @param response 响应 + * @param queryTaskReq 请求参数 + */ + @Override + public void downLoadTaskBak(HttpServletResponse response, QueryStockComposeTaskReq queryTaskReq) { + List queryResult = stockComposeTaskBakService.query(queryTaskReq); + if(queryResult == null) { + log.error("下载组合式任务失败,数据服务异常"); + return; + } + List queryResultVo = new ArrayList<>(); + for (AppStockComposeTaskBak appStockComposeTask : queryResult) { + ExportAppStockComposeTaskVo exportAppStockComposeTaskVo = new ExportAppStockComposeTaskVo(); + exportAppStockComposeTaskVo.setTaskId(appStockComposeTask.getTaskId()); + exportAppStockComposeTaskVo.setTaskGroup(appStockComposeTask.getTaskGroup()); + exportAppStockComposeTaskVo.setUpperTaskId(AppStringUtils.isEmptyOr(appStockComposeTask.getUpperTaskId(), "")); + exportAppStockComposeTaskVo.setTaskType(StockComposeTaskTypeEnum.getByCode(appStockComposeTask.getTaskType()).getMsg()); + exportAppStockComposeTaskVo.setOrigin(appStockComposeTask.getOrigin()); + exportAppStockComposeTaskVo.setDestination(appStockComposeTask.getDestination()); + exportAppStockComposeTaskVo.setTaskStatus(StockComposeTaskStatusEnum.getByCode(appStockComposeTask.getTaskStatus()).getMsg()); + exportAppStockComposeTaskVo.setStepStatus(StockComposeTaskStepStatusEnum.getByCode(appStockComposeTask.getStepStatus()).getMsg()); + exportAppStockComposeTaskVo.setCanCancel(TrueOrFalseEnum.getByCode(appStockComposeTask.getCanCancel()).getMsg()); + exportAppStockComposeTaskVo.setPriority(appStockComposeTask.getPriority()); + exportAppStockComposeTaskVo.setVehicleNo(appStockComposeTask.getVehicleNo()); + exportAppStockComposeTaskVo.setVehicleSize(appStockComposeTask.getVehicleSize()); + exportAppStockComposeTaskVo.setWeight(appStockComposeTask.getWeight()); + exportAppStockComposeTaskVo.setCreateTime(appStockComposeTask.getCreateTime()); + exportAppStockComposeTaskVo.setUpdateTime(appStockComposeTask.getUpdateTime()); + exportAppStockComposeTaskVo.setStartTime(appStockComposeTask.getStartTime()); + exportAppStockComposeTaskVo.setCompleteTime(appStockComposeTask.getCompleteTime()); + exportAppStockComposeTaskVo.setEndTime(appStockComposeTask.getEndTime()); + exportAppStockComposeTaskVo.setTaskSource(appStockComposeTask.getTaskSource()); + exportAppStockComposeTaskVo.setCreatePerson(appStockComposeTask.getCreatePerson()); + exportAppStockComposeTaskVo.setTaskMsg(appStockComposeTask.getTaskMsg()); + queryResultVo.add(exportAppStockComposeTaskVo); + } + if(queryResultVo.isEmpty()) { + log.info("下载组合式任务历史数据失败,没有数据"); + return; + } + try { + excelPoi.doWriteExcel("组合式任务历史数据下载", response, queryResultVo, ExportAppStockComposeTaskVo.class); + } catch (Exception e) { + log.error("下载组合式任务历史数据失败", e); + } + } + + /** + * 添加组合式任务 + * @param addTaskReq 添加任务数据 + * @return 结果 + */ + @Override + public AppServeResponse addTask(AddStockComposeTaskReq addTaskReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 想要添加组合式任务:{}", operationUserId, AppStringUtils.objectToString(addTaskReq)); + List notCompleteTaskList = stockComposeTaskService.queryNotCompleteTask(addTaskReq.getVehicleNo()); + if(notCompleteTaskList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(!notCompleteTaskList.isEmpty()) { + return AppServeResponseFactory.fail("当前载具有未完成的任务,请先完成未完成的任务"); + } + AppStockComposeTask appStockComposeTask = new AppStockComposeTask(); + appStockComposeTask.setTaskId(AppUUIDUtils.getNewUUID()); + appStockComposeTask.setTaskGroup(AppUUIDUtils.getNewUUID()); + appStockComposeTask.setTaskType(addTaskReq.getTaskType()); + appStockComposeTask.setOrigin(addTaskReq.getOrigin()); + appStockComposeTask.setDestination(addTaskReq.getDestination()); + appStockComposeTask.setTaskStatus(StockComposeTaskStatusEnum.CREATE.getCode()); + appStockComposeTask.setStepStatus(StockComposeTaskStepStatusEnum.CREATE.getCode()); + appStockComposeTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockComposeTask.setPriority(addTaskReq.getPriority()); + appStockComposeTask.setVehicleNo(addTaskReq.getVehicleNo()); + appStockComposeTask.setVehicleSize(addTaskReq.getVehicleSize()); + appStockComposeTask.setWeight(addTaskReq.getWeight()); + appStockComposeTask.setCreatePerson(operationUserId); + appStockComposeTask.setTaskSource(ConstantData.SYSTEM_NAME); + int insertResult = stockComposeTaskService.insert(appStockComposeTask); + if(insertResult == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success(String.format("添加成功,添加了 %d 条记录", insertResult)); + } + + /** + * 取消组合式任务 + * @param taskId 任务ID + * @return 结果 + */ + @Override + public AppServeResponse cancelTask(String taskId) { + if(AppStringUtils.isEmpty(taskId)) { + return AppServeResponseFactory.fail("参数错误"); + } + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + AppStockComposeTask appStockComposeTask = stockComposeTaskService.queryByTaskId(taskId); + if(appStockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + if(appStockComposeTask.getCanCancel() != TrueOrFalseEnum.TRUE.getCode()) { + return AppServeResponseFactory.fail("任务不允许取消"); + } + boolean updateResult = transUtils.useTran(() -> { + // 更新组合任务表 + AppStockComposeTask appStockComposeTaskUpdater = new AppStockComposeTask(); + appStockComposeTaskUpdater.setTaskId(taskId); + appStockComposeTaskUpdater.setTaskStatus(StockComposeTaskStatusEnum.CANCEL.getCode()); + appStockComposeTaskUpdater.setEndTime(LocalDateTime.now()); + appStockComposeTaskUpdater.setTaskMsg(String.format("用户:%s 取消任务", operationUserId)); + stockComposeTaskService.updateThrowEx(appStockComposeTaskUpdater); + // 更新独立任务表 + stockSingleTaskService.updateWithUpperTaskIdAndStatusThrowEx(appStockComposeTask.getUpperTaskId(), StockSingleTaskStatusEnum.notFinishedCodes(), StockSingleTaskStatusEnum.CANCEL.getCode(), String.format("用户:%s 取消任务", operationUserId)); + }); + if(!updateResult) { + return AppServeResponseFactory.fail("更新失败"); + } + log.info("用户:{} 取消组合式任务:{}", operationUserId, taskId); + return AppServeResponseFactory.success("取消成功"); + } + + /** + * 完成组合式任务 + * @param taskId 载具ID + * @return 结果 + */ + @Override + public AppServeResponse completeTask(String taskId) { + if(AppStringUtils.isEmpty(taskId)) { + return AppServeResponseFactory.fail("参数错误"); + } + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + AppStockComposeTask appStockComposeTask = stockComposeTaskService.queryByTaskId(taskId); + if(appStockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + + boolean updateResult = transUtils.useTran(() -> { + // 更新组合任务表 + AppStockComposeTask appStockComposeTaskUpdater = new AppStockComposeTask(); + appStockComposeTaskUpdater.setTaskId(taskId); + appStockComposeTaskUpdater.setTaskStatus(StockComposeTaskStatusEnum.COMPLETE.getCode()); + appStockComposeTaskUpdater.setCompleteTime(LocalDateTime.now()); + appStockComposeTaskUpdater.setEndTime(LocalDateTime.now()); + appStockComposeTaskUpdater.setTaskMsg(String.format("用户:%s 完成任务", operationUserId)); + stockComposeTaskService.updateThrowEx(appStockComposeTaskUpdater); + // 更新独立任务表 + stockSingleTaskService.updateWithUpperTaskIdAndStatusThrowEx(appStockComposeTask.getUpperTaskId(), StockSingleTaskStatusEnum.notFinishedCodes(), StockSingleTaskStatusEnum.COMPLETE.getCode(), String.format("用户:%s 完成任务", operationUserId)); + }); + if(!updateResult) { + return AppServeResponseFactory.fail("更新失败"); + } + log.info("用户:{} 完成组合式任务:{}", operationUserId, taskId); + return AppServeResponseFactory.success("完成成功"); + } + + /** + * 重置组合式任务 + * @param taskId 载具ID + * @return 结果 + */ + @Override + public AppServeResponse resetTask(String taskId) { + if(AppStringUtils.isEmpty(taskId)) { + return AppServeResponseFactory.fail("参数错误"); + } + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + AppStockComposeTask appStockComposeTask = stockComposeTaskService.queryByTaskId(taskId); + if(appStockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + + boolean updateResult = transUtils.useTran(() -> { + // 更新组合任务表 + AppStockComposeTask appStockComposeTaskUpdater = new AppStockComposeTask(); + appStockComposeTaskUpdater.setTaskId(taskId); + appStockComposeTaskUpdater.setTaskStatus(StockComposeTaskStatusEnum.CREATE.getCode()); + appStockComposeTaskUpdater.setTaskMsg(String.format("用户:%s 要求重做任务", operationUserId)); + stockComposeTaskService.updateThrowEx(appStockComposeTaskUpdater); + // 更新独立任务表 + stockSingleTaskService.updateWithUpperTaskIdAndStatusThrowEx(appStockComposeTask.getUpperTaskId(), StockSingleTaskStatusEnum.notFinishedCodes(), StockSingleTaskStatusEnum.ERROR.getCode(), String.format("用户:%s 要求重做任务", operationUserId)); + }); + if(!updateResult) { + return AppServeResponseFactory.fail("更新失败"); + } + log.info("用户:{} 重做组合式任务:{}", operationUserId, taskId); + return AppServeResponseFactory.success("重做成功"); + } + + /** + * 组合式任务状态完成上报 + * @param reporterTaskStatusReq 上报信息 + * @return 结果 + */ + @Override + public AppServeResponse reporterTaskCompleted(ReporterTaskStatusReq reporterTaskStatusReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + AppStockComposeTask appStockComposeTask = stockComposeTaskService.queryByTaskId(reporterTaskStatusReq.getTaskId()); + if(appStockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + if(AppStringUtils.isNotEmpty(reporterTaskStatusReq.getDestination().trim())) { + appStockComposeTask.setDestination(reporterTaskStatusReq.getDestination()); + } + Tuple2 taskFinish = composeTaskStatusReporter.taskFinish(appStockComposeTask, operationUserId + "#" + reporterTaskStatusReq.getMessage()); + if(taskFinish.getItem1() != null) { + log.info("任务完成上报失败,组合任务ID:{},错误信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem1()); + return AppServeResponseFactory.fail(taskFinish.getItem1()); + } + log.info("任务完成上报成功,组合任务ID:{},返回信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem2()); + return AppServeResponseFactory.success("上报成功"); + } + + /** + * 组合式任务状态取消上报 + * @param reporterTaskStatusReq 上报信息 + * @return 结果 + */ + @Override + public AppServeResponse reporterTaskCancel(ReporterTaskStatusReq reporterTaskStatusReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + AppStockComposeTask appStockComposeTask = stockComposeTaskService.queryByTaskId(reporterTaskStatusReq.getTaskId()); + if(appStockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + Tuple2 taskFinish = composeTaskStatusReporter.taskCancel(appStockComposeTask, operationUserId + "#" + reporterTaskStatusReq.getMessage()); + if(taskFinish.getItem1() != null) { + log.info("任务取消上报失败,组合任务ID:{},错误信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem1()); + return AppServeResponseFactory.fail(taskFinish.getItem1()); + } + log.info("任务取消上报成功,组合任务ID:{},返回信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem2()); + return AppServeResponseFactory.success("上报成功"); + } + + /** + * 组合式任务状态完成上报 ---- 历史数据 + * @param reporterTaskStatusReq 上报信息 + * @return 结果 + */ + @Override + public AppServeResponse reporterTaskBakCompleted(ReporterTaskStatusReq reporterTaskStatusReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + AppStockComposeTaskBak appStockComposeTask = stockComposeTaskBakService.queryByTaskId(reporterTaskStatusReq.getTaskId()); + if(appStockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + if(AppStringUtils.isNotEmpty(reporterTaskStatusReq.getDestination().trim())) { + appStockComposeTask.setDestination(reporterTaskStatusReq.getDestination()); + } + AppStockComposeTask appStockComposeTaskUpper = new AppStockComposeTask(); + AppBeanUtils.copyProperties(appStockComposeTask, appStockComposeTaskUpper); + Tuple2 taskFinish = composeTaskStatusReporter.taskFinish(appStockComposeTaskUpper, operationUserId + "#" + reporterTaskStatusReq.getMessage()); + if(taskFinish.getItem1() != null) { + log.info("历史数据任务完成上报失败,组合任务ID:{},错误信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem1()); + return AppServeResponseFactory.fail(taskFinish.getItem1()); + } + log.info("历史数据任务完成上报成功,组合任务ID:{},返回信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem2()); + return AppServeResponseFactory.success("上报成功"); + } + + /** + * 组合式任务状态取消上报 ---- 历史数据 + * @param reporterTaskStatusReq 上报信息 + * @return 结果 + */ + @Override + public AppServeResponse reporterTaskBakCancel(ReporterTaskStatusReq reporterTaskStatusReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + AppStockComposeTaskBak appStockComposeTask = stockComposeTaskBakService.queryByTaskId(reporterTaskStatusReq.getTaskId()); + if(appStockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + if(AppStringUtils.isNotEmpty(reporterTaskStatusReq.getDestination().trim())) { + appStockComposeTask.setDestination(reporterTaskStatusReq.getDestination()); + } + AppStockComposeTask appStockComposeTaskUpper = new AppStockComposeTask(); + AppBeanUtils.copyProperties(appStockComposeTask, appStockComposeTaskUpper); + Tuple2 taskFinish = composeTaskStatusReporter.taskCancel(appStockComposeTaskUpper, operationUserId + "#" + reporterTaskStatusReq.getMessage()); + if(taskFinish.getItem1() != null) { + log.info("历史数据任务取消上报失败,组合任务ID:{},错误信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem1()); + return AppServeResponseFactory.fail(taskFinish.getItem1()); + } + log.info("历史数据任务取消上报成功,组合任务ID:{},返回信息:{}", appStockComposeTask.getTaskId(), taskFinish.getItem2()); + return AppServeResponseFactory.success("上报成功"); + } + + /** + * 查询任务路径结果 + * @param taskId 任务ID + * @return 结果 + */ + @Override + public AppServeDataResponse> queryCourseResult(String taskId) { + AppStockComposeTask stockComposeTask = stockComposeTaskService.queryByTaskId(taskId); + if(stockComposeTask == null) { + return AppServeResponseFactory.fail("任务不存在", null); + } + List> courseCalculateResult = locationManage.courseCalculate(stockComposeTask.getOrigin(), stockComposeTask.getDestination()); + if(courseCalculateResult == null) { + return AppServeResponseFactory.fail("无法计算路径", null); + } + List courseResultVos = courseCalculateResult.stream().map(item -> { + CourseResultVo courseResultVo = new CourseResultVo(); + courseResultVo.setLocation(item.getItem2()); + courseResultVo.setLocationType(item.getItem1().getDesc()); + return courseResultVo; + }).toList(); + return AppServeResponseFactory.success("查询成功", courseResultVos); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/StockScanService.java b/wcs/src/main/java/org/wcs/serve/service/impl/StockScanService.java new file mode 100644 index 0000000..1f41a5f --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/StockScanService.java @@ -0,0 +1,171 @@ +package org.wcs.serve.service.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseScanMethodService; +import org.wcs.mapper.intf.AppStockScanService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockScan.AddStockScanReq; +import org.wcs.model.dto.serve.stockScan.QueryStockScanReq; +import org.wcs.model.dto.serve.stockScan.UpdateStockScanReq; +import org.wcs.model.po.app.AppBaseScanMethod; +import org.wcs.model.po.app.AppStockScan; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockScan.AppBaseScanMethodVo; +import org.wcs.model.vo.serve.stockScan.AppStockScanVo; +import org.wcs.serve.service.intf.IStockScanService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class StockScanService implements IStockScanService { + + private final AppStockScanService appStockScanService; + private final AppBaseScanMethodService appBaseScanMethodService; + + /** + * 查询仓库扫码设置 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 仓库扫码设置列表 + */ + @Override + public AppServeDataResponse> queryStockScan(QueryStockScanReq request, Integer pageSize, Integer pageIndex) { + if(request == null || pageSize == null || pageIndex == null || pageSize <= 0 || pageIndex <= 0) { + return AppServeResponseFactory.fail("参数错误", null); + } + Tuple2> pageResult = appStockScanService.queryStockScan(request, pageSize, pageIndex); + if(pageResult == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + PageDataResponse response = new PageDataResponse<>(); + response.setPageIndex(pageIndex); + response.setPageSize(pageSize); + response.setTotalCount(pageResult.getItem1()); + response.setData(AppBeanUtils.copyListProperties(pageResult.getItem2(), AppStockScanVo::new)); + return AppServeResponseFactory.success("查询成功", response); + } + + /** + * 获取仓库扫码设置 + * @return 仓库扫码设置列表 + */ + @Override + public AppServeDataResponse> queryStockScan() { + List appStockScans = appStockScanService.queryAll(); + if(appStockScans == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success("查询成功", AppBeanUtils.copyListProperties(appStockScans, AppStockScanVo::new)); + } + + /** + * 查询基础扫描方法 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryBaseScanMethod() { + List appBaseScanMethods = appBaseScanMethodService.queryAll(); + if(appBaseScanMethods == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + return AppServeResponseFactory.success("查询成功", AppBeanUtils.copyListProperties(appBaseScanMethods, AppBaseScanMethodVo::new)); + } + + /** + * 添加扫码信息 + * @param request 扫码信息 + * @return 添加结果 + */ + @Override + public AppServeResponse addStockScan(AddStockScanReq request) { + AppStockScan stockScanCheck = new AppStockScan(); + stockScanCheck.setScanId(request.getScanId()); + List stockScans = appStockScanService.query(stockScanCheck); + if(stockScans == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(!stockScans.isEmpty()) { + return AppServeResponseFactory.fail("扫码ID已存在"); + } + AppStockScan insertStockScan = new AppStockScan(); + insertStockScan.setScanId(request.getScanId()); + insertStockScan.setScanName(request.getScanName()); + insertStockScan.setScanMethod(request.getScanMethod()); + insertStockScan.setScanStatus(request.getScanStatus()); + insertStockScan.setScanType(request.getScanType()); + insertStockScan.setParam1(request.getParam1()); + insertStockScan.setParam2(request.getParam2()); + insertStockScan.setParam3(request.getParam3()); + insertStockScan.setPlcId(request.getPlcId()); + insertStockScan.setReadStatusAddress(request.getReadStatusAddress()); + insertStockScan.setWriteTaskAddress(request.getWriteTaskAddress()); + insertStockScan.setLedNo(request.getLedNo()); + insertStockScan.setRemark(request.getRemark()); + int insert = appStockScanService.insert(insertStockScan); + return insert > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 修改仓库扫码 + * + * @param request 修改数据 + * @return 修改结果 + */ + @Override + public AppServeResponse updateStockScan(UpdateStockScanReq request) { + AppStockScan stockScanCheck = new AppStockScan(); + stockScanCheck.setScanId(request.getScanId()); + List stockScans = appStockScanService.query(stockScanCheck); + if(stockScans == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(stockScans.isEmpty()) { + return AppServeResponseFactory.fail("扫码ID不存在"); + } + AppStockScan insertStockScan = new AppStockScan(); + insertStockScan.setScanId(request.getScanId()); + insertStockScan.setScanName(request.getScanName()); + insertStockScan.setScanMethod(AppStringUtils.isEmptyOr(request.getScanMethod(), "")); + insertStockScan.setScanStatus(request.getScanStatus()); + insertStockScan.setScanType(request.getScanType()); + insertStockScan.setParam1(AppStringUtils.isEmptyOr(request.getParam1(), "")); + insertStockScan.setParam2(AppStringUtils.isEmptyOr(request.getParam2(), "")); + insertStockScan.setParam3(AppStringUtils.isEmptyOr(request.getParam3(), "")); + insertStockScan.setPlcId(request.getPlcId()); + insertStockScan.setReadStatusAddress(AppStringUtils.isEmptyOr(request.getReadStatusAddress(), "")); + insertStockScan.setWriteTaskAddress(AppStringUtils.isEmptyOr(request.getWriteTaskAddress(), "")); + insertStockScan.setLedNo(request.getLedNo()); + insertStockScan.setRemark(AppStringUtils.isEmptyOr(request.getRemark(), "")); + int update = appStockScanService.update(insertStockScan); + return update > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 删除仓库扫码 + * + * @param stockScanId 仓库扫码ID + * @return 删除结果 + */ + @Override + public AppServeResponse deleteStockScan(String stockScanId) { + AppStockScan stockScanCheck = new AppStockScan(); + stockScanCheck.setScanId(stockScanId); + List stockScans = appStockScanService.query(stockScanCheck); + if(stockScans == null) { + return AppServeResponseFactory.fail("数据服务异常"); + } + if(stockScans.isEmpty()) { + return AppServeResponseFactory.fail("扫码ID不存在"); + } + int delete = appStockScanService.deleteById(stockScanId); + return delete > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("删除失败,数据异常"); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/StockSingleTaskService.java b/wcs/src/main/java/org/wcs/serve/service/impl/StockSingleTaskService.java new file mode 100644 index 0000000..c262909 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/StockSingleTaskService.java @@ -0,0 +1,308 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.constant.enums.database.StockSingleTaskTypeEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.helper.PlcTaskIdHelper; +import org.wcs.mapper.intf.AppStockSingleTaskBakService; +import org.wcs.mapper.intf.AppStockSingleTaskService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.stockSingleTask.AddSingleTaskReq; +import org.wcs.model.dto.serve.stockSingleTask.QueryStockSingleTaskReq; +import org.wcs.model.po.app.AppStockSingleTask; +import org.wcs.model.po.app.AppStockSingleTaskBak; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockSingleTask.AppStockSingleTaskVo; +import org.wcs.model.vo.serve.stockSingleTask.ExportAppStockSingleTaskVo; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.serve.service.intf.IStockSingleTaskService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class StockSingleTaskService implements IStockSingleTaskService { + + private final AppStockSingleTaskService appStockSingleTaskDao; + private final AppStockSingleTaskBakService stockSingleTaskBakService; + private final PlcTaskIdHelper plcTaskIdHelper; + private final ExcelPoi excelPoi; + + /** + * 分页查询当前任务数据 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 结果 + */ + @Override + public AppServeDataResponse> query(QueryStockSingleTaskReq request, Integer pageSize, Integer pageIndex) { + if(AppStringUtils.isNotEmpty(request.getPlcTaskId()) && !AppStringUtils.isNumber(request.getPlcTaskId())) { + return AppServeResponseFactory.fail("plc任务号格式错误,仅限数字", null); + } + Tuple2> queryResult = appStockSingleTaskDao.query(request, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryResultVo = AppBeanUtils.copyListProperties(queryResult.getItem2(), AppStockSingleTaskVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryResult.getItem1()); + pageDataResponse.setData(queryResultVo); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 分页查询历史任务数据 + * @param request 查询参数 + * @param pageSize 每页数量 + * @param pageIndex 页码 + * @return 结果 + */ + @Override + public AppServeDataResponse> queryBak(QueryStockSingleTaskReq request, Integer pageSize, Integer pageIndex) { + if(AppStringUtils.isNotEmpty(request.getPlcTaskId()) && !AppStringUtils.isNumber(request.getPlcTaskId())) { + return AppServeResponseFactory.fail("plc任务号格式错误,仅限数字", null); + } + Tuple2> queryResult = stockSingleTaskBakService.query(request, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryResultVo = AppBeanUtils.copyListProperties(queryResult.getItem2(), AppStockSingleTaskVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryResult.getItem1()); + pageDataResponse.setData(queryResultVo); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 下载历史任务数据 + * @param response 响应 + * @param request 查询参数 + */ + @Override + public void downLoadBak(HttpServletResponse response, QueryStockSingleTaskReq request) { + List queryResult = stockSingleTaskBakService.query(request); + if(queryResult == null) { + log.error("下载历史任务失败,数据服务异常"); + return; + } + List queryResultVo = new ArrayList<>(); + for (AppStockSingleTaskBak appStockSingleTask : queryResult) { + ExportAppStockSingleTaskVo exportAppStockSingleTaskVo = new ExportAppStockSingleTaskVo(); + exportAppStockSingleTaskVo.setTaskId(appStockSingleTask.getTaskId()); + exportAppStockSingleTaskVo.setTaskGroup(appStockSingleTask.getTaskGroup()); + exportAppStockSingleTaskVo.setPlcTaskId(appStockSingleTask.getPlcTaskId()); + exportAppStockSingleTaskVo.setUpperTaskId(AppStringUtils.isEmptyOr(appStockSingleTask.getUpperTaskId(), "")); + exportAppStockSingleTaskVo.setExecuteMachine(appStockSingleTask.getExecuteMachine()); + exportAppStockSingleTaskVo.setTaskType(StockSingleTaskTypeEnum.getByCode(appStockSingleTask.getTaskType()).getDesc()); + exportAppStockSingleTaskVo.setOrigin(appStockSingleTask.getOrigin()); + exportAppStockSingleTaskVo.setDestination(appStockSingleTask.getDestination()); + exportAppStockSingleTaskVo.setComposeDestination(appStockSingleTask.getComposeDestination()); + exportAppStockSingleTaskVo.setTaskStatus(StockSingleTaskStatusEnum.getByCode(appStockSingleTask.getTaskStatus()).getMsg()); + exportAppStockSingleTaskVo.setCanCancel(TrueOrFalseEnum.getByCode(appStockSingleTask.getCanCancel()).getMsg()); + exportAppStockSingleTaskVo.setPriority(appStockSingleTask.getPriority()); + exportAppStockSingleTaskVo.setVehicleNo(appStockSingleTask.getVehicleNo()); + exportAppStockSingleTaskVo.setVehicleNoNumber(appStockSingleTask.getVehicleNoNumber()); + exportAppStockSingleTaskVo.setVehicleSize(appStockSingleTask.getVehicleSize()); + exportAppStockSingleTaskVo.setWeight(appStockSingleTask.getWeight()); + exportAppStockSingleTaskVo.setCreateTime(appStockSingleTask.getCreateTime()); + exportAppStockSingleTaskVo.setUpdateTime(appStockSingleTask.getUpdateTime()); + exportAppStockSingleTaskVo.setStartTime(appStockSingleTask.getStartTime()); + exportAppStockSingleTaskVo.setCompleteTime(appStockSingleTask.getCompleteTime()); + exportAppStockSingleTaskVo.setEndTime(appStockSingleTask.getEndTime()); + exportAppStockSingleTaskVo.setTaskSource(appStockSingleTask.getTaskSource()); + exportAppStockSingleTaskVo.setCreatePerson(appStockSingleTask.getCreatePerson()); + exportAppStockSingleTaskVo.setTaskMsg(appStockSingleTask.getTaskMsg()); + queryResultVo.add(exportAppStockSingleTaskVo); + } + try { + excelPoi.doWriteExcel("历史任务", response, queryResultVo, ExportAppStockSingleTaskVo.class); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + + /** + * 新增单任务 + * @param request 新增单任务数据 + * @return 结果 + */ + @Override + public AppServeResponse addSingleTask(AddSingleTaskReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + Integer plcTaskId = plcTaskIdHelper.newTaskId(); + if(plcTaskId == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + AppStockSingleTask appStockSingleTask = new AppStockSingleTask(); + String thisId = AppUUIDUtils.getNewUUID(); + appStockSingleTask.setTaskId(thisId); + appStockSingleTask.setTaskGroup(thisId); + appStockSingleTask.setPlcTaskId(plcTaskId); + appStockSingleTask.setUpperTaskId(""); + appStockSingleTask.setExecuteMachine(request.getExecuteMachine()); + appStockSingleTask.setTaskType(request.getTaskType()); + appStockSingleTask.setOrigin(request.getOrigin()); + appStockSingleTask.setDestination(request.getDestination()); + appStockSingleTask.setComposeDestination(request.getDestination()); + appStockSingleTask.setTaskStatus(StockSingleTaskStatusEnum.CREATE.getCode()); + appStockSingleTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + appStockSingleTask.setPriority(request.getPriority()); + appStockSingleTask.setVehicleNo(request.getVehicleNo()); + appStockSingleTask.setVehicleNoNumber(AppStringUtils.forceToInt(request.getVehicleNo())); + appStockSingleTask.setVehicleSize(request.getVehicleSize()); + appStockSingleTask.setWeight(request.getWeight()); + appStockSingleTask.setCreateTime(LocalDateTime.now()); + appStockSingleTask.setUpdateTime(LocalDateTime.now()); + appStockSingleTask.setTaskSource("WCS"); + appStockSingleTask.setCreatePerson(userId); + boolean insert = appStockSingleTaskDao.insert(appStockSingleTask); + if(!insert) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success("添加成功"); + } + + /** + * 将这个任务换一个新的 PLC 任务号 + * @param taskId 任务ID + * @return 结果 + */ + @Override + public AppServeResponse newPlcTaskId(String taskId) { + if(AppStringUtils.isEmpty(taskId)) { + return AppServeResponseFactory.fail("任务ID不能为空"); + } + Integer newPlcTaskId = plcTaskIdHelper.newTaskId(); + if(newPlcTaskId == null || newPlcTaskId <= 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + AppStockSingleTask stockSingleTask = appStockSingleTaskDao.queryByTaskId(taskId); + if(stockSingleTask == null) { + return AppServeResponseFactory.fail("任务不存在"); + } + AppStockSingleTask stockSingleTaskUpdater = new AppStockSingleTask(); + stockSingleTaskUpdater.setTaskId(taskId); + stockSingleTaskUpdater.setPlcTaskId(newPlcTaskId); + boolean update = appStockSingleTaskDao.update(stockSingleTaskUpdater); + if(!update) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success("更新成功"); + } + + /** + * 更新任务状态 + * @param taskId 任务ID + * @param taskStatus 任务状态 + * @return 结果 + */ + @Override + public AppServeResponse updateTaskStatus(String taskId, Integer taskStatus) { + if(AppStringUtils.isEmpty(taskId) || taskStatus == null) { + return AppServeResponseFactory.fail("参数错误"); + } + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + AppStockSingleTask stockSingleTask = appStockSingleTaskDao.queryByTaskId(taskId); + if(stockSingleTask == null) { + return AppServeResponseFactory.fail("任务不存在或数据服务异常"); + } + AppStockSingleTask stockSingleTaskUpdater = new AppStockSingleTask(); + stockSingleTaskUpdater.setTaskId(taskId); + stockSingleTaskUpdater.setTaskStatus(taskStatus); + boolean updated = appStockSingleTaskDao.update(stockSingleTaskUpdater); + log.info("用户:{} 更新独立任务:{} 的任务状态为:{}", userId, taskId, taskStatus); + if(!updated) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success("更新成功"); + } + + /** + * 完成任务 + * @param taskId 任务ID + * @return 结果 + */ + @Override + public AppServeResponse completeTask(String taskId) { + if(AppStringUtils.isEmpty(taskId)) { + return AppServeResponseFactory.fail("参数错误"); + } + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + AppStockSingleTask stockSingleTask = appStockSingleTaskDao.queryByTaskId(taskId); + if(stockSingleTask == null) { + return AppServeResponseFactory.fail("任务不存在或数据服务异常"); + } + AppStockSingleTask stockSingleTaskUpdater = new AppStockSingleTask(); + stockSingleTaskUpdater.setTaskId(taskId); + stockSingleTaskUpdater.setTaskStatus(StockSingleTaskStatusEnum.COMPLETE.getCode()); + boolean updated = appStockSingleTaskDao.update(stockSingleTaskUpdater); + log.info("用户:{} 手动在WCS客户端完成独立任务:{} ", userId, taskId); + if(!updated) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success("更新成功"); + } + + /** + * 取消任务 + * @param taskId 任务ID + * @return 结果 + */ + @Override + public AppServeResponse cancelTask(String taskId) { + if(AppStringUtils.isEmpty(taskId)) { + return AppServeResponseFactory.fail("参数错误"); + } + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + AppStockSingleTask stockSingleTask = appStockSingleTaskDao.queryByTaskId(taskId); + if(stockSingleTask == null) { + return AppServeResponseFactory.fail("任务不存在或数据服务异常"); + } + AppStockSingleTask stockSingleTaskUpdater = new AppStockSingleTask(); + stockSingleTaskUpdater.setTaskId(taskId); + stockSingleTaskUpdater.setTaskStatus(StockSingleTaskStatusEnum.CANCEL.getCode()); + boolean updated = appStockSingleTaskDao.update(stockSingleTaskUpdater); + log.info("用户:{} 手动在WCS客户端取消独立任务:{} ", userId, taskId); + if(!updated) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + return AppServeResponseFactory.success("更新成功"); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/SystemService.java b/wcs/src/main/java/org/wcs/serve/service/impl/SystemService.java new file mode 100644 index 0000000..b433284 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/SystemService.java @@ -0,0 +1,321 @@ +package org.wcs.serve.service.impl; + +import com.alibaba.fastjson2.*; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import org.wcs.constant.enums.database.StackerLocationStatusEnum; +import org.wcs.constant.enums.database.StockSingleTaskStatusEnum; +import org.wcs.constant.enums.database.StockSingleTaskTypeEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.helper.HttpResponseHelper; +import org.wcs.helper.SseHelper; +import org.wcs.mapper.intf.*; +import org.wcs.model.po.app.*; +import org.wcs.model.vo.custom.BaseChartsDataItem; +import org.wcs.model.vo.custom.MultilineLineChartData; +import org.wcs.model.vo.custom.MultilineLineChartDataItem; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.sys.*; +import org.wcs.serve.service.intf.ISystemService; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppTimeUtils; +import org.wcs.utils.AppUUIDUtils; +import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.GlobalMemory; +import oshi.hardware.HardwareAbstractionLayer; +import oshi.software.os.FileSystem; +import oshi.software.os.OSFileStore; +import oshi.software.os.OperatingSystem; +import oshi.util.FormatUtil; + +import java.lang.management.ManagementFactory; +import java.lang.management.RuntimeMXBean; +import java.net.InetAddress; +import java.time.LocalDate; +import java.util.*; + +/** + * 系统数据服务 + */ +@Service +@RequiredArgsConstructor +public class SystemService implements ISystemService { + + private final long startTime = System.currentTimeMillis(); + private final HttpResponseHelper httpResponseHelper; + private final SseHelper sseHelper; + private final AppStackerLocationService stackerLocationService; + private final AppStockSingleTaskService stockSingleTaskService; + private final AppStockSingleTaskBakService stockSingleTaskBakService; + private final AppRecordErrService appRecordErrService; + + /** + * 查询系统信息 + * @param request 请求 + * @return 系统信息 + */ + @Override + public AppServeDataResponse querySystemInfo(HttpServletRequest request) { + String requestURI = request.getRequestURI(); + String response = httpResponseHelper.getResponse(requestURI); + if(AppStringUtils.isNotEmpty(response)) { + AppServeDataResponse querySystemInfoVoAppServeDataResponse = JSONObject.parseObject(response, new TypeReference<>(){}); + return AppServeResponseFactory.success(querySystemInfoVoAppServeDataResponse.getData()); + } + QuerySystemInfoVo querySystemInfoVo = new QuerySystemInfoVo(); // 要返回的数据 + // 运行时长 + long uptimeMillis = System.currentTimeMillis() - startTime; + querySystemInfoVo.setSystemRunningTime(AppTimeUtils.formatDuration(uptimeMillis)); + + SystemInfo si = new SystemInfo(); + HardwareAbstractionLayer hal = si.getHardware(); + OperatingSystem os = si.getOperatingSystem(); + + // CPU 信息 + CentralProcessor processor = hal.getProcessor(); + Map cpu = new LinkedHashMap<>(); + int coreCount = processor.getLogicalProcessorCount(); + long[] ticks1 = processor.getSystemCpuLoadTicks(); + try { Thread.sleep(1000); } catch (InterruptedException ignored) {} + long[] ticks2 = processor.getSystemCpuLoadTicks(); + + long user = ticks2[CentralProcessor.TickType.USER.getIndex()] - ticks1[CentralProcessor.TickType.USER.getIndex()]; + long system = ticks2[CentralProcessor.TickType.SYSTEM.getIndex()] - ticks1[CentralProcessor.TickType.SYSTEM.getIndex()]; + long idle = ticks2[CentralProcessor.TickType.IDLE.getIndex()] - ticks1[CentralProcessor.TickType.IDLE.getIndex()]; + long total = Arrays.stream(ticks2).sum() - Arrays.stream(ticks1).sum(); + CpuDataVo cpuDataVo = new CpuDataVo(); + cpuDataVo.setCpuCores(coreCount); + cpuDataVo.setUserUseRatio(String.format("%.2f", user * 100.0 / total)); + cpuDataVo.setSystemUseRatio(String.format("%.2f", system * 100.0 / total)); + cpuDataVo.setTotalUseRatio(String.format("%.2f", (user + system) * 100.0 / total)); + cpuDataVo.setFreeRatio(String.format("%.2f", idle * 100.0 / total)); + querySystemInfoVo.setCpuData(cpuDataVo); + + // 内存信息 + GlobalMemory memory = hal.getMemory(); + Map mem = new LinkedHashMap<>(); + long totalMem = memory.getTotal(); + long available = memory.getAvailable(); + long used = totalMem - available; + MemoryDataVo memoryDataVo = new MemoryDataVo(); + memoryDataVo.setTotal(FormatUtil.formatBytes(totalMem)); + memoryDataVo.setUsed(FormatUtil.formatBytes(used)); + memoryDataVo.setFree(FormatUtil.formatBytes(available)); + memoryDataVo.setUsage(String.format("%.2f", used * 100.0 / totalMem)); + querySystemInfoVo.setMemoryData(memoryDataVo); + + // JVM 信息 + RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean(); + Map jvm = new LinkedHashMap<>(); + JvmDataVo jvmDataVo = new JvmDataVo(); + jvmDataVo.setJvmName(runtime.getVmName()); + jvmDataVo.setJavaVersion(runtime.getVmVersion()); + jvmDataVo.setStartTime(FormatUtil.formatElapsedSecs(runtime.getStartTime())); + jvmDataVo.setRunTime(FormatUtil.formatElapsedSecs(runtime.getUptime())); + jvmDataVo.setJvmPath(System.getProperty("user.dir")); + jvmDataVo.setStartPath(System.getProperty("java.class.path")); + jvmDataVo.setStartArgs(runtime.getInputArguments()); + querySystemInfoVo.setJvmData(jvmDataVo); + + // 服务器信息 + ServeDataVo serveDataVo = new ServeDataVo(); + try { + serveDataVo.setServeName(InetAddress.getLocalHost().getHostName()); + serveDataVo.setServeIp(InetAddress.getLocalHost().getHostAddress()); + } catch (Exception e) { + serveDataVo.setServeName("未知"); + serveDataVo.setServeIp("未知"); + } + serveDataVo.setSystemName( os.toString()); + serveDataVo.setSystemVersion(System.getProperty("os.arch")); + querySystemInfoVo.setServeData(serveDataVo); + + // 磁盘信息 + FileSystem fileSystem = os.getFileSystem(); + List fileStores = fileSystem.getFileStores(); + List diskDataVos = new ArrayList<>(); + for (OSFileStore fs : fileStores) { + DiskDataVo disk = new DiskDataVo(); + disk.setDiskPath(fs.getMount()); + disk.setDiskType(fs.getType()); + disk.setTotalSize(FormatUtil.formatBytes(fs.getTotalSpace())); + disk.setFreeSize(FormatUtil.formatBytes(fs.getUsableSpace())); + diskDataVos.add(disk); + } + querySystemInfoVo.setDiskData(diskDataVos); + AppServeDataResponse successResponse = AppServeResponseFactory.success(querySystemInfoVo); + httpResponseHelper.setResponse(requestURI, AppStringUtils.objectToString(successResponse), 5); + return successResponse; + } + + /** + * 创建信息连接 + * @return SSE + */ + @Override + public SseEmitter acceptInfo() { + String userId = AppUUIDUtils.getNewUUID(); + SseEmitter emitter = new SseEmitter(1000L * 60 * 5); + emitter.onTimeout(() -> sseHelper.removeEmitter(userId)); + emitter.onCompletion(() -> sseHelper.removeEmitter(userId)); + sseHelper.setEmitter(userId, emitter); + return emitter; + } + + + /** + * 查询库存使用情况 + * @return 库存使用情况 + */ + @Override + public AppServeDataResponse> queryStockUsage(HttpServletRequest request) { + String requestURI = request.getRequestURI(); + String response = httpResponseHelper.getResponse(requestURI); + if(AppStringUtils.isNotEmpty(response)) { + AppServeDataResponse> querySystemInfoVoAppServeDataResponse = JSONObject.parseObject(response, new TypeReference<>(){}); + return AppServeResponseFactory.success(querySystemInfoVoAppServeDataResponse.getData()); + } + List stackerLocations = stackerLocationService.queryStackerLocationAll(); + if(stackerLocations == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List baseChartsDataItems = new ArrayList<>(); // 要返回的结果 + long emptyCount = stackerLocations.stream().filter(stackerLocation -> Objects.equals(stackerLocation.getLocationStatus(), StackerLocationStatusEnum.EMPTY.getCode())).count(); + baseChartsDataItems.add(new BaseChartsDataItem("空闲",emptyCount)); + baseChartsDataItems.add(new BaseChartsDataItem("不可用", (long) stackerLocations.size() - emptyCount)); + AppServeDataResponse> successResponse = AppServeResponseFactory.success(baseChartsDataItems); + httpResponseHelper.setResponse(requestURI, AppStringUtils.objectToString(successResponse), 10); + return successResponse; + } + + /** + * 查询今日入库出库数量 + * @return 今日入库出库数量 + */ + @Override + public AppServeDataResponse> queryTodayInOutCount(HttpServletRequest request) { + String requestURI = request.getRequestURI(); + String response = httpResponseHelper.getResponse(requestURI); + if(AppStringUtils.isNotEmpty(response)) { + AppServeDataResponse> querySystemInfoVoAppServeDataResponse = JSONObject.parseObject(response, new TypeReference<>(){}); + return AppServeResponseFactory.success(querySystemInfoVoAppServeDataResponse.getData()); + } + List stockSingleTasks = stockSingleTaskBakService.queryTaskRecentDays(1, StockSingleTaskStatusEnum.COMPLETE.getCode()); + if(stockSingleTasks == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List baseChartsDataItems = new ArrayList<>(); + int inCount = 0; + int outCount = 0; + int moveCount = 0; + for (AppStockSingleTaskBak stockSingleTask : stockSingleTasks) { + if(Objects.equals(stockSingleTask.getTaskType(), StockSingleTaskTypeEnum.STACKER_IN.getCode())) { + inCount++; + continue; + } + if(Objects.equals(stockSingleTask.getTaskType(), StockSingleTaskTypeEnum.STACKER_OUT.getCode())) { + outCount++; + continue; + } + if(Objects.equals(stockSingleTask.getTaskType(), StockSingleTaskTypeEnum.STACKER_MOVE.getCode())) { + moveCount++; + } + } + baseChartsDataItems.add(new BaseChartsDataItem("入库", (long) inCount)); + baseChartsDataItems.add(new BaseChartsDataItem("出库", (long) outCount)); + baseChartsDataItems.add(new BaseChartsDataItem("移库", (long) moveCount)); + AppServeDataResponse> successResponse = AppServeResponseFactory.success(baseChartsDataItems); + httpResponseHelper.setResponse(requestURI, AppStringUtils.objectToString(successResponse), 10); + return successResponse; + } + + /** + * 获取近7天设备错误数量 + * @return 近7天设备错误数量 + */ + @Override + public AppServeDataResponse> queryDeviceErrorCountDay7(HttpServletRequest request) { + String requestURI = request.getRequestURI(); + String response = httpResponseHelper.getResponse(requestURI); + if(AppStringUtils.isNotEmpty(response)) { + AppServeDataResponse> querySystemInfoVoAppServeDataResponse = JSONObject.parseObject(response, new TypeReference<>(){}); + return AppServeResponseFactory.success(querySystemInfoVoAppServeDataResponse.getData()); + } + List recordErrors = appRecordErrService.queryRecordErrorDetailRecentDays(7); + if(recordErrors == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + List baseChartsDataItems = new ArrayList<>(); + for (int i = 0; i < 7; i++) { + LocalDate now = LocalDate.now(); + LocalDate localDate = now.minusDays(i); + long count = recordErrors.stream().filter(recordError -> recordError.getCreateTime().toLocalDate().equals(localDate)).count(); + baseChartsDataItems.add(new BaseChartsDataItem(AppTimeUtils.formatLocalDatetime(localDate, "MM/dd"), count)); + } + AppServeDataResponse> successResponse = AppServeResponseFactory.success(baseChartsDataItems); + httpResponseHelper.setResponse(requestURI, AppStringUtils.objectToString(successResponse), 60); + return successResponse; + } + + /** + * 获取近7天入库出库数量 + * @return 近7天入库出库数量 + */ + @Override + public AppServeDataResponse queryInOutCountDay7(HttpServletRequest request) { + String requestURI = request.getRequestURI(); + String response = httpResponseHelper.getResponse(requestURI); + if(AppStringUtils.isNotEmpty(response)) { + AppServeDataResponse querySystemInfoVoAppServeDataResponse = JSONObject.parseObject(response, new TypeReference<>(){}); + return AppServeResponseFactory.success(querySystemInfoVoAppServeDataResponse.getData()); + } + List stockSingleTasks = stockSingleTaskBakService.queryTaskRecentDays(7,StockSingleTaskStatusEnum.COMPLETE.getCode()); + if(stockSingleTasks == null) { + return AppServeResponseFactory.fail("数据服务异常", null); + } + MultilineLineChartData multilineLineChartData = new MultilineLineChartData(); + List xDataList = new ArrayList<>(); + for (int i = 0; i < 7; i++) { + LocalDate now = LocalDate.now(); + LocalDate localDate = now.minusDays(i); + xDataList.add(AppTimeUtils.formatLocalDatetime(localDate, "MM/dd")); + } + List yDataList = new ArrayList<>(); + // 入库数据 + List inCountList = new ArrayList<>(); + for (String xData : xDataList) { + long count = stockSingleTasks.stream().filter(stockSingleTask -> + AppTimeUtils.formatLocalDatetime(stockSingleTask.getCreateTime().toLocalDate(), "MM/dd").equals(xData) + && Objects.equals(stockSingleTask.getTaskType(), StockSingleTaskTypeEnum.STACKER_IN.getCode())).count(); + inCountList.add((int) count); + } + yDataList.add(new MultilineLineChartDataItem("入库", inCountList)); + // 出库数据 + List outCountList = new ArrayList<>(); + for (String xData : xDataList) { + long count = stockSingleTasks.stream().filter(stockSingleTask -> + AppTimeUtils.formatLocalDatetime(stockSingleTask.getCreateTime().toLocalDate(), "MM/dd").equals(xData) + && Objects.equals(stockSingleTask.getTaskType(), StockSingleTaskTypeEnum.STACKER_OUT.getCode())).count(); + outCountList.add((int) count); + } + yDataList.add(new MultilineLineChartDataItem("出库", outCountList)); + // 移库数据 + List moveCountList = new ArrayList<>(); + for (String xData : xDataList) { + long count = stockSingleTasks.stream().filter(stockSingleTask -> + AppTimeUtils.formatLocalDatetime(stockSingleTask.getCreateTime().toLocalDate(), "MM/dd").equals(xData) + && Objects.equals(stockSingleTask.getTaskType(), StockSingleTaskTypeEnum.STACKER_MOVE.getCode())).count(); + moveCountList.add((int) count); + } + yDataList.add(new MultilineLineChartDataItem("移库", moveCountList)); + multilineLineChartData.setXDataList(xDataList); + multilineLineChartData.setYDataList(yDataList); + AppServeDataResponse successResponse = AppServeResponseFactory.success(multilineLineChartData); + httpResponseHelper.setResponse(requestURI, AppStringUtils.objectToString(successResponse), 60); + return successResponse; + } + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/TrayConveyLocationService.java b/wcs/src/main/java/org/wcs/serve/service/impl/TrayConveyLocationService.java new file mode 100644 index 0000000..79411c7 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/TrayConveyLocationService.java @@ -0,0 +1,185 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.common.OnOrOffEnum; +import org.wcs.constant.enums.database.TrayConveyLocationTypeEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppTrayConveyLocationService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.dto.serve.trayConveyLocation.AddTrayConveyLocationReq; +import org.wcs.model.dto.serve.trayConveyLocation.QueryTrayConveyLocationReq; +import org.wcs.model.dto.serve.trayConveyLocation.UpdateTrayConveyLocationReq; +import org.wcs.model.po.app.AppTrayConveyLocation; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.trayConveyLocation.ExportAppTrayConveyLocationVo; +import org.wcs.model.vo.serve.trayConveyLocation.QueryTrayConveyLocationVo; +import org.wcs.model.vo.serve.trayConveyLocation.TrayConveyStatusVo; +import org.wcs.plugin.excel.ExcelPoi; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.TaskConveyStatus; +import org.wcs.serve.service.intf.ITrayConveyLocationService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class TrayConveyLocationService implements ITrayConveyLocationService { + + private final ExcelPoi excelPoi; + private final AppTrayConveyLocationService trayConveyLocationService; + + /** + * 分页查询托盘线点位数据 + * @param request 查询参数 + * @param pageSize 分页单页大小 + * @param pageIndex 分页页码 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryTrayConveyLocation(QueryTrayConveyLocationReq request, Integer pageSize, Integer pageIndex) { + if(pageSize == null || pageSize <= 0 || pageIndex == null || pageIndex <= 0) { + return AppServeResponseFactory.fail("分页参数错误", null); + } + Tuple2> queryResult = trayConveyLocationService.queryTrayConveyLocation(request, pageSize, pageIndex); + if(queryResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryTrayConveyLocationVos = AppBeanUtils.copyListProperties(queryResult.getItem2(), QueryTrayConveyLocationVo::new); + PageDataResponse pageDataResponse = new PageDataResponse<>(); + pageDataResponse.setPageIndex(pageIndex); + pageDataResponse.setPageSize(pageSize); + pageDataResponse.setTotalCount(queryResult.getItem1()); + pageDataResponse.setData(queryTrayConveyLocationVos); + return AppServeResponseFactory.success("查询成功", pageDataResponse); + } + + /** + * 添加托盘线点位数据 + * @param request 添加参数 + * @return 添加结果 + */ + @Override + public AppServeResponse addTrayConveyLocation(AddTrayConveyLocationReq request) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 想要添加托盘输送线点位数据:{}", operationUserId, AppStringUtils.objectToString(request)); + AppTrayConveyLocation appTrayConveyLocation = new AppTrayConveyLocation(); + appTrayConveyLocation.setId(AppUUIDUtils.getNewUUID()); + appTrayConveyLocation.setLocationId(request.getLocationId()); + appTrayConveyLocation.setBusinessLocationId(request.getBusinessLocationId()); + appTrayConveyLocation.setLocationName(request.getLocationName()); + appTrayConveyLocation.setLocationStatus(request.getLocationStatus()); + appTrayConveyLocation.setLocationType(request.getLocationType()); + appTrayConveyLocation.setPlcId(request.getPlcId()); + appTrayConveyLocation.setLocationXyz(request.getLocationXyz()); + appTrayConveyLocation.setAreaId(request.getAreaId()); + appTrayConveyLocation.setReadStatusAddress(request.getReadStatusAddress()); + appTrayConveyLocation.setWriteTaskAddress(request.getWriteTaskAddress()); + appTrayConveyLocation.setCreateTime(LocalDateTime.now()); + appTrayConveyLocation.setUpdateTime(LocalDateTime.now()); + appTrayConveyLocation.setRemark(request.getRemark()); + int saveResult = trayConveyLocationService.insert(appTrayConveyLocation); + return saveResult > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 更新托盘站台的数据 + * @param request 数据 + * @return 响应结果 + */ + @Override + public AppServeResponse updateTrayConveyLocation(UpdateTrayConveyLocationReq request) { + if(request == null) { + return AppServeResponseFactory.fail("数据不能为空"); + } + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 想要更新托盘输送线点位数据:{}", operationUserId, AppStringUtils.objectToString(request)); + AppTrayConveyLocation appTrayConveyLocation = new AppTrayConveyLocation(); + appTrayConveyLocation.setId(request.getId()); + appTrayConveyLocation.setLocationId(request.getLocationId()); + appTrayConveyLocation.setBusinessLocationId(request.getBusinessLocationId()); + appTrayConveyLocation.setLocationName(request.getLocationName()); + appTrayConveyLocation.setLocationStatus(request.getLocationStatus()); + appTrayConveyLocation.setLocationType(request.getLocationType()); + appTrayConveyLocation.setPlcId(request.getPlcId()); + appTrayConveyLocation.setLocationXyz(request.getLocationXyz()); + appTrayConveyLocation.setAreaId(request.getAreaId()); + appTrayConveyLocation.setReadStatusAddress(request.getReadStatusAddress()); + appTrayConveyLocation.setWriteTaskAddress(request.getWriteTaskAddress()); + appTrayConveyLocation.setCreateTime(LocalDateTime.now()); + appTrayConveyLocation.setUpdateTime(LocalDateTime.now()); + appTrayConveyLocation.setRemark(request.getRemark()); + int saveResult = trayConveyLocationService.update(appTrayConveyLocation); + return saveResult > 0 ? AppServeResponseFactory.success() : AppServeResponseFactory.fail("数据服务异常"); + } + + /** + * 查询托盘输送线点位数据 + * @param conveyId 输送点位ID + * @return 查询结果 + */ + @Override + public AppServeDataResponse queryTrayConveyStatus(String conveyId) { + List locationList = trayConveyLocationService.getDataByLocationId(conveyId); + if(locationList == null || locationList.isEmpty()) { + return AppServeResponseFactory.fail("数据服务异常或者点位不存在", null); + } + AppTrayConveyLocation trayConveyLocation = locationList.getFirst(); + Tuple2 taskConveyStatusTuple2 = PlcCommunicationFactory.getPlcCommunicationByPlcId(trayConveyLocation.getPlcId()).readTaskConveyStatus(conveyId); + if(AppStringUtils.isNotEmpty(taskConveyStatusTuple2.item1)) { + return AppServeResponseFactory.fail(taskConveyStatusTuple2.item1, null); + } + if(taskConveyStatusTuple2.item2 == null) { + return AppServeResponseFactory.fail("查询失败", null); + } + TrayConveyStatusVo trayConveyStatusVo = new TrayConveyStatusVo(); + AppBeanUtils.copyProperties(taskConveyStatusTuple2.item2, trayConveyStatusVo); + return AppServeResponseFactory.success("查询成功", trayConveyStatusVo); + } + + /** + * 下载托盘输送线点位数据 + * @param response 响应对象 + * @param request 请求参数 + */ + @Override + public void downLoadTrayConveyLocation(HttpServletResponse response, QueryTrayConveyLocationReq request) { + List trayConveyLocations = trayConveyLocationService.queryTrayConveyLocation(request); + if(trayConveyLocations == null || trayConveyLocations.isEmpty()) { + trayConveyLocations = new ArrayList<>(); + } + List exportAppTrayConveyLocationVos = new ArrayList<>(); + for (AppTrayConveyLocation trayConveyLocation : trayConveyLocations) { + ExportAppTrayConveyLocationVo exportAppTrayConveyLocationVo = new ExportAppTrayConveyLocationVo(); + BeanUtils.copyProperties(trayConveyLocation, exportAppTrayConveyLocationVo); + exportAppTrayConveyLocationVo.setLocationStatus(OnOrOffEnum.getByCode(trayConveyLocation.getLocationStatus()).getMsg()); + exportAppTrayConveyLocationVo.setLocationType(TrayConveyLocationTypeEnum.getByCode(trayConveyLocation.getLocationType()).getMsg()); + exportAppTrayConveyLocationVos.add(exportAppTrayConveyLocationVo); + } + try{ + excelPoi.doWriteExcel("托盘输送点位", response, exportAppTrayConveyLocationVos, ExportAppTrayConveyLocationVo.class); + } catch (Exception e) { + log.error("导出托盘输送点位失败", e); + } + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/UserGroupService.java b/wcs/src/main/java/org/wcs/serve/service/impl/UserGroupService.java new file mode 100644 index 0000000..d51a23b --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/UserGroupService.java @@ -0,0 +1,193 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseGroupPermissionService; +import org.wcs.mapper.intf.AppBaseMenuService; +import org.wcs.mapper.intf.AppBaseUserGroupService; +import org.wcs.mapper.intf.AppBaseUserService; +import org.wcs.model.dto.serve.userGroup.AddUserGroupReq; +import org.wcs.model.dto.serve.userGroup.UpdateGroupPermissionReq; +import org.wcs.model.dto.serve.userGroup.UpdateUserGroupReq; +import org.wcs.model.po.app.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.userGroup.QueryUserGroupPermissionResp; +import org.wcs.model.vo.serve.userGroup.QueryUserGroupResp; +import org.wcs.serve.service.intf.IUserGroupService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppDataBaseTransUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class UserGroupService implements IUserGroupService { + + private final AppDataBaseTransUtils appDataBaseTransUtils; + private final AppBaseGroupPermissionService baseGroupPermissionService; + private final AppBaseUserService baseUserService; + private final AppBaseUserGroupService baseUserGroupService; + private final AppBaseMenuService baseMenuService; + + /** + * 查询用户组级别比自己低的用户组 + * @return 查询到的用户组 + */ + @Override + public AppServeDataResponse> queryMinLevelUserGroup() { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List users = baseUserService.query(userId); + if(users == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(users.isEmpty()) { + return AppServeResponseFactory.fail("您的用户组没有启用或者没有相关用户组,联系管理员", null); + } + JoinUserInfoWithGroupInfo user = users.getFirst(); + List appBaseUserGroups = baseUserGroupService.queryWithLevelMin(user.getGroupLevel()); + if(appBaseUserGroups == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryUserGroupResponse = appBaseUserGroups.stream().map(appBaseUserGroup -> { + QueryUserGroupResp queryUserGroupResp = new QueryUserGroupResp(); + queryUserGroupResp.setUserGroup(appBaseUserGroup.getUserGroup()); + queryUserGroupResp.setGroupName(appBaseUserGroup.getGroupName()); + queryUserGroupResp.setGroupLevel(appBaseUserGroup.getGroupLevel()); + queryUserGroupResp.setGroupStatus(appBaseUserGroup.getGroupStatus()); + queryUserGroupResp.setCreateTime(appBaseUserGroup.getCreateTime()); + queryUserGroupResp.setUpdateTime(appBaseUserGroup.getUpdateTime()); + return queryUserGroupResp; + }).toList(); + return AppServeResponseFactory.success(queryUserGroupResponse); + } + + /** + * 查询用户组权限 + * @param userGroup 用户组 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryUserGroupPermission(String userGroup) { + List menuList = baseMenuService.queryPermission(userGroup); + if(menuList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(menuList.isEmpty()) { + return AppServeResponseFactory.fail("用户权限不足,请联系管理员查看是否授予您访问资源的权限", null); + } + List returnMenuList = AppBeanUtils.copyListProperties(menuList, QueryUserGroupPermissionResp::new); + return AppServeResponseFactory.success(returnMenuList); + } + + /** + * 添加用户组 + * @param addUserGroupReq 新用户组参数 + * @return 结果 + */ + @Override + public AppServeResponse addUserGroup(AddUserGroupReq addUserGroupReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + AppBaseUserGroup appBaseUserGroup = new AppBaseUserGroup(); + appBaseUserGroup.setUserGroup("ug-" + addUserGroupReq.getUserGroup()); + appBaseUserGroup.setGroupName(addUserGroupReq.getGroupName()); + appBaseUserGroup.setGroupLevel(addUserGroupReq.getGroupLevel()); + appBaseUserGroup.setGroupStatus(addUserGroupReq.getGroupStatus()); + int insertResult = baseUserGroupService.insert(appBaseUserGroup); + if(insertResult <= 0) { + return AppServeResponseFactory.fail("添加用户组失败"); + } + log.info("用户:{} 添加用户组:{}", userId, AppStringUtils.objectToString(addUserGroupReq)); + return AppServeResponseFactory.success("添加用户组成功"); + } + + /** + * 删除用户组 + * @param userGroup 用户组名称 + * @return 结果 + */ + @Override + public AppServeResponse deleteUserGroup(String userGroup) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + if(appDataBaseTransUtils.useTran(() -> { + baseGroupPermissionService.deleteByUserGroupThrowException(userGroup); // 删除用户组的权限 + baseUserGroupService.deleteByUserGroupThrowException(userGroup); // 删除用户组 + })) { + log.info("用户:{} 删除用户组:{}", userId, userGroup); + return AppServeResponseFactory.success("删除用户组成功"); + } + return AppServeResponseFactory.fail("删除用户组失败,事务处理失败"); + } + + /** + * 修改用户组 + * @param updateUserGroupReq 修改用户组参数 + * @return 修改结果 + */ + @Override + public AppServeResponse updateUserGroup(UpdateUserGroupReq updateUserGroupReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + AppBaseUserGroup appBaseUserGroup = new AppBaseUserGroup(); + AppBeanUtils.copyProperties(updateUserGroupReq, appBaseUserGroup); + int update = baseUserGroupService.update(appBaseUserGroup); + if(update == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + log.info("用户 {} 修改了用户组 {}", userId, AppStringUtils.objectToString(updateUserGroupReq)); + return AppServeResponseFactory.success(String.format("更新成功,更新了 %d 条记录", update)); + } + + /** + * 更新用户的权限 + * @param updateGroupPermissionReq 更新信息 + * @return 更新结果 + */ + @Override + public AppServeResponse updateGroupPermission(UpdateGroupPermissionReq updateGroupPermissionReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + List appBaseGroupPermissionList = new ArrayList<>(); + for(String permission : updateGroupPermissionReq.getPermissionList()) { + AppBaseGroupPermission appBaseGroupPermission = new AppBaseGroupPermission(); + appBaseGroupPermission.setId(AppUUIDUtils.getNewUUID()); + appBaseGroupPermission.setUserGroup(updateGroupPermissionReq.getUserGroup()); + appBaseGroupPermission.setMenuId(permission); + appBaseGroupPermission.setCreateUser(userId); + appBaseGroupPermissionList.add(appBaseGroupPermission); + } + if(appDataBaseTransUtils.useTran(() -> { + baseGroupPermissionService.deleteByUserGroupThrowException(updateGroupPermissionReq.getUserGroup()); + baseGroupPermissionService.insertThrowException(appBaseGroupPermissionList); + })) { + log.info("用户 {} 更新了用户组 {} 的权限", userId, updateGroupPermissionReq.getUserGroup()); + return AppServeResponseFactory.success("权限更新成功"); + } + return AppServeResponseFactory.fail("权限更新失败,事务处理失败"); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/UserService.java b/wcs/src/main/java/org/wcs/serve/service/impl/UserService.java new file mode 100644 index 0000000..d2bb706 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/impl/UserService.java @@ -0,0 +1,370 @@ +package org.wcs.serve.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.UserStatusEnum; +import org.wcs.factory.AppServeResponseFactory; +import org.wcs.mapper.intf.AppBaseMenuService; +import org.wcs.mapper.intf.AppBaseUserService; +import org.wcs.model.dto.serve.user.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.user.*; +import org.wcs.model.pojo.serve.UserMenuPermission; +import org.wcs.model.po.app.AppBaseMenu; +import org.wcs.model.po.app.AppBaseUser; +import org.wcs.model.po.app.JoinUserInfoWithGroupInfo; +import org.wcs.serve.service.intf.IUserService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Objects; + +@Service +@Slf4j +@RequiredArgsConstructor +public class UserService implements IUserService { + + private final AppBaseUserService baseUserService; + private final AppBaseMenuService baseMenuService; + + /** + * 用户登录 + * @param loginReq 用户登录请求 + * @return 结果 + */ + @Override + public AppServeDataResponse login(LoginReq loginReq) { + String encryptPwd = AppStringUtils.encryptPwd(loginReq.getPassword()); + AppBaseUser query = new AppBaseUser(); + query.setUserId(loginReq.getUserId()); + query.setUserPwd(encryptPwd); + List users = baseUserService.query(query); + if(users == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(users.isEmpty()) { + return AppServeResponseFactory.fail("用户名或密码错误", null); + } + AppBaseUser user = users.getFirst(); + log.info("用户登录:{}", user.getUserId()); + if(Objects.equals(user.getUserStatus(), UserStatusEnum.OK.getCode())) { + StpUtil.login(user.getUserId()); + // 更新用户登录时间 + AppBaseUser updateLastLoginTime = new AppBaseUser(); + updateLastLoginTime.setUserId(user.getUserId()); + updateLastLoginTime.setLastLoginTime(LocalDateTime.now()); + int updateResult = baseUserService.update(updateLastLoginTime); + log.info("更新用户登录时间成功:{}", updateResult); + LoginResp loginResp = new LoginResp(); + loginResp.setToken(StpUtil.getTokenValue()); + loginResp.setUserId(user.getUserId()); + loginResp.setUserLevel(user.getUserLevel()); + loginResp.setUserName(user.getUserName()); + loginResp.setLastLoginTime(user.getLastLoginTime()); + loginResp.setUserGroup(user.getUserGroup()); + return AppServeResponseFactory.success("登录成功", loginResp); + } + return AppServeResponseFactory.fail("用户状态异常,请联系管理员", null); + } + + /** + * 获取用户权限 + * @return 结果 + */ + @Override + public AppServeDataResponse permission() { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List users = baseUserService.query(userId); + if(users == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(users.isEmpty()) { + return AppServeResponseFactory.fail("用户没有权限,请联系管理员查看您的用户组是否启用", null); + } + JoinUserInfoWithGroupInfo user = users.getFirst(); + List menuList = baseMenuService.queryPermission(user.getUserGroup()); + if(menuList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(menuList.isEmpty()) { + return AppServeResponseFactory.fail("用户权限不足,请联系管理员查看是否授予您访问资源的权限", null); + } + List returnMenuList = new ArrayList<>(); + for(AppBaseMenu menu : menuList) { + UserMenuPermission userMenuPermission = new UserMenuPermission(); + userMenuPermission.setMenuId(menu.getMenuId()); + userMenuPermission.setMenuName(menu.getMenuName()); + userMenuPermission.setMenuIco(menu.getMenuIco()); + userMenuPermission.setRouterName(menu.getRouterName()); + userMenuPermission.setMenuLevel(menu.getMenuLevel()); + userMenuPermission.setFatherMenuId(menu.getFatherMenuId()); + returnMenuList.add(userMenuPermission); + } + UserPermissionResp userPermissionResp = new UserPermissionResp(); + userPermissionResp.setUserId(user.getUserId()); + userPermissionResp.setUserName(user.getUserName()); + userPermissionResp.setUserLevel(user.getUserLevel()); + userPermissionResp.setUserGroup(user.getUserGroup()); + userPermissionResp.setGroupLevel(user.getGroupLevel()); + userPermissionResp.setUserMenuPermission(returnMenuList); + return AppServeResponseFactory.success("获取用户权限成功", userPermissionResp); + } + + /** + * 查询用户 + * @param queryUserReq 查询用户请求 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryUser(QueryUserReq queryUserReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + AppBaseUser query = new AppBaseUser(); + query.setUserId(userId); + List users = baseUserService.query(query); + if(users == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(users.isEmpty()) { + return AppServeResponseFactory.fail("用户没有权限,请联系管理员查看您的用户是否启用", null); + } + var user = users.getFirst(); + Integer userLevel = user.getUserLevel(); + if(userLevel == null) { + return AppServeResponseFactory.fail("用户没有设定用户级别", null); + } + AppBaseUser queryUser = new AppBaseUser(); + queryUser.setUserId(queryUserReq.getUserId()); + queryUser.setUserName(queryUserReq.getUserName()); + List queryResult = baseUserService.query(queryUser, userLevel); + if(queryResult == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + List queryUserRespList = AppBeanUtils.copyListProperties(queryResult, QueryUserResp::new); + for(QueryUserResp queryUserResp : queryUserRespList) { + queryUserResp.setOnline(StpUtil.isLogin(queryUserResp.getUserId()) ? TrueOrFalseEnum.TRUE.getCode() : TrueOrFalseEnum.FALSE.getCode()); + } + return AppServeResponseFactory.success("查询用户成功", queryUserRespList); + } + + /** + * 登出用户 + * @param userId 需要登出用户ID + * @return 登出结果 + */ + @Override + public AppServeResponse logoutUser(String userId) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + StpUtil.logout(userId); + log.info("用户:{} 登出用户:{}", operationUserId, userId); + return AppServeResponseFactory.success("用户退出成功"); + } + + /** + * 更新用户 + * @param updateUserReq 更新用户请求 + * @return 更新结果 + */ + @Override + public AppServeResponse updateUser(UpdateUserReq updateUserReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + String encryptPwd = AppStringUtils.encryptPwd(updateUserReq.getUserPwd()); + AppBaseUser updateUser = new AppBaseUser(); + updateUser.setUserId(updateUserReq.getUserId()); + updateUser.setUserName(updateUserReq.getUserName()); + updateUser.setUserPwd(encryptPwd); + updateUser.setUserStatus(updateUserReq.getUserStatus()); + updateUser.setUserGroup(updateUserReq.getUserGroup()); + updateUser.setSex(updateUserReq.getSex()); + updateUser.setPhoto(updateUserReq.getPhoto()); + updateUser.setUserLevel(updateUserReq.getUserLevel()); + int updateResult = baseUserService.update(updateUser); + if(updateResult <= 0) { + return AppServeResponseFactory.fail("更新用户失败"); + } + if(AppStringUtils.isNotEmpty(updateUserReq.getUserPwd())) { + StpUtil.logout(updateUserReq.getUserId()); + log.info("用户:{} 通过修改用户密码登出用户:{}", operationUserId, updateUserReq.getUserId()); + } + log.info("用户:{} 更新用户信息:{}", operationUserId, AppStringUtils.objectToString(updateUserReq)); + return AppServeResponseFactory.success("更新用户成功"); + } + + /** + * 删除用户 + * @param userId 需要删除用户ID + * @return 删除结果 + */ + @Override + public AppServeResponse deleteUser(String userId) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 企图删除用户:{}", operationUserId, userId); + int deleteResult = baseUserService.deleteWithUserId(userId); + if(deleteResult <= 0) { + return AppServeResponseFactory.fail("删除用户失败"); + } + StpUtil.logout(userId); + log.info("用户:{} 通过删除用户账号登出用户:{}", operationUserId, userId); + log.info("用户:{} 成功删除用户:{}", operationUserId, userId); + return AppServeResponseFactory.success("删除用户成功"); + } + + /** + * 创建一个用户 + * @param createUserReq 创建信息 + * @return 创建结果 + */ + @Override + public AppServeResponse createUser(CreateUserReq createUserReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String operationUserId = userIdObj.toString(); + log.info("用户:{} 企图创建用户:{}", operationUserId, AppStringUtils.objectToString(createUserReq)); + AppBaseUser checkUserExist = new AppBaseUser(); + checkUserExist.setUserId(createUserReq.getUserId()); + List checkUsers = baseUserService.query(checkUserExist); + if(checkUsers == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(!checkUsers.isEmpty()) { + return AppServeResponseFactory.fail("用户已存在", null); + } + AppBaseUser insertUser = new AppBaseUser(); + AppBeanUtils.copyProperties(createUserReq, insertUser); + int insertCount = baseUserService.insert(insertUser); + if(insertCount == 0) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + log.info("用户:{} 成功创建用户:{}", operationUserId, AppStringUtils.objectToString(createUserReq)); + return AppServeResponseFactory.success(String.format("添加用户:%s 成功", createUserReq.getUserId())); + + } + + /** + * 简单查询用户拥有的权限菜单 + * @return 查询结果 + */ + @Override + public AppServeDataResponse> queryUserMenuPermissionSimpleTree() { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录", null); + } + String userId = userIdObj.toString(); + List users = baseUserService.query(userId); + if(users == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(users.isEmpty()) { + return AppServeResponseFactory.fail("用户没有权限,请联系管理员查看您的用户组是否启用", null); + } + JoinUserInfoWithGroupInfo user = users.getFirst(); + List menuList = baseMenuService.queryPermission(user.getUserGroup()); + if(menuList == null) { + return AppServeResponseFactory.internalServerError("数据服务异常", null); + } + if(menuList.isEmpty()) { + return AppServeResponseFactory.fail("用户权限不足,请联系管理员查看是否授予您访问资源的权限", null); + } + List response = new ArrayList<>(); + List mainMenuList = menuList.stream().sorted(Comparator.comparing(AppBaseMenu::getMenuId)).filter(appBaseMenu -> appBaseMenu.getMenuLevel() == 1).toList(); + if(mainMenuList.isEmpty()) { + return AppServeResponseFactory.fail("用户权限不足,请联系管理员查看是否授予您访问资源的权限", null); + } + for (AppBaseMenu mainMenu : mainMenuList) { + QueryUserMenuPermissionSimpleTreeResp queryUserMenuPermissionSimpleTreeResp = new QueryUserMenuPermissionSimpleTreeResp(); + queryUserMenuPermissionSimpleTreeResp.setMenuId(mainMenu.getMenuId()); + queryUserMenuPermissionSimpleTreeResp.setMenuName(mainMenu.getMenuName()); + List subMenuList = menuList.stream().sorted(Comparator.comparing(AppBaseMenu::getMenuId)).filter(appBaseMenu -> + AppStringUtils.isNotEmpty(appBaseMenu.getFatherMenuId()) && appBaseMenu.getFatherMenuId().equals(mainMenu.getMenuId())).toList(); + if(subMenuList.isEmpty()) { + continue; + } + List subMenuRespList = new ArrayList<>(); + for (AppBaseMenu subMenu : subMenuList) { + MinorMenuPermissionSimpleTreeData minorMenuPermissionSimpleTreeData = new MinorMenuPermissionSimpleTreeData(); + minorMenuPermissionSimpleTreeData.setMenuId(subMenu.getMenuId()); + minorMenuPermissionSimpleTreeData.setMenuName(subMenu.getMenuName()); + subMenuRespList.add(minorMenuPermissionSimpleTreeData); + } + queryUserMenuPermissionSimpleTreeResp.setMinMenuPermissionSimpleTreeRespList(subMenuRespList); + response.add(queryUserMenuPermissionSimpleTreeResp); + } + return AppServeResponseFactory.success(response); + } + + /** + * 修改自己的用户信息 + * @param updateSelfUserReq 修改信息 + * @return 修改结果 + */ + @Override + public AppServeResponse updateSelfUser(UpdateSelfUserReq updateSelfUserReq) { + Object userIdObj = StpUtil.getLoginId(); + if(userIdObj == null) { + return AppServeResponseFactory.unauthorized("用户未登录"); + } + String userId = userIdObj.toString(); + if(!userId.equals(updateSelfUserReq.getUserId())) { + log.warn("用户:{} 企图通过修改自己信息接口修改用户:{} 的信息,{}", userId, updateSelfUserReq.getUserId(), AppStringUtils.objectToString(updateSelfUserReq)); + return AppServeResponseFactory.forbidden("你不能通过此接口修改不是自己的账号的数据,你的行为已经被记录"); + } + String encryptOldPwd = AppStringUtils.encryptPwd(updateSelfUserReq.getOldPwd()); + AppBaseUser query = new AppBaseUser(); + query.setUserId(updateSelfUserReq.getUserId()); + query.setUserPwd(encryptOldPwd); + List users = baseUserService.query(query); + if(users == null) { + return AppServeResponseFactory.internalServerError("数据服务异常"); + } + if(users.isEmpty()) { + return AppServeResponseFactory.fail("用户名或密码错误"); + } + String encryptPwd = AppStringUtils.encryptPwd(updateSelfUserReq.getNewPwd()); + AppBaseUser updateUser = new AppBaseUser(); + updateUser.setUserId(updateSelfUserReq.getUserId()); + updateUser.setUserName(updateSelfUserReq.getUserName()); + updateUser.setUserPwd(encryptPwd); + updateUser.setSex(updateSelfUserReq.getSex()); + updateUser.setPhoto(updateSelfUserReq.getPhoto()); + int updateResult = baseUserService.update(updateUser); + if(updateResult <= 0) { + return AppServeResponseFactory.fail("更新用户失败"); + } + if(AppStringUtils.isNotEmpty(updateSelfUserReq.getNewPwd())) { + StpUtil.logout(updateSelfUserReq.getUserId()); + log.info("用户:{} 通过修改自己的密码登出用户:{}", userId, updateSelfUserReq.getUserId()); + } + log.info("用户:{} 更新自己的用户信息:{}", userId, AppStringUtils.objectToString(updateSelfUserReq)); + return AppServeResponseFactory.success("更新用户成功"); + } +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IApiService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IApiService.java new file mode 100644 index 0000000..45e971e --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IApiService.java @@ -0,0 +1,19 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.api.AddApiBaseInfoReq; +import org.wcs.model.dto.serve.api.QueryApiBaseInfoReq; +import org.wcs.model.dto.serve.api.UpdateApiBaseInfoReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.api.QueryApiBaseInfoVo; + +import java.util.List; + +public interface IApiService { + + AppServeDataResponse> queryApiBaseInfo(QueryApiBaseInfoReq queryApiBaseInfoReq); + AppServeResponse reloadApiKey(); // 重新加载API基础信息 + AppServeResponse addApiBaseInfo(AddApiBaseInfoReq addApiBaseInfoReq); + AppServeResponse deleteApiBaseInfo(String apiKey); + AppServeResponse updateApiBaseInfo(UpdateApiBaseInfoReq updateApiBaseInfoReq); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IBaseErrorService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IBaseErrorService.java new file mode 100644 index 0000000..174d851 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IBaseErrorService.java @@ -0,0 +1,23 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.multipart.MultipartFile; +import org.wcs.model.dto.serve.baseError.QueryBaseErrorReq; +import org.wcs.model.dto.serve.baseError.UpdateBaseErrorReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.dto.serve.baseError.AddBaseErrorReq; +import org.wcs.model.vo.serve.baseError.QueryBaseErrorVo; +import org.wcs.model.vo.serve.common.PageDataResponse; + +public interface IBaseErrorService { + + void downLoadImportExample(HttpServletResponse response); + AppServeDataResponse> queryBaseErrorList(QueryBaseErrorReq request, Integer pageSize, Integer pageIndex); + AppServeResponse addBaseError(AddBaseErrorReq request); + AppServeResponse importBaseError(MultipartFile fileUpload); + AppServeResponse deleteBaseErrorByEquipmentType(Integer equipmentType); // 根据设备型号删除基础错误 + AppServeResponse deleteBaseErrorById(String id); // 根据id删除基础错误 + AppServeResponse updateBaseError(UpdateBaseErrorReq request); // 修改基础错误 + AppServeDataResponse getBaseError(Integer equipmentType, String errCode); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IConfigService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IConfigService.java new file mode 100644 index 0000000..735c83f --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IConfigService.java @@ -0,0 +1,18 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.config.QueryConfigReq; +import org.wcs.model.dto.serve.config.UpdateConfigReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.config.QueryConfigResp; + +import java.util.List; + +public interface IConfigService { + + AppServeDataResponse> queryConfig(QueryConfigReq queryConfigReq); // 查询配置 + AppServeResponse updateConfig(UpdateConfigReq updateConfigReq); // 修改配置 + AppServeResponse reloadConfig(); // 重新加载配置 + AppServeDataResponse queryConfigValue(String key); // 查询配置值 + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IConveyLocationService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IConveyLocationService.java new file mode 100644 index 0000000..29e48ea --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IConveyLocationService.java @@ -0,0 +1,18 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.convey.AddConveyLocationReq; +import org.wcs.model.dto.serve.convey.QueryConveyLocationReq; +import org.wcs.model.dto.serve.convey.UpdateConveyLocationReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.convey.ConveyStatusVo; +import org.wcs.model.vo.serve.convey.QueryConveyLocationVo; + +public interface IConveyLocationService { + + AppServeDataResponse> queryConveyLocation(QueryConveyLocationReq request, Integer pageSize, Integer pageIndex); + AppServeResponse addConveyLocation(AddConveyLocationReq request); // 添加点位信息 + AppServeResponse updateConveyLocation(UpdateConveyLocationReq request); // 更新输送流程 + AppServeDataResponse queryTrayConveyStatus(String conveyId); // 查询设备状态 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IConveyStandService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IConveyStandService.java new file mode 100644 index 0000000..5ccb8b4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IConveyStandService.java @@ -0,0 +1,22 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.conveyStand.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.conveyStand.ConveyCheckStandVo; +import org.wcs.model.vo.serve.conveyStand.ConveyPickStandVo; + +public interface IConveyStandService { + + /* 输送线捡选站台 */ + AppServeDataResponse> queryPickStand(QueryPickStandReq request, Integer pageSize, Integer pageIndex); + AppServeResponse addConveyPickStand(AddConveyPickStandReq request); + AppServeResponse deleteConveyPickStand(String standId); + AppServeResponse updateConveyPickStand(UpdateConveyPickStandReq request); + /* 输送线复核站台 */ + AppServeDataResponse> queryCheckStand(QueryCheckStandReq request, Integer pageSize, Integer pageIndex); + AppServeResponse addConveyCheckStand(AddConveyCheckStandReq request); + AppServeResponse deleteConveyCheckStand(String standId); + AppServeResponse updateConveyCheckStand(UpdateConveyCheckStandReq request); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IConveyTaskService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IConveyTaskService.java new file mode 100644 index 0000000..7265923 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IConveyTaskService.java @@ -0,0 +1,25 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.dto.serve.conveyTask.AddConveyTaskReq; +import org.wcs.model.dto.serve.conveyTask.QueryConveyTaskReq; +import org.wcs.model.dto.serve.conveyTask.ReporterConveyTaskStatusReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.conveyTask.QueryConveyTaskVo; + +public interface IConveyTaskService { + + AppServeDataResponse> queryConveyTask(QueryConveyTaskReq request,Integer pageSize,Integer pageIndex); + AppServeDataResponse> queryConveyTaskBak(QueryConveyTaskReq request,Integer pageSize,Integer pageIndex); + AppServeResponse addConveyTask(AddConveyTaskReq request); + AppServeResponse updateConveyTaskStatus(String taskId, Integer status); + AppServeResponse completeConveyTask(String taskId, String arriveLocation); + AppServeResponse cancelConveyTask(String taskId); + AppServeResponse reporterConveyTaskComplete(ReporterConveyTaskStatusReq request); + AppServeResponse reporterConveyTaskCancel(ReporterConveyTaskStatusReq request); + AppServeResponse reporterConveyTaskBakComplete(ReporterConveyTaskStatusReq request); + AppServeResponse reporterConveyTaskBakCancel(ReporterConveyTaskStatusReq request); + void exportConveyTaskBak(HttpServletResponse response,QueryConveyTaskReq request); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IDevService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IDevService.java new file mode 100644 index 0000000..391f719 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IDevService.java @@ -0,0 +1,8 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.vo.serve.AppServeResponse; + +public interface IDevService { + + AppServeResponse restartApplication(); // 重启应用 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IEtagBaseService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IEtagBaseService.java new file mode 100644 index 0000000..6fd2ce8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IEtagBaseService.java @@ -0,0 +1,27 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.etagBase.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.etagBase.EtagControllerVo; +import org.wcs.model.vo.serve.etagBase.EtagLocationVo; +import org.wcs.model.vo.serve.etagBase.EtagTagInfoVo; + +public interface IEtagBaseService { + + AppServeDataResponse> queryEtagController(EtagControllerQueryReq request, Integer pageIndex, Integer pageSize); + AppServeResponse addEtagController(AddEtagControllerReq request); // 添加数据 + AppServeResponse updateEtagController(UpdateEtagControllerReq request); // 修改数据 + AppServeResponse deleteEtagController(Integer etagControllerId); // 删除数据 + + AppServeDataResponse> queryEtagTagInfo(EtagTagInfoQueryReq request, Integer pageIndex, Integer pageSize); // 查询小标签数据 + AppServeResponse addEtagTagInfo(AddEtagTagInfoReq request); // 添加小标签数据 + AppServeResponse updateEtagTagInfo(UpdateEtagTagInfoReq request); // 修改小标签数据 + AppServeResponse deleteEtagTagInfo(String tagName); // 删除小标签数据 + + AppServeDataResponse> queryEtagLocation(EtagLocationQueryReq request, Integer pageIndex, Integer pageSize); // 查询货位数据 + AppServeResponse addEtagLocation(AddEtagLocationReq request); // 添加货位数据 + AppServeResponse updateEtagLocation(UpdateEtagLocationReq request); // 修改货位数据 + AppServeResponse deleteEtagLocation(String recordId); // 删除货位数据 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IEtagTaskService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IEtagTaskService.java new file mode 100644 index 0000000..eb6c3fe --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IEtagTaskService.java @@ -0,0 +1,20 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.etagTask.AddEtagTaskReq; +import org.wcs.model.dto.serve.etagTask.EtagTaskQueryReq; +import org.wcs.model.dto.serve.etagTask.UpdateEtagTaskReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.etagTask.EtagTaskBakVo; +import org.wcs.model.vo.serve.etagTask.EtagTaskVo; + +/** + * 电子标签任务服务接口 + */ +public interface IEtagTaskService { + AppServeDataResponse> queryEtagTask(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize); // 查询电子标签任务 + AppServeResponse addEtagTask(AddEtagTaskReq request); // 新增电子标签任务 + AppServeResponse updateEtagTask(UpdateEtagTaskReq request); // 更新电子标签任务数据 + AppServeDataResponse> queryEtagTaskBak(EtagTaskQueryReq request, Integer pageIndex, Integer pageSize); // 查询电子标签任务 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IFileService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IFileService.java new file mode 100644 index 0000000..3e8aeae --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IFileService.java @@ -0,0 +1,15 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.vo.serve.AppServeDataResponse; + +import java.util.List; + +/** + * 文件服务接口 + */ +public interface IFileService { + + AppServeDataResponse> getFilesName(); + void downLoadFile(String fileName, HttpServletResponse response); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/ILedService.java b/wcs/src/main/java/org/wcs/serve/service/intf/ILedService.java new file mode 100644 index 0000000..64cedde --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/ILedService.java @@ -0,0 +1,19 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.led.AddBaseLedReq; +import org.wcs.model.dto.serve.led.QueryLedReq; +import org.wcs.model.dto.serve.led.UpdateBaseLedReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.led.QueryLedVo; + +import java.util.List; + +public interface ILedService { + + AppServeDataResponse> queryLed(QueryLedReq queryLedReq); // 查询数据 + AppServeResponse addBaseLed(AddBaseLedReq addBaseLedReq); // 添加数据 + AppServeResponse updateBaseLed(UpdateBaseLedReq updateBaseLedReq); + AppServeResponse deleteBaseLed(String id); + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IMenuService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IMenuService.java new file mode 100644 index 0000000..0fb543a --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IMenuService.java @@ -0,0 +1,17 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.menu.AddMenuReq; +import org.wcs.model.dto.serve.menu.UpdateMenuReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.dto.serve.menu.QueryMenuReq; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.menu.QueryMenuResp; + +import java.util.List; + +public interface IMenuService { + AppServeDataResponse> queryMenu(QueryMenuReq queryMenuReq); + AppServeResponse addMenu(AddMenuReq addMenuReq); // 添加菜单 + AppServeResponse deleteMenu(String menuId); // 删除菜单 + AppServeResponse updateMenu(UpdateMenuReq updateMenuReq); // 更新菜单 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IPlcService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IPlcService.java new file mode 100644 index 0000000..01e2d6c --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IPlcService.java @@ -0,0 +1,18 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.plc.AddPlcReq; +import org.wcs.model.dto.serve.plc.QueryBasePlcReq; +import org.wcs.model.dto.serve.plc.UpdatePlcReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.plc.QueryBasePlcResp; + +import java.util.List; + +public interface IPlcService { + + AppServeDataResponse> queryPlc(QueryBasePlcReq queryPlcReq); // 条件查询 + AppServeResponse addPlc(AddPlcReq addPlcReq); // 添加PLC + AppServeResponse updatePlc(UpdatePlcReq updatePlcReq); // 更新数据 + AppServeResponse deletePlc(Integer plcId); // 删除数据 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IQuartzService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IQuartzService.java new file mode 100644 index 0000000..b2b8291 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IQuartzService.java @@ -0,0 +1,20 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.quartz.AddQuartzConfigReq; +import org.wcs.model.dto.serve.quartz.QuartzReq; +import org.wcs.model.dto.serve.quartz.UpdateQuartzConfigReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.quartz.QueryResp; + +import java.util.List; + +public interface IQuartzService { + + AppServeDataResponse> query(QuartzReq quartzReq); // 查询定时任务 + AppServeResponse addQuartzConfig(AddQuartzConfigReq addQuartzConfigReq); // 添加定时任务 + AppServeResponse deleteQuartzConfig(String className); // 删除定时任务 + AppServeResponse stopQuartzJob(String className); // 停止任务 + AppServeResponse startQuartzJob(String className); // 开启任务 + AppServeResponse updateQuartzConfig(UpdateQuartzConfigReq updateQuartzConfigReq); // 更新任务信息 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IRecordApiService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IRecordApiService.java new file mode 100644 index 0000000..011bed4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IRecordApiService.java @@ -0,0 +1,14 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.recordApi.QueryRecordApiRequestReq; +import org.wcs.model.dto.serve.recordApi.QueryRecordApiResponseReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordApi.RecordApiRequestVo; +import org.wcs.model.vo.serve.recordApi.RecordApiResponseVo; + +public interface IRecordApiService { + + AppServeDataResponse> queryRecordApiRequest(QueryRecordApiRequestReq request, Integer pageSize, Integer pageIndex); + AppServeDataResponse> queryRecordApiResponse(QueryRecordApiResponseReq request, Integer pageSize, Integer pageIndex); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IRecordErrorService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IRecordErrorService.java new file mode 100644 index 0000000..a7daaf1 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IRecordErrorService.java @@ -0,0 +1,13 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.dto.serve.recordError.QueryEquipmentErrorReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordError.QueryEquipmentErrorVo; + +public interface IRecordErrorService { + + AppServeDataResponse> queryEquipmentError(QueryEquipmentErrorReq request, Integer pageSize, Integer pageIndex); + void exportEquipmentError(HttpServletResponse response, QueryEquipmentErrorReq request); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IRecordScanService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IRecordScanService.java new file mode 100644 index 0000000..d0ba5ea --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IRecordScanService.java @@ -0,0 +1,16 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.dto.serve.recordScan.QueryRecordScanReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.recordScan.RecordScanVo; + +import java.math.BigDecimal; + +public interface IRecordScanService { + + AppServeDataResponse> queryRecordScan(QueryRecordScanReq request, Integer pageSize, Integer pageIndex); + AppServeDataResponse queryRecordScanRatio(QueryRecordScanReq request); + void downLoadRecordScan(HttpServletResponse response,QueryRecordScanReq request); // 下载数据 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/ISiemensDbService.java b/wcs/src/main/java/org/wcs/serve/service/intf/ISiemensDbService.java new file mode 100644 index 0000000..b72f0dd --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/ISiemensDbService.java @@ -0,0 +1,17 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.siemensDb.AddSiemensDbReq; +import org.wcs.model.dto.serve.siemensDb.QuerySiemensDbReq; +import org.wcs.model.dto.serve.siemensDb.UpdateSiemensDbReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.siemensDb.SiemensDbVo; + +public interface ISiemensDbService { + AppServeDataResponse> querySiemensDb(Integer pageIndex, Integer pageSize, QuerySiemensDbReq request); + AppServeResponse addSiemensDb(AddSiemensDbReq request); // 新增西门子DB数据 + AppServeResponse updateSiemensDb(UpdateSiemensDbReq request); // 修改西门子DB数据 + AppServeResponse deleteSiemensDb(String dbName); // 删除西门子DB数据 + AppServeResponse reloadDbAddress(); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IStackerLocationService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IStackerLocationService.java new file mode 100644 index 0000000..565d096 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IStackerLocationService.java @@ -0,0 +1,28 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.dto.serve.stackerLocation.AddManyStackerLocationsReq; +import org.wcs.model.dto.serve.stackerLocation.AddStackerLocationReq; +import org.wcs.model.dto.serve.stackerLocation.QueryStackerLocationReq; +import org.wcs.model.dto.serve.stackerLocation.UpdateStackerLocationReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stackerLocation.QueryStackerLocationVo; + +import java.util.List; + +public interface IStackerLocationService { + + AppServeDataResponse> queryStackerLocation(QueryStackerLocationReq request, Integer pageSize,Integer pageIndex); + AppServeResponse addStackerLocation(AddStackerLocationReq request); //添加货位 + AppServeResponse addStackerLocations(AddManyStackerLocationsReq request); // 批量添加库位 + void downloadStackerLocation(HttpServletResponse response, QueryStackerLocationReq request); // 下载查询的数据 + AppServeResponse updateStackerLocation(UpdateStackerLocationReq request); // 更新货位数据 + AppServeDataResponse> queryStackerLocationListByStackerIdAndLaneId(Integer stackerId, Integer laneId); + AppServeDataResponse> queryStackerLocationLaneList(Integer stackerId); + AppServeDataResponse> queryStackerLocationStackerIdList(); + + + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IStackerService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IStackerService.java new file mode 100644 index 0000000..2178a16 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IStackerService.java @@ -0,0 +1,24 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.stacker.AddOrUpdateStackerStandReq; +import org.wcs.model.dto.serve.stacker.AddStackerReq; +import org.wcs.model.dto.serve.stacker.UpdateStackerInfoReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.stacker.QueryStackerInfoVo; +import org.wcs.model.vo.serve.stacker.QueryStackerStandVo; +import org.wcs.model.vo.serve.stacker.StackerStatusVo; + +import java.util.List; + +public interface IStackerService { + + AppServeDataResponse> queryStackerInfo(String stackerName); // 根据名称模糊查询堆垛机数据 + AppServeResponse addStacker(AddStackerReq addStackerReq); // 添加一个堆垛机数据 + AppServeResponse updateStackerInfo(UpdateStackerInfoReq updateStackerInfoReq); // 更新堆垛机数据 + AppServeDataResponse> queryStackerStand(Integer stackerId); // 根据堆垛机ID查询站台 + AppServeResponse addOrUpdateStackerStand(AddOrUpdateStackerStandReq addOrUpdateStackerStandReq); // 更新或者新增一个堆垛机站台 + AppServeResponse deleteWithStandId(String standId); // 删除一个站台 + + AppServeDataResponse> getStackerRunningInfo(); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IStockComposeTaskService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IStockComposeTaskService.java new file mode 100644 index 0000000..d6ae93b --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IStockComposeTaskService.java @@ -0,0 +1,31 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.dto.serve.stcokComposeTask.AddStockComposeTaskReq; +import org.wcs.model.dto.serve.stcokComposeTask.QueryStockComposeTaskReq; +import org.wcs.model.dto.serve.stcokComposeTask.ReporterTaskStatusReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockComposeTask.AppStockComposeTaskVo; +import org.wcs.model.vo.serve.stockComposeTask.CourseResultVo; + +import java.util.List; + +public interface IStockComposeTaskService { + + AppServeDataResponse> query(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex); + AppServeDataResponse> queryBak(QueryStockComposeTaskReq queryTaskReq, Integer pageSize, Integer pageIndex); + void downLoadTask(HttpServletResponse response, QueryStockComposeTaskReq queryTaskReq); // 下载文件,查询的数据 + void downLoadTaskBak(HttpServletResponse response, QueryStockComposeTaskReq queryTaskReq); // 下载文件,查询的数据 + AppServeResponse addTask(AddStockComposeTaskReq addTaskReq); // 添加任务 + AppServeResponse cancelTask(String taskId); // 取消任务 + AppServeResponse completeTask(String taskId); // 完成任务 + AppServeResponse resetTask(String taskId); // 重置任务 + AppServeResponse reporterTaskCompleted(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报 + AppServeResponse reporterTaskCancel(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报 + AppServeResponse reporterTaskBakCompleted(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报 + AppServeResponse reporterTaskBakCancel(ReporterTaskStatusReq reporterTaskStatusReq); // 任务完成上报 + AppServeDataResponse> queryCourseResult(String taskId); // 查询任务路径 + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IStockScanService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IStockScanService.java new file mode 100644 index 0000000..f66b710 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IStockScanService.java @@ -0,0 +1,22 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.stockScan.AddStockScanReq; +import org.wcs.model.dto.serve.stockScan.QueryStockScanReq; +import org.wcs.model.dto.serve.stockScan.UpdateStockScanReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockScan.AppBaseScanMethodVo; +import org.wcs.model.vo.serve.stockScan.AppStockScanVo; + +import java.util.List; + +public interface IStockScanService { + + AppServeDataResponse> queryStockScan(QueryStockScanReq request,Integer pageSize,Integer pageIndex); // 分页查询相应信息 + AppServeDataResponse> queryStockScan(); + AppServeDataResponse> queryBaseScanMethod(); // 查询基础扫描方法 + AppServeResponse addStockScan(AddStockScanReq request); // 添加扫码信息 + AppServeResponse updateStockScan(UpdateStockScanReq request); // 更新扫码数据 + AppServeResponse deleteStockScan(String stockScanId); // 删除扫码信息 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IStockSingleTaskService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IStockSingleTaskService.java new file mode 100644 index 0000000..43985e8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IStockSingleTaskService.java @@ -0,0 +1,21 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.dto.serve.stockSingleTask.AddSingleTaskReq; +import org.wcs.model.dto.serve.stockSingleTask.QueryStockSingleTaskReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.stockSingleTask.AppStockSingleTaskVo; + + +public interface IStockSingleTaskService { + AppServeDataResponse> query(QueryStockSingleTaskReq request, Integer pageSize, Integer pageIndex); + AppServeDataResponse> queryBak(QueryStockSingleTaskReq request, Integer pageSize, Integer pageIndex); + void downLoadBak(HttpServletResponse response, QueryStockSingleTaskReq request); + AppServeResponse addSingleTask(AddSingleTaskReq request); // 添加单任务数据 + AppServeResponse newPlcTaskId(String taskId); // 产生一个新的 plcTaskId + AppServeResponse updateTaskStatus(String taskId, Integer taskStatus); // 更新任务状态 + AppServeResponse completeTask(String taskId); // 完成任务 + AppServeResponse cancelTask(String taskId); // 取消任务 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/ISystemService.java b/wcs/src/main/java/org/wcs/serve/service/intf/ISystemService.java new file mode 100644 index 0000000..f614239 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/ISystemService.java @@ -0,0 +1,20 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import org.wcs.model.vo.custom.BaseChartsDataItem; +import org.wcs.model.vo.custom.MultilineLineChartData; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.sys.QuerySystemInfoVo; + +import java.util.List; + +public interface ISystemService { + + AppServeDataResponse querySystemInfo(HttpServletRequest request); + SseEmitter acceptInfo(); + AppServeDataResponse> queryStockUsage(HttpServletRequest request); // 查询库存使用情况 + AppServeDataResponse> queryTodayInOutCount(HttpServletRequest request); // 获取今日出入库数量 + AppServeDataResponse> queryDeviceErrorCountDay7(HttpServletRequest request); // 获取近七天设备故障数量 + AppServeDataResponse queryInOutCountDay7(HttpServletRequest request); // 获取近七天出入库数量 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/ITrayConveyLocationService.java b/wcs/src/main/java/org/wcs/serve/service/intf/ITrayConveyLocationService.java new file mode 100644 index 0000000..b8a5b9e --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/ITrayConveyLocationService.java @@ -0,0 +1,20 @@ +package org.wcs.serve.service.intf; + +import jakarta.servlet.http.HttpServletResponse; +import org.wcs.model.dto.serve.trayConveyLocation.AddTrayConveyLocationReq; +import org.wcs.model.dto.serve.trayConveyLocation.QueryTrayConveyLocationReq; +import org.wcs.model.dto.serve.trayConveyLocation.UpdateTrayConveyLocationReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.common.PageDataResponse; +import org.wcs.model.vo.serve.trayConveyLocation.QueryTrayConveyLocationVo; +import org.wcs.model.vo.serve.trayConveyLocation.TrayConveyStatusVo; + +public interface ITrayConveyLocationService { + + AppServeDataResponse> queryTrayConveyLocation(QueryTrayConveyLocationReq request,Integer pageSize,Integer pageIndex); + AppServeResponse addTrayConveyLocation(AddTrayConveyLocationReq request); // 添加 + AppServeResponse updateTrayConveyLocation(UpdateTrayConveyLocationReq request); // 更新数据 + AppServeDataResponse queryTrayConveyStatus(String conveyId); // 查询托盘输送线状态 + void downLoadTrayConveyLocation(HttpServletResponse response, QueryTrayConveyLocationReq request); // 下载点位数据 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IUserGroupService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IUserGroupService.java new file mode 100644 index 0000000..53eab1b --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IUserGroupService.java @@ -0,0 +1,21 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.userGroup.AddUserGroupReq; +import org.wcs.model.dto.serve.userGroup.UpdateGroupPermissionReq; +import org.wcs.model.dto.serve.userGroup.UpdateUserGroupReq; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.userGroup.QueryUserGroupPermissionResp; +import org.wcs.model.vo.serve.userGroup.QueryUserGroupResp; + +import java.util.List; + +public interface IUserGroupService { + + AppServeDataResponse> queryMinLevelUserGroup(); // 查询比自己用户组级别小的用户组 + AppServeDataResponse> queryUserGroupPermission(String userGroup); // 查询用户组权限 + AppServeResponse addUserGroup(AddUserGroupReq addUserGroupReq); // 添加用户组 + AppServeResponse deleteUserGroup(String userGroup); // 删除用户组 + AppServeResponse updateUserGroup(UpdateUserGroupReq updateUserGroupReq); // 删除用户 + AppServeResponse updateGroupPermission(UpdateGroupPermissionReq updateGroupPermissionReq); // 更新用户组的权限 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/intf/IUserService.java b/wcs/src/main/java/org/wcs/serve/service/intf/IUserService.java new file mode 100644 index 0000000..21f911b --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/intf/IUserService.java @@ -0,0 +1,23 @@ +package org.wcs.serve.service.intf; + +import org.wcs.model.dto.serve.user.*; +import org.wcs.model.vo.serve.AppServeDataResponse; +import org.wcs.model.vo.serve.AppServeResponse; +import org.wcs.model.vo.serve.user.LoginResp; +import org.wcs.model.vo.serve.user.QueryUserMenuPermissionSimpleTreeResp; +import org.wcs.model.vo.serve.user.QueryUserResp; +import org.wcs.model.vo.serve.user.UserPermissionResp; + +import java.util.List; + +public interface IUserService { + AppServeDataResponse login(LoginReq loginReq); // 登录校验 + AppServeDataResponse permission(); // 获取权限 + AppServeDataResponse> queryUser(QueryUserReq queryUserReq); // 查询用户 + AppServeResponse logoutUser(String userId); // 登出用户 + AppServeResponse updateUser(UpdateUserReq updateUserReq); // 修改用户信息 + AppServeResponse deleteUser(String userId); // 删除用户 + AppServeResponse createUser(CreateUserReq createUserReq); // 创建用户 + AppServeDataResponse> queryUserMenuPermissionSimpleTree(); // 查找用户菜单权限树 + AppServeResponse updateSelfUser(UpdateSelfUserReq updateSelfUserReq); // 修改自己的信息 +} diff --git a/wcs/src/main/java/org/wcs/serve/service/pub/impl/DeviceService.java b/wcs/src/main/java/org/wcs/serve/service/pub/impl/DeviceService.java new file mode 100644 index 0000000..2e665b8 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/pub/impl/DeviceService.java @@ -0,0 +1,54 @@ +package org.wcs.serve.service.pub.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.factory.PubServeResponseFactory; +import org.wcs.mapper.intf.AppStackerStandService; +import org.wcs.model.bo.tuple.Tuple2; +import org.wcs.model.po.app.AppStackerStand; +import org.wcs.model.vo.pub.PubServeDataResponse; +import org.wcs.model.vo.pub.deveice.ConveyStatusVo; +import org.wcs.plugin.plc.PlcCommunicationFactory; +import org.wcs.plugin.plc.model.TaskConveyStatus; +import org.wcs.serve.service.pub.intf.IDeviceService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppStringUtils; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class DeviceService implements IDeviceService { + + + + private final AppStackerStandService stackerStandDao; // 堆垛机站台表操作类 + + /** + * 查询输送设备状态 + * @param conveyNo 输送设备编号 + * @return 响应 + */ + @Override + public PubServeDataResponse queryConveyStatus(String conveyNo) { + List stackerStands = stackerStandDao.queryStandInfo(conveyNo); + if(stackerStands == null) { + return PubServeResponseFactory.fail("数据服务异常,请稍后再试", null); + } + if(stackerStands.isEmpty()) { + return PubServeResponseFactory.fail("站台不存在", null); + } + AppStackerStand standInfo = stackerStands.getFirst(); + // 这里需要修改 + Tuple2> multiConveyStatusResult = PlcCommunicationFactory.getPlcCommunicationByPlcId(standInfo.getPlcId()).readTaskMultiConveyStatus(conveyNo); + if(AppStringUtils.isNotEmpty(multiConveyStatusResult.item1) || multiConveyStatusResult.item2 == null || multiConveyStatusResult.item2.isEmpty()) { + return PubServeResponseFactory.fail("获取失败,信息:" + multiConveyStatusResult.getItem1(), null); + } + TaskConveyStatus first = multiConveyStatusResult.item2.getFirst(); + ConveyStatusVo conveyStatusVo = new ConveyStatusVo(); + AppBeanUtils.copyProperties(first, conveyStatusVo); + return PubServeResponseFactory.success("SUCCESS", conveyStatusVo); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java b/wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java new file mode 100644 index 0000000..6837684 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java @@ -0,0 +1,203 @@ +package org.wcs.serve.service.pub.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.constant.enums.database.ConveyTaskStatusEnum; +import org.wcs.constant.enums.database.ConveyTaskTypeEnum; +import org.wcs.constant.enums.database.StockComposeTaskStatusEnum; +import org.wcs.constant.enums.database.StockComposeTaskTypeEnum; +import org.wcs.factory.PubServeResponseFactory; +import org.wcs.helper.PlcTaskIdHelper; +import org.wcs.mapper.intf.AppConveyTaskService; +import org.wcs.mapper.intf.AppStockComposeTaskBakService; +import org.wcs.mapper.intf.AppStockComposeTaskService; +import org.wcs.model.dto.pub.AddConveyTaskReq; +import org.wcs.model.dto.pub.AddStockTaskReq; +import org.wcs.model.po.app.AppConveyTask; +import org.wcs.model.po.app.AppStockComposeTask; +import org.wcs.model.po.app.AppStockComposeTaskBak; +import org.wcs.model.vo.pub.PubServeDataResponse; +import org.wcs.model.vo.pub.PubServeResponse; +import org.wcs.model.vo.pub.task.StockTaskDetailVo; +import org.wcs.serve.service.pub.intf.ITaskService; +import org.wcs.utils.AppBeanUtils; +import org.wcs.utils.AppObjectUtils; +import org.wcs.utils.AppStringUtils; +import org.wcs.utils.AppUUIDUtils; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +@Service +@RequiredArgsConstructor +public class TaskService implements ITaskService { + + private final PlcTaskIdHelper plcTaskIdHelper; + private final AppStockComposeTaskService stockComposeTaskService; // 仓库任务服务 + private final AppStockComposeTaskBakService stockComposeTaskBakService; // 仓库任务备份服务 + + private final AppConveyTaskService conveyTaskService; // 箱式线任务服务 + + /** + * 添加仓库任务 + * @param addStockTaskReq 添加仓库任务请求 + * @return 添加仓库任务结果 + */ + @Override + public PubServeResponse addStockTask(AddStockTaskReq addStockTaskReq) { + List stockComposeTasks = stockComposeTaskService.queryByUpperTaskId(addStockTaskReq.getTaskId()); + if(stockComposeTasks == null) { + return PubServeResponseFactory.fail("数据服务异常,请重试"); + } + if(!stockComposeTasks.isEmpty()) { + return PubServeResponseFactory.success("任务已存在,请勿重复添加"); + } + StockComposeTaskTypeEnum composeTaskTypeEnum = StockComposeTaskTypeEnum.getByCode(addStockTaskReq.getTaskType()); + if(composeTaskTypeEnum.equals(StockComposeTaskTypeEnum.UNKNOWN)) { + return PubServeResponseFactory.fail("不允许的任务类型"); + } + AppStockComposeTask insertStockComposeTask = new AppStockComposeTask(); + insertStockComposeTask.setTaskId(AppUUIDUtils.getNewUUID()); + insertStockComposeTask.setTaskGroup(AppStringUtils.isEmptyOr(addStockTaskReq.getTaskGroup(), addStockTaskReq.getTaskId())); + insertStockComposeTask.setUpperTaskId(addStockTaskReq.getTaskId()); + insertStockComposeTask.setTaskType(addStockTaskReq.getTaskType()); + insertStockComposeTask.setOrigin(addStockTaskReq.getOrigin()); + insertStockComposeTask.setDestination(addStockTaskReq.getDestination()); + insertStockComposeTask.setTaskStatus(StockComposeTaskStatusEnum.CREATE.getCode()); + insertStockComposeTask.setStepStatus(StockComposeTaskStatusEnum.CREATE.getCode()); + insertStockComposeTask.setCanCancel(TrueOrFalseEnum.TRUE.getCode()); + insertStockComposeTask.setPriority(addStockTaskReq.getPriority() == null ? 5 : addStockTaskReq.getPriority()); + insertStockComposeTask.setVehicleNo(addStockTaskReq.getVehicleNo()); + insertStockComposeTask.setVehicleSize(addStockTaskReq.getSize() == null ? 0 : addStockTaskReq.getSize()); + insertStockComposeTask.setWeight(BigDecimal.valueOf(addStockTaskReq.getWeight() == null ? 0 : addStockTaskReq.getWeight())); + insertStockComposeTask.setCreateTime(LocalDateTime.now()); + insertStockComposeTask.setUpdateTime(LocalDateTime.now()); + insertStockComposeTask.setTaskSource(addStockTaskReq.getSysName()); + insertStockComposeTask.setCreatePerson("?"); + int insertResult = stockComposeTaskService.insert(insertStockComposeTask); + if(insertResult <= 0) { + return PubServeResponseFactory.fail("数据服务异常,请重试"); + } + return PubServeResponseFactory.success("添加任务成功"); + } + + /** + * 查询仓库任务详情 + * @param taskId 任务ID + * @return 仓库任务详情 + */ + @Override + public PubServeDataResponse queryStockTaskDetail(String taskId) { + /* 检索当前表 */ + List stockComposeTasks = stockComposeTaskService.queryByUpperTaskId(taskId); + if(stockComposeTasks == null) { + return PubServeResponseFactory.fail("数据服务异常,请重试", null); + } + if(!stockComposeTasks.isEmpty()) { + AppStockComposeTask stockComposeTask = stockComposeTasks.getFirst(); + StockTaskDetailVo stockTaskDetailVo = new StockTaskDetailVo(); + AppBeanUtils.copyProperties(stockComposeTask, stockTaskDetailVo); + return PubServeResponseFactory.success("查询任务详情成功", stockTaskDetailVo); + } + /* 检索备份表 */ + List stockComposeTasksBak = stockComposeTaskBakService.queryByUpperTaskId(taskId); + if(stockComposeTasksBak == null) { + return PubServeResponseFactory.fail("数据服务异常,请重试", null); + } + if(!stockComposeTasksBak.isEmpty()) { + AppStockComposeTaskBak stockComposeTaskBak = stockComposeTasksBak.getFirst(); + StockTaskDetailVo stockTaskDetailVo = new StockTaskDetailVo(); + AppBeanUtils.copyProperties(stockComposeTaskBak, stockTaskDetailVo); + return PubServeResponseFactory.success("查询任务详情成功", stockTaskDetailVo); + } + return PubServeResponseFactory.fail("您要找的任务不存在", null); + } + + /** + * 取消仓库任务 + * @param taskId 仓库任务ID + * @return 取消仓库任务结果 + */ + @Override + public PubServeResponse cancelStockTask(String taskId) { + /* 检索当前表 */ + List stockComposeTasks = stockComposeTaskService.queryByUpperTaskId(taskId); + if(stockComposeTasks == null) { + return PubServeResponseFactory.fail("数据服务异常,请重试"); + } + if(stockComposeTasks.isEmpty()) { + return PubServeResponseFactory.success("任务不存在"); + } + AppStockComposeTask stockComposeTask = stockComposeTasks.getFirst(); + if(StockComposeTaskStatusEnum.CANCEL.getCode().equals(stockComposeTask.getTaskStatus())) { + return PubServeResponseFactory.success("任务已取消"); + } + if(stockComposeTask.getCanCancel().equals(TrueOrFalseEnum.FALSE.getCode())) { + return PubServeResponseFactory.fail("任务不允许取消"); + } + int updateRows = stockComposeTaskService.setTaskStatusAndMsgWithOldTaskStatus(taskId, stockComposeTask.getTaskStatus(), StockComposeTaskStatusEnum.CANCEL, "取消任务"); + if(updateRows <= 0) { + return PubServeResponseFactory.fail("数据服务异常,请重试"); + } + // 更新成功,二次校验任务是否真取消 + List stockComposeTasksNew = stockComposeTaskService.queryByUpperTaskId(taskId); + if(stockComposeTasksNew == null) { + return PubServeResponseFactory.fail("数据服务异常,请重试"); + } + if(stockComposeTasksNew.isEmpty()) { + return PubServeResponseFactory.fail("任务校验不存在"); + } + AppStockComposeTask stockComposeTaskNew = stockComposeTasksNew.getFirst(); + if(StockComposeTaskStatusEnum.CANCEL.getCode().equals(stockComposeTaskNew.getTaskStatus())) { + return PubServeResponseFactory.success("任务已取消"); + } + return PubServeResponseFactory.fail("取消任务失败"); + } + + /** + * 添加箱式线任务 + * @param addConveyTaskReq 添加任务数据 + * @return 添加结果 + */ + @Override + public PubServeResponse addConveyTask(AddConveyTaskReq addConveyTaskReq) { + boolean exist = ConveyTaskTypeEnum.isExist(addConveyTaskReq.getTaskType()); + if(!exist) { + return PubServeResponseFactory.fail("任务类型不满足要求"); + } + List conveyTasks = conveyTaskService.queryByTaskId(addConveyTaskReq.getTaskId()); + if(conveyTasks == null) { + return PubServeResponseFactory.fail("数据服务异常,请重试"); + } + if(!conveyTasks.isEmpty()) { + return PubServeResponseFactory.success("任务已存在,请勿重复发送"); + } + Integer plcTaskId = plcTaskIdHelper.newTaskId(); + if(plcTaskId == null) { + return PubServeResponseFactory.fail("数据服务异常,无法生成任务号,请重试"); + } + AppConveyTask appConveyTask = new AppConveyTask(); + appConveyTask.setTaskId(addConveyTaskReq.getTaskId()); + appConveyTask.setTaskGroup(addConveyTaskReq.getTaskGroup() == null ? addConveyTaskReq.getTaskId() : addConveyTaskReq.getTaskGroup()); + appConveyTask.setTaskType(addConveyTaskReq.getTaskType()); + appConveyTask.setOrderId(addConveyTaskReq.getOrderId()); + appConveyTask.setVehicleNo(addConveyTaskReq.getVehicleNo()); + appConveyTask.setLocation(addConveyTaskReq.getLocation()); + appConveyTask.setSize(addConveyTaskReq.getSize()); + appConveyTask.setWeight(BigDecimal.valueOf(addConveyTaskReq.getWeight() == null ? 0 : addConveyTaskReq.getWeight())); + appConveyTask.setLength(BigDecimal.valueOf(addConveyTaskReq.getLength() == null ? 0 : addConveyTaskReq.getLength())); + appConveyTask.setWidth(BigDecimal.valueOf(addConveyTaskReq.getWidth() == null ? 0 : addConveyTaskReq.getWidth())); + appConveyTask.setHeight(BigDecimal.valueOf(addConveyTaskReq.getHeight() == null ? 0 : addConveyTaskReq.getHeight())); + appConveyTask.setTaskStatus(ConveyTaskStatusEnum.CREATED.getCode()); + appConveyTask.setTaskSource(addConveyTaskReq.getSysName()); + appConveyTask.setCreatePerson("?"); + appConveyTask.setCreateTime(LocalDateTime.now()); + appConveyTask.setUpdateTime(LocalDateTime.now()); + int insertRows = conveyTaskService.insertConveyTask(appConveyTask); + return insertRows > 0 ? PubServeResponseFactory.success("添加任务成功") : PubServeResponseFactory.fail("数据服务异常,请重试"); + } + + +} diff --git a/wcs/src/main/java/org/wcs/serve/service/pub/intf/IDeviceService.java b/wcs/src/main/java/org/wcs/serve/service/pub/intf/IDeviceService.java new file mode 100644 index 0000000..f2b7caa --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/pub/intf/IDeviceService.java @@ -0,0 +1,9 @@ +package org.wcs.serve.service.pub.intf; + +import org.wcs.model.vo.pub.PubServeDataResponse; +import org.wcs.model.vo.pub.deveice.ConveyStatusVo; + +public interface IDeviceService { + + PubServeDataResponse queryConveyStatus(String conveyNo); +} diff --git a/wcs/src/main/java/org/wcs/serve/service/pub/intf/ITaskService.java b/wcs/src/main/java/org/wcs/serve/service/pub/intf/ITaskService.java new file mode 100644 index 0000000..1366125 --- /dev/null +++ b/wcs/src/main/java/org/wcs/serve/service/pub/intf/ITaskService.java @@ -0,0 +1,16 @@ +package org.wcs.serve.service.pub.intf; + +import org.wcs.model.dto.pub.AddConveyTaskReq; +import org.wcs.model.dto.pub.AddStockTaskReq; +import org.wcs.model.vo.pub.PubServeDataResponse; +import org.wcs.model.vo.pub.PubServeResponse; +import org.wcs.model.vo.pub.task.StockTaskDetailVo; + +public interface ITaskService { + + PubServeResponse addStockTask(AddStockTaskReq addStockTaskReq); // 添加仓库任务 + PubServeDataResponse queryStockTaskDetail(String taskId); // 查询仓库任务详情 + PubServeResponse cancelStockTask(String taskId); // 取消仓库任务 + + PubServeResponse addConveyTask(AddConveyTaskReq addConveyTaskReq); // 添加箱式线任务 +} diff --git a/wcs/src/main/java/org/wcs/starter/ComponentRegisterStarter.java b/wcs/src/main/java/org/wcs/starter/ComponentRegisterStarter.java new file mode 100644 index 0000000..78aa5df --- /dev/null +++ b/wcs/src/main/java/org/wcs/starter/ComponentRegisterStarter.java @@ -0,0 +1,30 @@ +package org.wcs.starter; + +import jakarta.annotation.Resource; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.wcs.plugin.webHttpClient.WebHttpClient; +import org.wcs.plugin.webHttpClient.intef.IHttpRequestEvent; + +/** + * 组件注册启动类 + */ +@Order(1) +@Slf4j +@Component +@RequiredArgsConstructor +public class ComponentRegisterStarter implements ApplicationRunner { + + @Resource(name = "HttpRequestRecord") + private final IHttpRequestEvent httpRequestRecord; + + @Override + public void run(ApplicationArguments args) throws Exception { + WebHttpClient.registerHttpRequestEvent(httpRequestRecord); // 注册HTTP请求事件 ---- 数据记录器 + + } +} diff --git a/wcs/src/main/java/org/wcs/starter/DataLoaderStarter.java b/wcs/src/main/java/org/wcs/starter/DataLoaderStarter.java new file mode 100644 index 0000000..68b4a2e --- /dev/null +++ b/wcs/src/main/java/org/wcs/starter/DataLoaderStarter.java @@ -0,0 +1,29 @@ +package org.wcs.starter; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.wcs.business.data.intf.IDataLoader; + +/** + * 程序启动时的数据加载类 + */ +@Slf4j +@Order(1) +@Component +@RequiredArgsConstructor +public class DataLoaderStarter implements ApplicationRunner { + + private final IDataLoader dataLoader; + + @Override + public void run(ApplicationArguments args) throws Exception { + /* DB数据加载 */ + dataLoader.loadDBAddress(); // 加载DB地址 + /* API数据加载 */ + dataLoader.loadApiKey(); // 加载API接口基础数据 + } +} diff --git a/wcs/src/main/java/org/wcs/starter/QuartzStarter.java b/wcs/src/main/java/org/wcs/starter/QuartzStarter.java new file mode 100644 index 0000000..57a981c --- /dev/null +++ b/wcs/src/main/java/org/wcs/starter/QuartzStarter.java @@ -0,0 +1,60 @@ +package org.wcs.starter; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.wcs.constant.enums.common.TrueOrFalseEnum; +import org.wcs.mapper.intf.AppQuartzConfigService; +import org.wcs.model.po.app.AppQuartzConfig; +import org.wcs.plugin.quartz.QuartzComponent; +import org.wcs.utils.AppThreadUtils; + +import java.util.List; + +/** + * 定时任务启动类 + */ +@Slf4j +@Order(9) +@Component +@RequiredArgsConstructor +public class QuartzStarter implements ApplicationRunner { + + private final QuartzComponent quartzComponent; + private final AppQuartzConfigService quartzConfigService; + + + @Override + public void run(ApplicationArguments args) throws Exception { + quartzComponent.scanQuartzJob(); + AppThreadUtils.startNewThread(() -> { + while (true){ + List quartzConfigs = quartzConfigService.queryAll(); + if(quartzConfigs == null) { + AppThreadUtils.sleep(3000); + continue; + } + quartzComponent.getQuartzJobBeans().forEach(quartzJobBean -> { + List configs = quartzConfigs.stream().filter(appQuartzConfig -> appQuartzConfig.getClassName().equals(quartzJobBean.getJobName())).toList(); + if(configs.isEmpty()) { + return; + } + AppQuartzConfig appQuartzConfig = configs.getFirst(); + if(appQuartzConfig.getStatus() != TrueOrFalseEnum.TRUE.getCode()) { + return; + } + boolean createJobResult = quartzComponent.createQuartzJob(quartzJobBean, appQuartzConfig.getCron()); + if(!createJobResult) { + log.error("定时任务创建失败;{}", quartzJobBean.getJobName()); + return; + } + log.info("定时任务启动成功:{} 描述:{}", quartzJobBean.getJobName(), appQuartzConfig.getJobDesc()); + }); + return; + } + }); + } +} diff --git a/wcs/src/main/java/org/wcs/utils/AppBeanUtils.java b/wcs/src/main/java/org/wcs/utils/AppBeanUtils.java new file mode 100644 index 0000000..db523bc --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppBeanUtils.java @@ -0,0 +1,61 @@ +package org.wcs.utils; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; + +public class AppBeanUtils { + + /** + * 判断对象所有属性是否为空 ? + * @param obj 对象 + * @return 结果 + */ + public static boolean isAllPropertyNull(Object obj) { + if (obj == null) { + return true; + } + for (java.lang.reflect.Field field : obj.getClass().getDeclaredFields()) { + field.setAccessible(true); + try { + if (field.get(obj) != null) { + return false; + } + } catch (IllegalAccessException e) { + return false; + } + } + return true; + } + + + + /** + *

带回调参数的集合数据的拷贝

+ * + * @param sources 数据源类 + * @param target 目标类::new (eg: UserVO::new) + * @return List List + */ + public static List copyListProperties(List sources, Supplier target) { + List list = new ArrayList<>(sources.size()); + for (S source : sources) { + T t = target.get(); + copyProperties(source, t); + list.add(t); + } + return list; + } + + /** + * BeanCopy + * @param source 源对象 + * @param target 目标对象 + */ + public static void copyProperties(T source, V target) { + if (source == null || target == null) { + return; + } + org.springframework.beans.BeanUtils.copyProperties(source, target); + } +} diff --git a/wcs/src/main/java/org/wcs/utils/AppDataBaseTransUtils.java b/wcs/src/main/java/org/wcs/utils/AppDataBaseTransUtils.java new file mode 100644 index 0000000..72efb72 --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppDataBaseTransUtils.java @@ -0,0 +1,34 @@ +package org.wcs.utils; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.support.DefaultTransactionDefinition; + +@Component +@RequiredArgsConstructor +public class AppDataBaseTransUtils { + + private final PlatformTransactionManager transactionManager; + + /** + * 执行一个事务方法 + * @param baseTran 事务类 + * @return 执行结果 + */ + public boolean useTran(Runnable baseTran) { + DefaultTransactionDefinition def = new DefaultTransactionDefinition(); + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); + TransactionStatus status = transactionManager.getTransaction(def); + try { + baseTran.run(); + transactionManager.commit(status); + return true; + } catch (Exception e) { + transactionManager.rollback(status); + return false; + } + } +} diff --git a/wcs/src/main/java/org/wcs/utils/AppListUtils.java b/wcs/src/main/java/org/wcs/utils/AppListUtils.java new file mode 100644 index 0000000..83b3e11 --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppListUtils.java @@ -0,0 +1,46 @@ +package org.wcs.utils; + +import java.util.ArrayList; +import java.util.List; + +public class AppListUtils { + + /** + * byte[] 转 List + * + * @param list 待转换的byte[] + * @return 转换后的List + */ + public static List transfer(byte[] list) { + List bytes = new ArrayList<>(); + for (byte b : list) { + bytes.add(b); + } + return bytes; + } + + /** + * List 转 byte[] + * + * @param list 待转换的List + * @return 转换后的byte[] + */ + public static byte[] transfer(List list) { + byte[] bytes = new byte[list.size()]; + for (int i = 0; i < list.size(); i++) { + bytes[i] = list.get(i); + } + return bytes; + } + + /** + * List 转 String + * + * @param list 待转换的List + * @return 转换后的String + */ + public static String listObjectToSting(List list) { + return list.stream().map(AppStringUtils::objectToString).collect(java.util.stream.Collectors.joining(",")); + } + +} diff --git a/wcs/src/main/java/org/wcs/utils/AppObjectUtils.java b/wcs/src/main/java/org/wcs/utils/AppObjectUtils.java new file mode 100644 index 0000000..85771cf --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppObjectUtils.java @@ -0,0 +1,20 @@ +package org.wcs.utils; + + +public class AppObjectUtils { + + /** + * 检查是否满足条件,满足条件则返回转换的值,否则返回0 + * @param check 条件 + * @param str 待转换的字符串 + * @return 转换的值 + */ + public static Integer stringToInteger(boolean check, String str) + { + if(check) { + return AppStringUtils.toIntegerOrDefault(str, 0); + } + return 0; + } + +} diff --git a/wcs/src/main/java/org/wcs/utils/AppStringUtils.java b/wcs/src/main/java/org/wcs/utils/AppStringUtils.java new file mode 100644 index 0000000..d6c7dc4 --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppStringUtils.java @@ -0,0 +1,220 @@ +package org.wcs.utils; + +import ch.qos.logback.core.util.MD5Util; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.TypeReference; +import org.wcs.model.bo.tuple.Tuple2; + +import java.util.Base64; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class AppStringUtils { + + private static final Pattern pattern = Pattern.compile("-?[0-9]+(\\\\.[0-9]+)?"); + + + /** + * 判断字符串是否为空 + * @param str 字符串 + * @return 结果 + */ + public static boolean isEmpty(String str) { + return str == null || str.isEmpty(); + } + + /** + * 判断字符串是否不为空 + * @param str 字符串 + * @return 结果 + */ + public static boolean isNotEmpty(String str) { + return !isEmpty(str); + } + + /** + * 去除空格 + * @param str 字符串 + * @return 结果 + */ + public static String trim(String str) { + return str == null ? "" : str.trim(); + } + + /** + * 判断字符串是否为空或空格 + * @param str 字符串 + * @return 结果 + */ + public static boolean isNullOrEmptyChar(String str) { + String ts = trim(str); + return isEmpty(ts); + } + + /** + * 判断字符串是否为空或空格,如果是则返回默认值 + * @param str 字符串 + * @param defaultValue 默认值 + * @return 结果 + */ + public static String isEmptyOr(String str, String defaultValue) { + return isEmpty(str) ? defaultValue : str; + } + + /** + * 判断字符串是否为整数,不是则返回默认值 + * @param str 字符串 + * @param defaultValue 默认值 + * @return 结果 + */ + public static Integer toIntegerOrDefault(String str, Integer defaultValue) { + if (isNullOrEmptyChar(str)) { + return defaultValue; + } + try { + return Integer.parseInt(str); // 待改进 + } catch (Exception e) { + return defaultValue; + } + } + + /** + * 判断字符串是否为整数 + * @param str 字符串 + * @return 结果 + */ + public static boolean isNumber(String str) { + if (isNullOrEmptyChar(str)) { + return false; + } + Matcher m = pattern.matcher(str); + return m.matches(); + } + + /** + * 填充字符串长度到固定长度,超出的自动舍弃 + * @param str 源字符串 + * @param length 长度 + * @param fillChar 填充字符 + * @return 结果 + */ + public static String toFixLength(String str, int length, char fillChar) { + if(isEmpty(str)) { + return String.valueOf(fillChar).repeat(length); + } + + if(str.length() >= length) { + return str.substring(0, length); + } + return str.concat(String.valueOf(fillChar).repeat(length - str.length())); + } + + + /** + * 加密密码 + * @param pwd 要加密的密码 + * @return 加密后的密码 + */ + public static String encryptPwd(String pwd){ + if(isEmpty(pwd)) { + return null; + } + String returnString = ""; + try { + MD5Util md5Util = new MD5Util(); + while (returnString.length() < 255) { + String encryptPwd = isEmpty(returnString)? pwd : returnString; + byte[] md5Hash = md5Util.md5Hash(encryptPwd); + String encoded = Base64.getEncoder().encodeToString(md5Hash); + returnString = returnString.concat(encoded.replaceAll("\\W", "")); + } + return returnString.substring(0, 255).toUpperCase(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + /** + * 强制转换字符串为int,(去掉非数字,控制长度),转换失败返回0 + * @param str 字符串 + * @return int + */ + public static int forceToInt(String str) { + if(isEmpty(str)) { + return 0; + } + String replaceStr = str.replace("\\D", ""); + if(!isNumber(str)) { + return 0; + } + if(replaceStr.length() >= 9) { + replaceStr = replaceStr.substring(replaceStr.length() - 9, 9); + } + return Integer.parseInt(replaceStr); + } + + /** + * 强制转换字符串为short + * @param str 字符串 + * @return short + */ + public static short forceToShort(String str) { + if(isEmpty(str)) { + return 0; + } + String replaceStr = str.replace("\\D", ""); + if(!isNumber(str)) { + return 0; + } + if(replaceStr.length() >= 5) { + replaceStr = replaceStr.substring(replaceStr.length() - 5, 5); + } + return Short.parseShort(replaceStr); + } + + + /** + * 获取哈希码 + * @param str 字符串 + * @return 结果 + */ + public static String getHashCode(String str) { + return String.valueOf(str.hashCode()); + } + + /** + * 对象转字符串 + * @param obj 对象 + * @return 转换结果 + */ + public static String objectToString(Object obj) { + if (obj == null) { + return ""; + } + return JSON.toJSONString(obj); + } + + /** + * 字符串转对象 + * @param str 字符串 + * @param clazz 类 + * @return 转换结果 + */ + public static T stringToObject(String str, Class clazz) { + if (str == null) { + return null; + } + return JSON.parseObject(str, clazz); + } + + + + public static T stringToObjectWithType(String str, Class clazz) { + if (str == null) { + return null; + } + return JSON.parseObject(str, new TypeReference(){}); + } + + +} diff --git a/wcs/src/main/java/org/wcs/utils/AppThreadUtils.java b/wcs/src/main/java/org/wcs/utils/AppThreadUtils.java new file mode 100644 index 0000000..52701ef --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppThreadUtils.java @@ -0,0 +1,52 @@ +package org.wcs.utils; + +import java.util.List; +import java.util.concurrent.CountDownLatch; + +public class AppThreadUtils { + + /** + * 线程休眠 + * + * @param millis 毫秒数 + */ + public static void sleep(long millis) { + try { + Thread.sleep(millis); + } catch (InterruptedException ignored) { + } + } + + /** + * 启动新线程 + * + * @param runnable 线程任务 + */ + public static void startNewThread(Runnable runnable) { + new Thread(runnable).start(); + } + + /** + * 等待所有任务完成 + * + * @param runnables 任务列表 + */ + public static void waitAllTaskComplete(List runnables) { + CountDownLatch countDownLatch = new CountDownLatch(runnables.size()); + for (Runnable runnable : runnables) { + new Thread(() -> { + try { + runnable.run(); + } catch (Exception ignored) { + } finally { + countDownLatch.countDown(); + } + }).start(); + } + try { + countDownLatch.await(); + } catch (InterruptedException ignored) { + } + } + +} diff --git a/wcs/src/main/java/org/wcs/utils/AppTimeUtils.java b/wcs/src/main/java/org/wcs/utils/AppTimeUtils.java new file mode 100644 index 0000000..801ffc3 --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppTimeUtils.java @@ -0,0 +1,62 @@ +package org.wcs.utils; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; + +/** + * 时间工具类 + */ +public class AppTimeUtils { + + /** + * 格式化时长 + * @param uptimeMillis 时长 + * @return 格式化后的时长 + */ + public static String formatDuration(long uptimeMillis) { + long seconds = uptimeMillis / 1000; + long days = seconds / (3600 * 24); + long hours = (seconds % (3600 * 24)) / 3600; + long minutes = (seconds % 3600) / 60; + return String.format("%d天%d小时%d分钟", days, hours, minutes); + } + + /** + * 格式化时间 + * @param localDateTime 时间 + * @return 格式化后的时间 + */ + public static String formatLocalDatetime(LocalDateTime localDateTime) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + return localDateTime.format(formatter); + } + + /** + * 格式化时间 + * @param localDate 时间 + * @param pattern 格式 + * @return 格式化后的时间 + */ + public static String formatLocalDatetime(LocalDate localDate, String pattern) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + return localDate.format(formatter); + } + + /** + * 获取今天结束时间 + * @return 今天结束时间 + */ + public static LocalDateTime getTodayEndTime() { + return LocalDateTime.of(LocalDate.now(), LocalTime.MAX); + } + + /** + * 获取今天开始时间 + * @return 今天开始时间 + */ + public static LocalDateTime getTodayStartTime() { + return LocalDateTime.of(LocalDate.now(), LocalTime.MIN); + } +} diff --git a/wcs/src/main/java/org/wcs/utils/AppUUIDUtils.java b/wcs/src/main/java/org/wcs/utils/AppUUIDUtils.java new file mode 100644 index 0000000..7380100 --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/AppUUIDUtils.java @@ -0,0 +1,32 @@ +package org.wcs.utils; + +public class AppUUIDUtils { + + + private static long lastTime = 0L; + private static short lastCount = 0; + private static final int APP_ID = 1; + + /** + * 生成唯一识别号 + * @return 生成的唯一号码 + */ + public synchronized static String getNewUUID() { + /* 经测试,单线程情况下生成UUID一万个约为50毫秒,不存在重复的UUID */ + while (true) { + long thisTime = System.currentTimeMillis(); + if(lastTime == thisTime) { + lastCount ++; + if(lastCount > 9999) { + lastCount = 10000; + continue; + } + } else { + lastTime = thisTime; + lastCount = 0; + } + return thisTime + String.format("%02d", APP_ID) + String.format("%04d", lastCount); + } + } + +} diff --git a/wcs/src/main/java/org/wcs/utils/SpringUtils.java b/wcs/src/main/java/org/wcs/utils/SpringUtils.java new file mode 100644 index 0000000..40231e5 --- /dev/null +++ b/wcs/src/main/java/org/wcs/utils/SpringUtils.java @@ -0,0 +1,45 @@ +package org.wcs.utils; + +/* + * @desc:提供非SPRING管理类调用管理类的功能 + * 注意在服务启动的时候进行import,apllication中引入 + */ +import lombok.Getter; +import lombok.NonNull; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + + +public class SpringUtils implements ApplicationContextAware { + + //获取applicationContext + @Getter + private static ApplicationContext applicationContext = null; + + @Override + public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException { + + if(SpringUtils.applicationContext == null){ + SpringUtils.applicationContext = applicationContext; + } + System.out.println("---------------------------------------------------------------------"); + System.out.println("========ApplicationContext配置成功,,applicationContext="+SpringUtils.applicationContext+"========"); + System.out.println("---------------------------------------------------------------------"); + } + + //通过name获取 Bean. + public static Object getBean(String name){ + return getApplicationContext().getBean(name); + } + + //通过class获取Bean. + public static T getBean(Class clazz){ + return getApplicationContext().getBean(clazz); + } + + //通过name,以及Clazz返回指定的Bean + public static T getBean(String name,Class clazz){ + return getApplicationContext().getBean(name, clazz); + } +} diff --git a/wcs/src/main/resources/application-dev.yml b/wcs/src/main/resources/application-dev.yml new file mode 100644 index 0000000..424e4a3 --- /dev/null +++ b/wcs/src/main/resources/application-dev.yml @@ -0,0 +1,41 @@ +spring: + # 开发环境数据库 + datasource: + url: jdbc:mysql://127.0.0.1:3306/wcs?characterEncoding=utf8&useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + # jdbc.url=jdbc:mysql://localhost:3306/imoocdemo?useUnicode=true&characterEncoding=utf8&useSSL=false&&serverTimezone=CST + username: root + password: Root123456 + driver-class-name: com.mysql.cj.jdbc.Driver + # 开发环境Redis配置 + data: + redis: + # 连接地址 + host: "localhost" + # 端口 + port: 6379 + # 数据库 + database: 7 + # 用户名,如果有 + # username: + # 密码,如果有 + # password: + # 连接超时 + connect-timeout: 5s + # 读超时 + timeout: 5s + # Lettuce 客户端的配置 + lettuce: + # 连接池配置 + pool: + # 最小空闲连接 + min-idle: 0 + # 最大空闲连接 + max-idle: 8 + # 最大活跃连接 + max-active: 8 + # 从连接池获取连接 最大超时时间,小于等于0则表示不会超时 + max-wait: -1ms +server: + port: 9970 + servlet: + context-path: /api/wcsdev diff --git a/wcs/src/main/resources/application-prod.yml b/wcs/src/main/resources/application-prod.yml new file mode 100644 index 0000000..79d2e4f --- /dev/null +++ b/wcs/src/main/resources/application-prod.yml @@ -0,0 +1,37 @@ +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/wcs?characterEncoding=utf8&useSSL=false + username: root + password: Root123456 + data: + redis: + # 连接地址 + host: "localhost" + # 端口 + port: 6379 + # 数据库 + database: 7 + # 用户名,如果有 + # username: + # 密码,如果有 + # password: + # 连接超时 + connect-timeout: 5s + # 读超时 + timeout: 5s + # Lettuce 客户端的配置 + lettuce: + # 连接池配置 + pool: + # 最小空闲连接 + min-idle: 0 + # 最大空闲连接 + max-idle: 8 + # 最大活跃连接 + max-active: 8 + # 从连接池获取连接 最大超时时间,小于等于0则表示不会超时 + max-wait: -1ms +server: + port: 9980 + servlet: + context-path: /api/wcs diff --git a/wcs/src/main/resources/application-test.yml b/wcs/src/main/resources/application-test.yml new file mode 100644 index 0000000..e69de29 diff --git a/wcs/src/main/resources/application.yml b/wcs/src/main/resources/application.yml new file mode 100644 index 0000000..d77d306 --- /dev/null +++ b/wcs/src/main/resources/application.yml @@ -0,0 +1,30 @@ +spring: + application: + name: wcs + version: 1.0.0 + profiles: + active: dev # 激活开发环境配置 + servlet: + multipart: + max-file-size: 100MB + max-request-size: 100MB +logging: + config: classpath:logback.xml + +############## Sa-Token 配置 (文档: https://sa-token.cc) ############## +sa-token: + # token 名称(同时也是 cookie 名称) + token-name: Wcstoken + # token 有效期(单位:秒) 默认30天,-1 代表永久有效 + timeout: 28800 + # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结 + active-timeout: 1860 + # 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录) + is-concurrent: false + # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token) + is-share: true + # token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik) + token-style: uuid + # 是否输出操作日志 + is-log: true + diff --git a/wcs/src/main/resources/logback.xml b/wcs/src/main/resources/logback.xml new file mode 100755 index 0000000..81864e1 --- /dev/null +++ b/wcs/src/main/resources/logback.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + ${LOG_HOME}/info/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log + 10MB + + 366 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + INFO + ACCEPT + DENY + + + + + + ${LOG_HOME}/warning/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log + 10MB + + 366 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + WARNING + ACCEPT + DENY + + + + + + ${LOG_HOME}/error/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log + 10MB + + 366 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + ERROR + ACCEPT + DENY + + + + + + ${LOG_HOME}/debug/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log + 10MB + + 366 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + DEBUG + ACCEPT + DENY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wcs/src/test/java/org/wcs/WcsApplicationTests.java b/wcs/src/test/java/org/wcs/WcsApplicationTests.java new file mode 100644 index 0000000..53dcd92 --- /dev/null +++ b/wcs/src/test/java/org/wcs/WcsApplicationTests.java @@ -0,0 +1,34 @@ +package org.wcs; + +import HslCommunication.Core.Types.ActionOperateExTwo; +import HslCommunication.ModBus.ModbusTcpServer; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import java.io.IOException; + +@SpringBootTest +class WcsApplicationTests { + + @Test + void contextLoads() { + + ModbusTcpServer server = new ModbusTcpServer(); + server.OnDataReceived = new ActionOperateExTwo(){ + public void Action(Object sender, Object[] args) { + + } + }; + server.OnDataSend = new ActionOperateExTwo(){ + public void Action(Object sender, Object[] args) { + + } + }; + try { + server.ServerStart(502); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + +} diff --git a/wcs_web/.gitignore b/wcs_web/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/wcs_web/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/wcs_web/README.md b/wcs_web/README.md new file mode 100644 index 0000000..519787a --- /dev/null +++ b/wcs_web/README.md @@ -0,0 +1,33 @@ +# wcs_web + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. + +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` diff --git a/wcs_web/env.d.ts b/wcs_web/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/wcs_web/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/wcs_web/index.html b/wcs_web/index.html new file mode 100644 index 0000000..11acad7 --- /dev/null +++ b/wcs_web/index.html @@ -0,0 +1,41 @@ + + + + + + + 仓储控制系统 + + +
+ + + + diff --git a/wcs_web/package-lock.json b/wcs_web/package-lock.json new file mode 100644 index 0000000..6034c17 --- /dev/null +++ b/wcs_web/package-lock.json @@ -0,0 +1,5071 @@ +{ + "name": "wcs_web", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wcs_web", + "version": "0.0.0", + "dependencies": { + "@chenfengyuan/vue-barcode": "^2.0.2", + "@chenfengyuan/vue-qrcode": "^2.0.0", + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.8.4", + "echarts": "^6.0.0", + "element-plus": "^2.9.7", + "jsbarcode": "^3.12.1", + "moment": "^2.30.1", + "pinia": "^3.0.1", + "pinia-plugin-persistedstate": "^4.2.0", + "print-js": "^1.6.0", + "qrcode": "^1.5.4", + "ts-md5": "^1.3.1", + "vue": "^3.5.21", + "vue-i18n": "^11.1.12", + "vue-json-pretty": "^2.5.0", + "vue-json-viewer": "^3.0.4", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vitejs/plugin-vue-jsx": "^4.1.2", + "@vue/tsconfig": "^0.7.0", + "npm-run-all2": "^7.0.2", + "typescript": "~5.8.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz", + "integrity": "sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.27.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz", + "integrity": "sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.27.0", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@chenfengyuan/vue-barcode": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@chenfengyuan/vue-barcode/-/vue-barcode-2.0.2.tgz", + "integrity": "sha512-lHQhYfcqWeeA/UYoe4O+O6c8WD+t9WO8SiWohKOVVIiwPhcvC58YxhvlFvJme0/CPL7+Sh1XCpMaC9Mo2Dt5jQ==", + "license": "MIT", + "peerDependencies": { + "jsbarcode": "^3.11.0", + "vue": "^3.0.0" + } + }, + "node_modules/@chenfengyuan/vue-qrcode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@chenfengyuan/vue-qrcode/-/vue-qrcode-2.0.0.tgz", + "integrity": "sha512-33Cfr0zjbc3Dd8d5b1IgzXRAgXH0c2Gv19VI4snS25V/x9Z41eg769tC+Us1x+vqgQQhgD5YUjLnkpkrQfeMSw==", + "license": "MIT", + "peerDependencies": { + "qrcode": "^1.5.0", + "vue": "^3.0.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@intlify/core-base": { + "version": "11.1.12", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-11.1.12.tgz", + "integrity": "sha512-whh0trqRsSqVLNEUCwU59pyJZYpU8AmSWl8M3Jz2Mv5ESPP6kFh4juas2NpZ1iCvy7GlNRffUD1xr84gceimjg==", + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "11.1.12", + "@intlify/shared": "11.1.12" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "11.1.12", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.12.tgz", + "integrity": "sha512-Fv9iQSJoJaXl4ZGkOCN1LDM3trzze0AS2zRz2EHLiwenwL6t0Ki9KySYlyr27yVOj5aVz0e55JePO+kELIvfdQ==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "11.1.12", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "11.1.12", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.12.tgz", + "integrity": "sha512-Om86EjuQtA69hdNj3GQec9ZC0L0vPSAnXzB3gP/gyJ7+mA7t06d9aOAiqMZ+xEOsumGP4eEBlfl8zF2LOTzf2A==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nuxt/kit": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.16.2.tgz", + "integrity": "sha512-K1SAUo2vweTfudKZzjKsZ5YJoxPLTspR5qz5+G61xtZreLpsdpDYfBseqsIAl5VFLJuszeRpWQ01jP9LfQ6Ksw==", + "license": "MIT", + "dependencies": { + "c12": "^3.0.2", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.3", + "errx": "^0.1.0", + "exsolve": "^1.0.4", + "globby": "^14.1.0", + "ignore": "^7.0.3", + "jiti": "^2.4.2", + "klona": "^2.0.6", + "knitwork": "^1.2.0", + "mlly": "^1.7.4", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "semver": "^7.7.1", + "std-env": "^3.8.1", + "ufo": "^1.5.4", + "unctx": "^2.4.1", + "unimport": "^4.1.3", + "untyped": "^2.0.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@nuxt/kit/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz", + "integrity": "sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz", + "integrity": "sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz", + "integrity": "sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz", + "integrity": "sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz", + "integrity": "sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz", + "integrity": "sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz", + "integrity": "sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz", + "integrity": "sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz", + "integrity": "sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz", + "integrity": "sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz", + "integrity": "sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz", + "integrity": "sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz", + "integrity": "sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz", + "integrity": "sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz", + "integrity": "sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz", + "integrity": "sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz", + "integrity": "sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz", + "integrity": "sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz", + "integrity": "sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz", + "integrity": "sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.1.tgz", + "integrity": "sha512-VkgOa3n6jvs1p+r3DiwBqeEwGAwEvnVCg/hIjiANl5IEcqP3G0u5m8cBJspe1t9qjZRlZ7WFgqq5bJrGdgAKMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.16", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz", + "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "22.14.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", + "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", + "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-4.1.2.tgz", + "integrity": "sha512-4Rk0GdE0QCdsIkuMmWeg11gmM4x8UmTnZR/LWPm7QJ7+BsK4tq08udrN0isrrWqz5heFy9HLV/7bOLgFS8hUjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.7", + "@babel/plugin-transform-typescript": "^7.26.7", + "@vue/babel-plugin-jsx": "^1.2.5" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.12.tgz", + "integrity": "sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.12" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.12.tgz", + "integrity": "sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.12.tgz", + "integrity": "sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.12", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.4.0.tgz", + "integrity": "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.4.0.tgz", + "integrity": "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "@vue/babel-helper-vue-transform-on": "1.4.0", + "@vue/babel-plugin-resolve-type": "1.4.0", + "@vue/shared": "^3.5.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.4.0.tgz", + "integrity": "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/parser": "^7.26.9", + "@vue/compiler-sfc": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.21.tgz", + "integrity": "sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@vue/shared": "3.5.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.21.tgz", + "integrity": "sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.21", + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.21.tgz", + "integrity": "sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@vue/compiler-core": "3.5.21", + "@vue/compiler-dom": "3.5.21", + "@vue/compiler-ssr": "3.5.21", + "@vue/shared": "3.5.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.18", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.21.tgz", + "integrity": "sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.21", + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.5.tgz", + "integrity": "sha512-HYV3tJGARROq5nlVMJh5KKHk7GU8Au3IrrmNNqr978m0edxgpHgYPDoNUGrvEgIbObz09SQezFR3A1EVmB5WZg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.5" + } + }, + "node_modules/@vue/devtools-core": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.7.5.tgz", + "integrity": "sha512-ElKr0NDor57gVaT+gMQ8kcVP4uFGqHcxuuQndW/rPwh6aHWvEcUL3sxL8cEk+e1Rdt28kS88erpsiIMO6hEENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.5", + "@vue/devtools-shared": "^7.7.5", + "mitt": "^3.0.1", + "nanoid": "^5.1.0", + "pathe": "^2.0.3", + "vite-hot-client": "^2.0.4" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.5.tgz", + "integrity": "sha512-S9VAVJYVAe4RPx2JZb9ZTEi0lqTySz2CBeF0wHT5D3dkTLnT9yMMGegKNl4b2EIELwLSkcI9bl2qp0/jW+upqA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.5", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.5.tgz", + "integrity": "sha512-QBjG72RfpM0DKtpns2RZOxBltO226kOAls9e4Lri6YxS2gWTgL0H+wj1R2K76lxxIeOrqo4+2Ty6RQnzv+WSTQ==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.8.tgz", + "integrity": "sha512-rrzB0wPGBvcwaSNRriVWdNAbHQWSf0NlGqgKHK5mEkXpefjUlVRP62u03KvwZpvKVjRnBIQ/Lwre+Mx9N6juUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^1.0.3", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.21.tgz", + "integrity": "sha512-3ah7sa+Cwr9iiYEERt9JfZKPw4A2UlbY8RbbnH2mGCE8NwHkhmlZt2VsH0oDA3P08X3jJd29ohBDtX+TbD9AsA==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.21.tgz", + "integrity": "sha512-+DplQlRS4MXfIf9gfD1BOJpk5RSyGgGXD/R+cumhe8jdjUcq/qlxDawQlSI8hCKupBlvM+3eS1se5xW+SuNAwA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.21", + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.21.tgz", + "integrity": "sha512-3M2DZsOFwM5qI15wrMmNF5RJe1+ARijt2HM3TbzBbPSuBHOQpoidE+Pa+XEaVN+czbHf81ETRoG1ltztP2em8w==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.21", + "@vue/runtime-core": "3.5.21", + "@vue/shared": "3.5.21", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.21.tgz", + "integrity": "sha512-qr8AqgD3DJPJcGvLcJKQo2tAc8OnXRcfxhOJCPF+fcfn5bBGz7VCcO7t+qETOPxpWK1mgysXvVT/j+xWaHeMWA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.21", + "@vue/shared": "3.5.21" + }, + "peerDependencies": { + "vue": "3.5.21" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.21.tgz", + "integrity": "sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/alien-signals": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", + "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/birpc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.3.0.tgz", + "integrity": "sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c12": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.0.3.tgz", + "integrity": "sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.3", + "confbox": "^0.2.2", + "defu": "^6.1.4", + "dotenv": "^16.4.7", + "exsolve": "^1.0.4", + "giget": "^2.0.0", + "jiti": "^2.4.2", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^1.0.0", + "pkg-types": "^2.1.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001714", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001714.tgz", + "integrity": "sha512-mtgapdwDLSSBnCI3JokHM7oEQBLxiJKVRtg10AxM1AyeiKcM96f0Mkbqeq+1AbiCtvMcHRulAAEMu693JrSWqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "license": "MIT", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-pick-omit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/deep-pick-omit/-/deep-pick-omit-1.2.1.tgz", + "integrity": "sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==", + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "license": "MIT" + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/echarts": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-6.0.0.tgz", + "integrity": "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.138", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.138.tgz", + "integrity": "sha512-FWlQc52z1dXqm+9cCJ2uyFgJkESd+16j6dBEjsgDNuHjBpuIzL8/lRc0uvh1k8RNI6waGo6tcy2DvwkTBJOLDg==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.7.tgz", + "integrity": "sha512-6vjZh5SXBncLhUwJGTVKS5oDljfgGMh6J4zVTeAZK3YdMUN76FgpvHkwwFXocpJpMbii6rDYU3sgie64FyPerQ==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", + "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/errx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/errx/-/errx-0.1.0.tgz", + "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==", + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exsolve": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz", + "integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "license": "MIT", + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/ignore": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", + "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsbarcode": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/jsbarcode/-/jsbarcode-3.12.1.tgz", + "integrity": "sha512-QZQSqIknC2Rr/YOUyOkCBqsoiBAOTYK+7yNN3JsqfoUtJtkazxNw1dmPpxuv7VVvqW13kA3/mKiLq+s/e3o9hQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.2.0.tgz", + "integrity": "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==", + "license": "MIT" + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.18", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz", + "integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", + "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-7.0.2.tgz", + "integrity": "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0", + "npm": ">= 9" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nypm": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.0.tgz", + "integrity": "sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "pathe": "^2.0.3", + "pkg-types": "^2.0.0", + "tinyexec": "^0.3.2" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/open": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.1.tgz", + "integrity": "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pinia": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.2.tgz", + "integrity": "sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persistedstate": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.2.0.tgz", + "integrity": "sha512-3buhA7ac+ssbOIx3VRCC8oHkoFwhDM9oHRCjo7nj+O8WUqnW+jRqh7eYT5eS/DNa3H28zp3dYf/nd/Vc8zj8eQ==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.14.1592", + "deep-pick-omit": "^1.2.1", + "defu": "^6.1.4", + "destr": "^2.0.3" + }, + "peerDependencies": { + "@pinia/nuxt": ">=0.9.0", + "pinia": ">=2.3.0" + }, + "peerDependenciesMeta": { + "@pinia/nuxt": { + "optional": true + }, + "pinia": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz", + "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.1", + "exsolve": "^1.0.1", + "pathe": "^2.0.3" + } + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/print-js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/print-js/-/print-js-1.6.0.tgz", + "integrity": "sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==", + "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz", + "integrity": "sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.40.0", + "@rollup/rollup-android-arm64": "4.40.0", + "@rollup/rollup-darwin-arm64": "4.40.0", + "@rollup/rollup-darwin-x64": "4.40.0", + "@rollup/rollup-freebsd-arm64": "4.40.0", + "@rollup/rollup-freebsd-x64": "4.40.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.0", + "@rollup/rollup-linux-arm-musleabihf": "4.40.0", + "@rollup/rollup-linux-arm64-gnu": "4.40.0", + "@rollup/rollup-linux-arm64-musl": "4.40.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.0", + "@rollup/rollup-linux-riscv64-gnu": "4.40.0", + "@rollup/rollup-linux-riscv64-musl": "4.40.0", + "@rollup/rollup-linux-s390x-gnu": "4.40.0", + "@rollup/rollup-linux-x64-gnu": "4.40.0", + "@rollup/rollup-linux-x64-musl": "4.40.0", + "@rollup/rollup-win32-arm64-msvc": "4.40.0", + "@rollup/rollup-win32-ia32-msvc": "4.40.0", + "@rollup/rollup-win32-x64-msvc": "4.40.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT" + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT" + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", + "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-md5": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-1.3.1.tgz", + "integrity": "sha512-DiwiXfwvcTeZ5wCE0z+2A9EseZsztaiZtGrtSaY5JOD7ekPnR/GoIVD5gXZAlK9Na9Kvpo9Waz5rW64WKAWApg==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "license": "MIT" + }, + "node_modules/unctx": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.4.1.tgz", + "integrity": "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17", + "unplugin": "^2.1.0" + } + }, + "node_modules/unctx/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-4.2.0.tgz", + "integrity": "sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.12", + "unplugin": "^2.2.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.2.tgz", + "integrity": "sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "picomatch": "^4.0.2", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "license": "MIT", + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/untyped": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-2.0.0.tgz", + "integrity": "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "defu": "^6.1.4", + "jiti": "^2.4.2", + "knitwork": "^1.2.0", + "scule": "^1.3.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz", + "integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.3", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.12" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-hot-client": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.0.4.tgz", + "integrity": "sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", + "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.3", + "debug": "^4.3.7", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.1.1", + "sirv": "^3.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.5.tgz", + "integrity": "sha512-cSlQYI1E+8d0qubBg70suTBbXMFbTHLn7vLPYUPK9GjNNJ0nw+Yks0ZLOAp7/+PjmqSpN5fK1taor6HeAjKb1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.7.5", + "@vue/devtools-kit": "^7.7.5", + "@vue/devtools-shared": "^7.7.5", + "execa": "^9.5.2", + "sirv": "^3.0.1", + "vite-plugin-inspect": "0.8.9", + "vite-plugin-vue-inspector": "^5.3.1" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz", + "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.21.tgz", + "integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.21", + "@vue/compiler-sfc": "3.5.21", + "@vue/runtime-dom": "3.5.21", + "@vue/server-renderer": "3.5.21", + "@vue/shared": "3.5.21" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-i18n": { + "version": "11.1.12", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.1.12.tgz", + "integrity": "sha512-BnstPj3KLHLrsqbVU2UOrPmr0+Mv11bsUZG0PyCOzsawCivk8W00GMXHeVUWIDOgNaScCuZah47CZFE+Wnl8mw==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "11.1.12", + "@intlify/shared": "11.1.12", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-i18n/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-json-pretty": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/vue-json-pretty/-/vue-json-pretty-2.5.0.tgz", + "integrity": "sha512-nZA6qXYaiMaE2J0HkKtkrLcPJoN03SDSBdZWEPiRwoOVySWOfoZCyadhBwBN6wAHTga+c/R49ExGWoKFXnu37A==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0", + "npm": ">= 5.0.0" + }, + "peerDependencies": { + "vue": ">=3.0.0" + } + }, + "node_modules/vue-json-viewer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/vue-json-viewer/-/vue-json-viewer-3.0.4.tgz", + "integrity": "sha512-pnC080rTub6YjccthVSNQod2z9Sl5IUUq46srXtn6rxwhW8QM4rlYn+CTSLFKXWfw+N3xv77Cioxw7B4XUKIbQ==", + "license": "MIT", + "dependencies": { + "clipboard": "^2.0.4" + }, + "peerDependencies": { + "vue": "^3.2.2" + } + }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.8.tgz", + "integrity": "sha512-jBYKBNFADTN+L+MdesNX/TB3XuDSyaWynKMDgR+yCSln0GQ9Tfb7JS2lr46s2LiFUT1WsmfWsSvIElyxzOPqcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.11", + "@vue/language-core": "2.2.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "license": "MIT" + }, + "node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-6.0.0.tgz", + "integrity": "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/wcs_web/package.json b/wcs_web/package.json new file mode 100644 index 0000000..fe1827d --- /dev/null +++ b/wcs_web/package.json @@ -0,0 +1,45 @@ +{ + "name": "wcs_web", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build" + }, + "dependencies": { + "@chenfengyuan/vue-barcode": "^2.0.2", + "@chenfengyuan/vue-qrcode": "^2.0.0", + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.8.4", + "echarts": "^6.0.0", + "element-plus": "^2.9.7", + "jsbarcode": "^3.12.1", + "moment": "^2.30.1", + "pinia": "^3.0.1", + "pinia-plugin-persistedstate": "^4.2.0", + "print-js": "^1.6.0", + "qrcode": "^1.5.4", + "ts-md5": "^1.3.1", + "vue": "^3.5.21", + "vue-i18n": "^11.1.12", + "vue-json-pretty": "^2.5.0", + "vue-json-viewer": "^3.0.4", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vitejs/plugin-vue-jsx": "^4.1.2", + "@vue/tsconfig": "^0.7.0", + "npm-run-all2": "^7.0.2", + "typescript": "~5.8.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } +} diff --git a/wcs_web/public/favicon.ico b/wcs_web/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e4f291d5692a2890ea1277df46f1efdad00213f5 GIT binary patch literal 4286 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 JTy-n_e*w$k%K-oY literal 0 HcmV?d00001 diff --git a/wcs_web/public/image/app/warehouseBackground.png b/wcs_web/public/image/app/warehouseBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..2524f9fbe061f1bd46580d77aa41f67cd7e49c35 GIT binary patch literal 3741724 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

p`tP7SMGDo)XzD7qZl57x&VDp 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 $1>SA1C;-7R|04Yf?HjBbpyqb}8Smm4YgV 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%0D_vMu95LKBxNsI*TFU$Rqy>EX@vZtD^x=ze^5qqo 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®0Mic%aVi0eypHJ^@1)2W*FmCP?GQB~k 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¿!B~9Kg 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�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

%%{&LJOFW+g*9qjh#LGpaB1}re%OlsvFi�HJPzI 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

n!a0&T-v4!!1}^JN^EpX!Z`} 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/!y;I z(zI!=%Lr}5V_Fc_?eHFeV{?gad95i`LHRWg&Fpji-L)7tjk&E6qj)Q35iLT)GBDfa z#3`BIPv!br&Y@w*Sscv46S`P(-RmNg&xHB*=Z&udXk=QEw#4ARB(B0!bHd<%m;37Ijc5O>R}>(p}z+nLH3m`3ly! zjN(XMv8_-6laCo^`&ED=r5%a1Quku-Hl=D8OSesJtRpueW>9Z^RvnNz84-ai2rtD0 z%;Oc##@$w3Smx(({rtkPFnt;u`sT*ONNbaB+tH>|Szw>l>RcL$layJeT_TCCIHEE` z_sU2A%DE7j z2T{N{59&ugo=trA_SZ{ZhoR`yN~ZjFp0zPEpwKA$QuvqBn73uNN<%IO-BP^N%xX2I zJo3`OUIp4BPfkTg${%O(H0>H^L*(n6t!Xm*_^%ssQTAVCZsnvaV5hmQ#=)eQa0$H< zy%O1r_Mj>lXv(A5U9vmleH?F*29migy<5_8At?Z!l!DR5;p?43|~@%)N&BESg-6=F1m2D>u>t-DCj|S*L6LmhjiHk zt!9!8iFhE!Xm`ur;(%1iKc~XXWHg6me52bs05W> zuvh6r*sFAuF82$g0$z>MP=Zh=jz#skVqTrX*H9$bjjIrf8Nb+;-_C%jtZ@ULGUe_T zmXQs#Vu*=m98wx0PsxUqPSFyA(ObKVcz~Bz_-v)eqRo5#IRmUS@vP#@UV>S$G0_rw z)sHu(eF}!8391oDAC=Kw|7L&v>G;3?if3Qr+wXUO`VKF?jPamUW+6Mwm38~0}5uJ(z#!DFw*ZrgG{qt`x-rmKZ z{~mw;1;75--M-d%t2{zRz}OpH$~C|QDIs)j4FXd>ehg@XYaF>nXohpUzPQhnV~d%J zJHH%;f{!S6H?Ogml|0E^-_*Lq5kdq7%!K(tCgDMJXWF3`6Vi@$8lYYL?f&7ztKF|Z z?tlEI|L)JbKYzb__82!2p_3pUI1y>+3_uq=b#sA_!OrsaOEem$p#E$+|6Zq1$l*i?*22_jHI=t|#Q zCYts=NTvanU>5rpNk8fxKtZn?VX{ybe_(8*enE>Rt{>PtK_%}^p!5VHhZRGm9pe~ zEOZSMgpIgkS&e`Kld3B=U}>ITM*zqI59exCVK%c#0flR-R}J!O9$hgtz@0$FlSIu^4Z_YNT#o3 zHZe*NE|QIG(EzL&Ijb&)jn-sqy?6RFu$)p3CtB|28gAvz@>?@)^Strsv*`fMgV|Cb zs70_9Ea_jfC2bEO(pWa~9q(~d<@k-Q$wN+dC0AEuo{3&ZG|3v~6k|~vlb45!8H_5L zDMxeMq!71B0b{0CR7g>20BpO=>tb;RKkLF-^3K|3l|XEtu3P%U7UZ4#?1 z?`A{!&oPT4*3bSVB4*W)T}6>h+gEy29_I`x$R;+DxvWJV-{3(2?M#Ydyh(DgU<{wb z!@4l$9Qt#Z-^4_JZp=>*uEkKB&=8SQ+ds$73aV0<$+b5TuhI0SuYER&YA?B5Bom;T z?^~ow*GV5tHFaIuU-0TWTwK_*Z}o7!yS$YBUR717F=0F&-`#SIGR82Ty3@eZ$YdZi zjABTHiJ|LM#Uf)GlVZ2u9oWUL4+F)Fps^F{s4y^@BBf5d9s!B&rKd0g;%y6001Wbm zDhM4#ld5Rfb-SQ_+#Mun--rG6BV0eSVN7FWOuN%tj-w4D;s_=fIuR>2s*NpciagNk z1aP`7^UORSqCWiTt@mfv=G3y$sS%1;5V$DtIt%aua$>pwQ0YXdDiSErU7y30&0>s+ z1ks7=IPmV{!~IF6LmYd=-8gnCr{V~+98VyCD&aOScj7`wTCzm4)17$^hvYzG6;+jF z3K9e@ke;M1o)M1X5l7~>v;6)Ry&Z|^-qFeHwgJZWt@h!~tEGPHZK`|PjGVVA)0wSz z+h1L4p3O}q7eMFsS%xbxZt`jPGBVjQE&lpS*q!iEv&y4J8pJZuBOp>fRuG9~P$iQh z_#|7gn^{T}kY?0SIs`ScyydXd$zPUXUj9MZQ=em5NJ`#+lHPJ8XdwDP1lu3F-Cn6Y zoj6KhKnh5D|KY6~Wf<-5o)4!kM(yL;JZZ)mPkKzbN7ry(YvWs0Y8u=TmtwfORvKHVa1Ry=bDc!5%WY_fxih~+RdZZ$?(On3$1{KeT#5S8!y ztZH2uSfWUqi!UOHy zD=s&MSL2qMB0OQTP3>>WI17Po<|c5yOy=`yTjbi64#&!(M^Em+`g{UIBk{KIt^|VK zxUjL+G^Zeg7UwU`db=9U2k%2s~-6pt()(X1bB7J#YrO#$;_38V#C(3bqK*#J1_QcwlGpzEYd`og4_{zAfq z>Q05Ai48m4TN={wK8+u95qp@xlJBsJNSEqHl3l|W@?p*0qNNhvb_uQCx7OzV$dv~q zOT!XQCCl$|#_4NlaW$7^G+u;zft@&j-~I^djgE zdH{Qo0L(jyrt%&!luwB0jJc~XFWDRx>&-|~Mu7J6@ zQ-a_eEOC%l7tTfMnBuJ`{TqkG0U*URz_b&H5+=EIouUQl%rwX zlL-u+Atf*+d^qZxJN@;C`0kB-czyWzzPtN?cuXCm!oo*|N%EMDK!TQ()&&7ov}e~@ z*o}ur_T;%g%-n>sQU&_mu z>DOQI?)TkrVmu}Nz+ht-m`22uOAU@uMJ<(j00z*2C@?QkINQ3Jo}-hy)U`V&XIT`o zMt}~OPA>``1u*3Y1UY7Z8O zn>XR@+x_@Kd6)Q+d=QRkVcCTKoimt zc90l*0xCmh#TJZdW~p&Ir@;v60igB#W%c8X=U_>p&1EI%Hu(UXrUO+#Ca1Q{Ie)Yl z?NvM5T|k7QKtdc4A0(av59uC8ns`7xc#?8(YETT6mgK< zGOX4Arzwj~H9B4=dOgjjTqdSPXP&$V$Qv-R#wH|rbDWw@+pbGQU}*-oQq)w+ay=Vo zit@ZktI-FFLmGM+64bQ)`{h;OdS{76BdD{B&DbGyY07%*QJV-U3P6Pr`?{H#ei8+&yfe2?<|UfPB>GkvCQtfCDTn6BDsJ+OVQ@Si>FOm zT&(C_7}K&cbFK<7@$vQ9S!kXchwF1!qb8xXL1g}xio zQ9ISHvjmv*q*_Xvg16))NF~&?hv?WJxZm;WDqbFVeYwB6K3re*`<)!Vlw^7u^mxMQ zh|?(zC&skDk1Q9=%u=lqlIb~<5XhavIXr!Q_1!<&F{YpX&il7arm88W62?j81WA|G z>-Z(7ne=1}5fRbG9xckGy@*0P2_3Wx-LBj1x~`)h0JAiv@yOu;!_kf>8&1UFEzFf} zBvz7<1&382UZ>8~ymRD~c$yK|C4ZEJ21j^$(!8lw5MkvwH<(Eab0tE%St3(V*5m_`3wAG#n+aY*AJH0|~#Y8nKFI0_-! znFiI4B$+r4VCuR~x_vaHG={$G!wweHI0V(M>j;gYb|FSfV?1=dg2q8a#{SXau#4j{ zp6+@vhK{>~b%(C&RJ9K>e7qe#d=N|h?sB)kfF7AlqDdCEgVz>Fq80um+0-iFTy)9! z5PF3eXh=v=lgQPLJbp}-`1|kO{Raq5RnU_OVqn+oz9U|V3eAFUv+3&tQgv-=y)Rq1 z-5!}dc#2}8S5M^mi+DQT|L`C7{-xK>7`-VTyiS9qOoEnDXnSlIpit?_q->~=0HuWC zl#NT|>OneNR~^%9@|A^8i>g`jxkD>c`OXvqQiqZzj3)bC>SIW22-j~-Vq0|zp2^ug zb7gWn{mu&iTrQ$6sC+JX@Kc?PNT3Q*Tn!EsIo4-usJ&NbO3GrJFx#m*x5;xe14t2u zC+y1B&*CsH(wf$N76H5@jOCj`Ftj@|eXC6*$nvd`6bmf{mSRmYG^Cp|H%6Hl<}sx{ z|N2|wxi1X_^9VXer19D%jyb7n#U+YdM37lU5t+Gav?O!RAm$FLT~67^_@8D^x~lQK6nknLJ@uNXN-OXknho>+wPu&{f2)5dF!9+OxR6)DoSW{rv6M!Na#1WB zo?4c(%j(0qytb?X0xaSdIVm8{x$?-(BQ3vM8+O`pK6TB>=4AMC2mom3FP!~48^;Y# z%G8*5oGNB&StXWiq7NQX9i$`o!fOpTp}QLOQY06&0-~mq#A8Uqz&FNdHYPifso2Ct zq-&XPcBWv)ty)aeGyai=@U}-_=?*{%(9B$_pjAOEgG2V~y-qLs+eMiA z&6WZ{UayVqoyurjZC|5}$|B>~4kl zL`;!11*_l$Ohi&cpi}^(7eaQ&kWr~%P`LG7!`&+xUt|2(aR*Bz&8vJ1I%R;Igb-1tFhuawolZO*@%~-BeaV|AeEOn$ z`aFF3l-Jj>-&v)XEJQrdOt&X_c!c;#Lx@ zaB`I{6l*F)$ZHx^u_c27gszW z3Zf)-NhBZ%Oi7_a1z`t0AtVNJ-)Y?MhOdAp`{VbQ{fqtZ@>Tlj<^8KS-R)}~dP%`# z*ms6FV7yO+A+X0tJ=(a-VnFm@2ajbCF)}pbV}e068Q4D@d3wvc6K>z*<9ob&qi??L zpFTT%`@DMrxy0}y$&+5b`woA(=HI_Q{oDVPUw+uV`>E4gkHMvBOdYzB!T|sS7#x_% zMp!>>P;HE@CHhr5R5mtIhVvJ>+G|cf&#oHASa2Z!8|I%gFd7pF=D?1i2t7b*XBI7u zA{1Dl0WcARM0lL((i7m7$E1Xk*86aIQD#pA%M#9OCN!5mA(9tGQdUx9xw79>A!|pk z_g@EKi~wr1SNnP^I5rv-vl*#KH7*R;I?vnxyjo7niq=)Oppk%*>kofbbrGSQF=sYHgA%%E*w#9a zn}?VFX+2YieDm@R-`L9bnG)=_T5S8)@{^7ag`HQ8QHAvAEr64-m9v~#s#;a#Z*p0( zmMg548)OPKZMIu;+R37d0IO$rx*AugWSL|s|80ra)OnUh)z3de-YR6!;O!*nmusb9 zx9{dPq6k^rk4^hgoDEW57g?ZgHV|Y`Os~q6rx>;;d4@!_lAq1xr`5>YSDnP_nI>E} zW4_6B#2`5ZYGXdlP>s!_Mnh#B$X{vZY$f&C1R)hjqNMR&zyT)uO7}hQbnOYLd=#Ns2)sht1Za6lFlSCbSyQQ@S(|ZgG?&5NHeHr!#cO)}K8?Af)hU17+hQp1>qmHylJ;gYj;&6!|YQ8 z)k%$+sO6jnU=(K7lM|vLfRci)?qO3<04ce-zdDt(XsJvBp#}irwLLRDvnXW(={l&Y zb|whBgQ`wBsQ?j4##0na@FokTGOydPtYia7q0!7qOOEynez(Nr1)^5;uJ@&wo&bpC zNCjy&PB00;d2?5%HGilH(yas`Upjkd-KQ2#I@UMmUtAFCa|iSsPuw&Eu{frr*vE?| zB#PjKeuATj!1Fn+M#E1zMCEE|lshM^rFaWfVpbDwwu;Fi;cq1`(yN3OGrbrPl8ARL zm!M)Pgc7l4;w1z~)tr^9?mrQ95=~xgz z1d?)$sv#&XTL2^kY9PQ`%F@A$w2708E%3_9%$2#th2B)T^B)t%GoDYH$b$EkXI4=l zi@9y$&v`*B$7uSJs%xh{sYQ+` z}!k2?@>K)UW63fU| z?P|83z_jW~>L|Nb|30shAfLn~(Tzhuie=KPCZ<`>w)HgD!}?mz9TKh-s;%?5?m6fi zxD;a+o!#=)L=Lp06g>+w2H?d{nnDpif0AwcuB?Q5xomMON~7`BfV0MH*!&=~PK!Vd zK4^-@t+z!99dQ5vAOJ~3K~zR2H&5mPnhk^n=lv?~qB@6C1U{>rm7aS;nC+^Ktl=!n zQ?NwZ)m|_Ew0=FGeRHvk)0obRw&+G%TVeJIrMbVet`{{V_bhT&-HMY%2q{d9D>w&?^Ge1iXwDvy)z$0=R@DjS^YPTI9E+kk&Jz*V)Si>N8o%qVsE;ET0wI zwpe-l@aCT;G~oQ0)aohq`3=mdVy}-=>}k{dH*+}_{<|j5z=H$S>4|u8izy`51l(Hw z5`gRM1)#AXH9)91W>w5zP53haZyz|nl~$bkx_*qRx!^#qWhVrLnlx3jPezphKtoc< zPUL`aDdAG}Qe{u=cDh4~Vn@cK;UU_6N_Ub5-xrqPww#<+^zni=WJ$?euVO7ToVhu1 zt4|1r0)KKzlLf(#8?#?iM0!z4X#_-7f>Q?b$W96w(C_rB(>=OFkjq_vbLeg)^ny;L z7j)S|t0n^D7}If#_rrKQrVlaQjdpLAl086-l1xlc>ilCS7Lr^4aX=7sss{-N zmAz=E*a_7m|C9o+z)?`8$zUvkx9W;q%n0UZ;5m=7njrTH$$<*7(21FtnR)3r2q3Cz zWU-}IIYC889E~ZZkz-64VtOzRfF)&)K+6S~Rgl0Xc|tihvbEPFRRutYRNMesYSFs` zk|UClL^9wWp7AJx<0v8$)I%vTe3au`zSZMz|6}*~g?{r-`2H{9`){wldWJ8qa2<}_ zC_7~WPKFT>P<1$T*azGk_{G!o{5!n;-roM+z5NC6U-ABZI^8Refo3p@nRW&XMu#I) z6huu)j-w49b{`=9wf+2edGcIde8U%CU=Sn&_njR&`SMbp zUiHtuz%SpWm+$Sj|FjRU^zL=fd(mN(lxcfXSW+7ilf@(?T&Z^JgvZF{06;Gpk-0a{ zm^{i3)P1rH*vZyWmCN!gFqJPZ0tiST&C)cLumFjmw*gF$APMY^DoMLeOjE?iK~A?1 zZ(a_+{Dxm%g>Sy!efMJb)nhz5$VF$N>UpjeC$khIp?gWzjpz)aBX(ksaB;oYM=#QM zkJI>8Z{hw8#)p*NOE@V5<2{%}sS0Jlm`lQFv06F~ZMzdMD4X`SmyWkN+6|^WXU9SH6GK z5BCT|+U=k~^477$Exfy(U!o#HIsn9`ZGG-CZWlLkCS zRN6ON{^aUqUXag8gfs6l7752SdwWYI0E+%!k68VX|EtIf^sIYSTkC1-aGsa6>XN5( z-Kx0L{F_|x`TN;TQL}n zuSjiUgOxVv&u`Nr+nCra#^RIn&oLh&TCx&F-BDZLUltkr3`v9oPTacTUL`LVH-Er? zU{g`Ilsv$kx6bJQ8FJg|cq{(3v;@^ppR<7c0dD)Ln`hW4CVjG=bn%)i0stu*LsW&R z3WG5~1lk*tgh;o~2?aygS$EL>iR|}je~^nyy}8=mT<}CXYd+Z!o8`@ zCb;9u+yvs|B}Oqp8Z8P%c(mxv0(N`b?X^2-=tQ)C^mHeLm|2YDaeTNRP7i4~CF>+Y zqbWpPr?g1ZAS1m2xp@?wS2dT83V363R@F(+;A2a#r|ggkg@R+6(1ZG@p2{W(5Qua= zL`1uwopv3xlb{046$uDhge6!4lUY=%z+e;_nESO$j=uv%a`nFrWYuh+IZvN?KD(t1 z0klU+su#1_zFEcT*_Ginm5pl-+R8o9^5w(Xy zs;H>f2~mODUwwiU2!e?wfT2UzcPbh^Wr|>Lu&xup%py`mOk@n&g|K5x$wrDu9784% zNno8`S{hiGyW^2r>atHR+ZJ1eOqQUah@_Z;m#PyJGba$47!_Bc8)1vm)S4#zCsvrZ zn6Un#zF?^NzEw1Q0XKN)f0h+i{g3_(v|HMl_aY%(Kc|m4tFj{@j2=6>QgLVv3hQ zSp2nmI=5%IrZ#>jy9b&%k)&tnX1fc)#pt8 zMo%$vUTmPFl4K36Rs8-JY|x6hJ%N}(4@gBWPw(A-?cVS7gnk=4XR z&VePzH(-WT&BH!7pVJg5(9Q=-0G?ZKM$P3C%Aq?8%z2z?ez%N?W{5Rcsoa((WFZ67 zA=-!l5OGPZe#=RsHN&eL1lQVQ6Svh+fZUN2vq-hAqgS?fhkoGC>_{A0`yAt0(woomhK?hLrEI#9pZ`OJ<>h-V0uh8 zB&3cz0F;si%^aseAHQg~i*;>+0&`ihAs|wgtYy~<4y?t+NvD`a^eQ_@PI+-`3vPQ+ zfTkX{kOHV3dqq&`_uXZ`dlGgxs+X!)ogO+lusGmILJ}n=p3H_ZzKZcU#M@!K9nweR zi5LNzWLLj4L+1wIRElHT&&(!gaQK5)t3Wm2ny!U5{n-JlnXASD{J|-$#Oc{FpQE(f z&8%v!l8r6_kOcQYT6t8#PM{*aN~hYZ9H71EPP7+~e zp%DYeS9g5(3xD|^;fJsHU;k1L1K!%1;ksNj`(;R-~ML5{*BL` zcTc|LH-F*fL2j;W7eX&Vr8hH+yBK1RA;k2*S$nf>IdUXhY;OZR;!K=}9ICo?`)XKP z`V0O42k1f4y6UdV%1UOEOp=G^M1(tR>j8tqJv^A%()D7UjPQWN0fWJ2Gep>{fj6(> z+n2k~NB;W@z58eS`S1MnJ{&$l_X!8#1RF@I$W@7=kx0{o5$?#Pu#1H#WolcrRP8e|i zQHMu<_$B<~#qPT|S3mrC^ZK>DdCr}Az-UEJ3)}_Zz!am2CP92iRxWSNH>_1E!-nfJg%7rd*ata!6X8rcF;-g&FOT z&7c7jrxdE^~dUTao%eRVmv-uJ+lo{dyN}-$$y> z`zj;QkrRt`ggZ`x?GPdYVZnCSOhbYxjl#$rHNC(PsnkzX&0DG%+p&sERDNZuoA0kn z0~8<_LW^i<&o-vl>joRTX(3qTw~VR_M@tI=n1!k$5EVMe66#o$5S_*Uul+rnmIbTj z-$N~1`0e)V=!8vYPCrNQ%#{lf=K>fyNX`WSP$N$B=N6u?4e1yOvQFt}+FoORRcUT| z@hmr=nZ2ZSx%g7VqKN`$DXqD;?d+@m%1V^4muXhCmNF354#5)iu52M}5@eZFOH{q^ z_G-96^$u=pO0yPJes2!fHq=?1DyT8W$)#uf?W0M`Fqc-+Z~2ngkjCRU)FL!Cps_dBlg!hy_!kE zati&1-P#o0>)6k;pG})x7Fgly?WVbzi)M=s&u4eudD|vgMPIbZcC6W$vM5`ZFGJ2L z+};+wDpKgcVy7&W`8t@+*0x;SrI|RJBl{IB51#q*aZZ36#ZV#9ow0R`hA$tqe7;G& z=XFx%*jBT(yx+MTtfEGR(%B(}S{iMuIv0A_F65a--4~$SW<3_R)xWrvmQz5tn&&OM zy_P#H%q8#GoIEZd+0KnL3x>gS)?aW24}e{PgB!zDoQ624rC zAFi*%)!p#o`JI`8U%!5xj;HB()ObQVA)V6WR~@Ha8U;Abh5!ahDY++ad?B-owvSRS zA3Y@OV(K~x3UojhJuVVMvGTwW@ab{mzhIwg)~Wm5;ve24(@ z@w*72dMJxep zK;{yKX*`ZT9gdo&!9Abjh~!99nkF*@mC}_AgAI|v;8A`ekdRaOZ0q1sNJ7)omvkX>XWu=bTQZU0A{`XfKu!@`z z>LVp`gX?ptH`68OX#&U?-nP~GVEhb}{Sq@v2upk@M_DiTaoc@OT2tH3TQhD3;bs5L6GdCa%$oK3c|R+B>Y zj11*W*|HgPpEXIQ{HN9E${GRCD8xc;FNG-T8?iw0#T_m;*EteoO4K{%&l_Z>v@i!P z<%HJrO0y_+f*Q*fP*_=KM)sm?0wsWEH4$_hi=F#g+k9$qvxis*pe1$e*icS*Z*Qxy z0<%Z3{-S(1KpV^wjZ6Qm$!aQZ*)(_pJ#pI-4_5b~-eQFFaN*XQE(hD4Un~|q2RsL( z5e7qa02VM1k=n^_V0&%^;(prbEwce-aGps}Q4CD}bQ3yu!{CP0! z%&zz0W(ZeT;f2M0h}Q_$h&$uX1f(PkfQ!j-O#YD4mvOour^i$J#dUHWCmlrx-D&yg zm%O(9+OecrRUlM#iOwOn0)Kt#{3#z0rM&uCg>e&scJbnUJ4 z;WZSBG28{j>>J7=hLhYI_r}O@MF!)}IFJDhxr3au-bCNJeRC*zJ8!z!t9=0(>z(us zIGc>@(tNwC?S(40bk3%>7n%Uvgh*M)N!v2_bnMZh70rwXg7Ba{g=XaqO~fB_0fj%1*L1QV|IoE+)1-hWD; z{`v5?e;@zvzr;7+h5!1$#ka5d{Y$^TQix$dk|&Kg?d5PeDBKXcz2CjGA70?|GyL|> z-~XCEy-&Y?2*=0hr`>dzhRG;F$l1-J*qpdkAYL=$95GP&Qx@`;(sM-+6)}DmEeIscs+~2* zhH^;;AS=*VmjIJ3qHS}-n|?D_U`oJZTcVn_2$*n;q@JF zcjL}zNW_#xNLC8R5QJMu3J7)_oi^^`@ohXkd!4?2HvaSs|NI^Qc%JS*rqAz(@$-#?!xqSFd(&-`L+@^QZrFc>nWo_;4B@Q#xTcASP&nPf?swI~!gw z!K=tpq@29BvhbP~i^!&Bd25fhHUG#21~0|x*Y{Z|16j_IDg-TuCOB}?G{OxUVCJ?1 zf#F(Vk93lc^kjL(8ZBGVs+rPd(`pe`QKi)~k3uKb4yt*Y%dt0>KfB(04YU0BOl&GC zCCeDhzK3k^7#x+y>nrU2C5G?JLV(Ud$Ft?%u*dI5+OtYn4-HQ^P7?Jb%i?--_}2+asxO zYO8Z``aNs^_EN6wEb|tYnwe%+AWOn&Z46kaWvv`7wJYziZuWxI`C8R^W}@Kr*M2ay z!@e#;sh?x>>n?7kKa^!r3*8qDc2TIkZI+9=ao_W*!L}vqzxPGbO9|ffFXw7-57>fx z3+_a$Ykph^RNB%}zp=B{mWUc?;@<>pF(EE~oTc;rrI|ALnFV&qWzU!C?7fAA^8e4; zwQ1%ejomKz(}Zg-**bd)i_=P~Mafv#3thMsx?QOav^2sus*$ZUje2vf6_g2X0ftMH zM4iRP#Ah1CV!AC9u?zoN^qk4WmN9E{c&qDt9p~dwmv-X`)Z&<(W!W7aO(!v(9=2C1p2* z<_01prD99Tre(`El~lZyp5YiU$>k|Y7{*7paQYh3E^@aY_P19zx5F^p?C-D#0?gnV z$FE<*;m;86!fp zdL;zQoXGQ`3+|fSeaAp0N%^GeOk@K%W*cECRmft9DY5RwX4JykzClUO?l*U0zcMTD z#ex7f;bCDqDV6?Y7SG;NMC|jytT1G?(Q?nTRFDTY6V|!u=44B69eG}D=Wjr%;pb8+ z*c3UeqcauwjmXPrB#j1l5pXZIA0X@8-C$ZTMbPM9XAF_DJ~LY?_D0JznF&x}qyVQ0 zLWm4NAQ;jFg)}8f3{fyLf&n{V7-Xg-h8Xrc#=)lKr?J$TACH(uD=JD-3Qk~3!I4d( zvRqG%5=(4K2<}c=2)h#;Ofsh@I$;a|jPgb5^9I3O2{u`WUHU+kE&c8RRZ;C$XDKZ# z^r9ZHwYhhV%dL&(%eS+0nV?4-kgneTyAm=BE?4*4O87j#Rvf1%K26cveD+-GF88hM z^VY0Cs0DC%Zwd_kAzbHdaqC*Eb^S1S_HdQYL0r@*SG}E2P-o#+=WM-6^;sCb1hiTi z`CMDsR4UKA*eZbkN7wmEb!5j))?w>Z!tUPgLxp<@5GL5tWbrdHETY3 z=_KR6eWsSIZWS(}+I4Qre%5%nVngRIs)HvuZ;h2S+k?G)W-Yt_=PuInM!Dn#*K%H$ zC|LVd%lJIyg#D&!sX$@g_ysVzf7jv_y}q^Nq%9<+R^!{C09_byPu{z$pY`h3{M0!z zEaZnRn!K&1^%{qiI?LgTWh@g^+WD~UMh6jL#ku-D*pI3RhfBzyr9m{OcPQ$JWlNbVi!P5>+rKub=lKecKiYXvHAlS(7c zXHf|hit5~WmI#|;!b(XjV$S=|)_sx^g9)r>Vo3mujHJ>)x50)OuWh)C;mHv0cJX=_ zU*wtw6G%iDD3>2$llzqX;WT|YO&?F==P}(+=`i6d;55&QEo4asSioYMl2b`Q&1TWr zx>qOE@;bvJ#~Dpf%_ZM>{?A=K{Qr!o+}c=E&9Zr}Cybfz&jAoK4Xn$G;(ey%2}ooJ zj?AfvNZZ4%&2ED2$Up`nl6DOVL?s1Uvxb=(EY)Xq zu>FR5+uGOe9BQ&+03er;+QDjO=APWAQ4T*$(=qwMb#k9%bS6NcXX!NWzBTj9F^rN- zy@kO`(qnD5jF`!6--!rzXUW&L)e|Nl0RiSYl^l$46)5Kzc!LL!(MKf^HUQ2^`t)(U zKlr8zwX}tuzPxa*cn2=4KP6m$CvtbmGH({P3XLYyahmzkF@4zVjE~ z;mHf#Tpf3D5QC${{E-R>A*7c9&z|7BEBou)_>bS?Pw%E*em=hcHGcj3lpd2POs>i4 z**eD<=#&$l!zPrY6{zxySFP{Q#%)Ug7r_%@d$q2B=@AjvQyv7GBt6yCZ__ZF@FJ2 zl_63VnE_O>qkUagoxDUTnvlKP(N?KhR#401Ru1N(=OcYQ37TjooDlbjdklMo9j1fQ z0eMa) zHRN!q#y0}j==DtD4Rbz7xnCrJPG$JEl-6B_wh`$wKOny8`(MavUAr!mY@G#0GerOZ zAOJ~3K~y(il}2o)y_GT7W^+0Y39wY8EsA<=o!{L{j$|K1xsjPlv?7WdVFZ0nYG*`n zE-NpgMsZ%!Th1*PzKvh~wXg_OB|EQ3iGEP7{?kU=R9zLIG^DD6n9UZy4(D0)<3-w^ zBr4a)vup@JNeBux4qzLj>is!dyiIyzk_FeBIPGoXrReb4BNY_c4rN)ko^_{sMB=#$ z-O@@|cHaK?{wrCMjCsMQ*sMKEO44`U0^Y-Hh9R4cMru{rRPi%v!{@rK+p8Y^(QWke zYku=;)>+$F5Bf6o!^NDTvq`cDw7k96{5YHB+TG1k`eg$wx%1^qtMRVU zZUDWpK*~bz%2v2Gm*l53N3Ums;8Y9rs=clKb7d7$x7{vdsm*5}mV?r|-fE)K!gZ%^ zvS;tjlw;mv+b`{USPBO99jiO@BMtZJE2?w3&%xRn-XH3mD}8-V85pBKD@M$QS}i?k#{89-%`@r-Pl2aXf`-4C4{g2mmg4 zF6=KE90sE?z?CEFB$&wV+@skQWHq3$ZtyiUl;mEkN4GsP^Wt8Jn#IT_g3dtL04&Lv zvk}y|XU#3+vG#8XISg|E6pmA{#6X@5eDrXC3}Fhv;K#&z?S_A-#`D+M6!%Io>DG5|k zav@P3fGC&cI&FodxWnOq&1po9VRZn@CZrYgmW$q}o*iQMflt)aCnAJI4);^wSYuJ-uc;7q1gJ^p;z+*r(=Yb5V? z-a46~B?Gm11?F>}<~erzs}tLnEO=!WVh4HZ%x}@p1=d0hmQ-lDj$NNi@$3(;`CM(k zTqs-ThHsspOVuKxRtweSw1r@}ln0k2k)0Xmj9S)ja|D20XxY8J03@$<%b4#2CKsa4 z{4TB$W>FrtW-HI92QGoM7)&3oT~@FRSjO{$;fpcUS6_^xSlq8?lLN>Hs1uNxDOJs- z!73lvIls3Cz)5|jD3Uo(=^PY)h-M_!9eBEIU(vX&-~s@RwlC$$rViAbs}Yf0O$96UPH3F1uAG( zeQaUPxo)-5VDS@4;+%JGb(qs4fx`cD@y%i&UQ)%%aW=`3pC$L#33Un6c~o5564@<% z`@T8mhEa8=Y_@DPCu2jCmYwRQ{aO0zS8Y?TDNmhmuDQ33$lZ?kce{8wquhZ3KoBB8 zDyRFK$7i$w+=*Afj&>#P1dC}Bj_^lIpMClwf25A`Y|*6$O9;slTtNvgT2Pg;P}N9U z2_x$u&=o-`cUXs6G`4MoZi^F1MW+o`P9B>#y3|Aq95bp-t z@8k8bzq5EvyD?q`1lgW0A_bJ{U7ijp9ZsjulTPDwe>{CY`e)apkkkDm5CnSh|CMNa zFGb@+rUon?5YOf2+V}tz-_xIp0rAbP+SAaLo#emEb*ZaXZtc=Kl0-fkmWzQ2phC+m zEtT&{$moNa1=|}3@)~vp?udv&LJd$LS)yoNt7Bz=49R+|fGwkMXTozX?c+@807?~& zKYx*`s*eG1^K#5t9)<~0fJ@2Yauy?rM%O9%K^nm%CWI^1LQChI?u<~ZXR$&9XBQbp zpzf~-U~PA<2GDH2f&ffFfC=tIKyrdG3S$zHOoTCb2tWiQg9!=#kiI_p_*?q;v;X}+ z@ZG4*612mS4(-+#dUhv9IK>8sLd;^YkC1R6*@EO(AfJ$g34jrbDd`i)+dyta^D3_#g~{8XbeG-Qc~J^ z)D!}drj(}RH2ivh|LGV0@>BTR+x=gExccGM@apd7$Di((~!;x}FXem?9osjl8vRvotcFJ{yBqt3+KRr&WnbDb3rC?)Kwn%bE# z`s{%|X%*=3=i9P~YW=uBGqkRUuB-X{Y}GN8a)q5sj9VWe&6$PYd|i>w@-^q9F>5TD zYSicf*;Z!@gDiOtjDG2xWM5!z-Q6lg&LdHac%6?jvZguLv6dMu%&DA(k~%!%Y^7EP zM^psPvaJI^P>B(#I&Gohb49xg*E0ISDD~i5y)~N%bDttyXMrZA&#jVcMaS!G71gSJ zZUy7q6>35Q(2@7``n9jUjMc==Y>4Q?WmeaQR^O3duX(6#Ae+iks>auO<<+Wsus!}L$%4t%6ry?S{ox$jO_B*J0&b--IS?UNRB%;&@VhVdK>l{N}n&8$YrsB^S`>&n_r#||2ms8+w)4mt978L)sHv{A#J z*m?E7t@t%^UC;kqvZM^u1zET-_^v^Z3H?)Kal~nvkGqh2Yd=fkT(|8xMXIl>*5~$e z%t3LS54f$j%D(kzW_#1_#CUr8HvX4?yZK+S&T`0x&oif3izkBv`%woSJ6*EezIxYiYa)(pJ znrLO_>qS{(Gs+6~#^t`aYq^tBw^-IpX+wwrlH7|X5lIS4A-|k4W1>$;Nz{oa0EaI_ zh&%50aeuW7F@zBBoNs^Qmwq2=yqZ(-*(@A~WuccbI!3;#+lh1QMJ_dkE=Z3q3YE38x9*WEiV zO??5E9KN+67pOvJpD8ZUQ}z`!nP)N77GCT*T_+Hs;X|&zNg5GKdMFc7(@9|<1)4=r zrs!z`8ORf=A-SNAvVX|MTyj<<8QcsO86tuw2p&UZ90sK^jZR>&!Dv36aGE?F1c8&E zreTuhMN3nzKWHKNH09JFl4O`P0n9=mOY~HU(TgI4pz6-5{IR487o)<4J!n%f&C8)0 z6Qf-A-yQC3Rp+?qr}e+4LT9XB^${&mqwd^x3g&uj+q+4jNH-nFDa)O$RQXt5Rrz7d z7P)DoT*9JmmEy0M(SL>CGPViMQc!-8&)V*C`=p$#wz%0%rvhX_u9(mRxY1 z^es2kL$9Oy=8ONpt@7>5v~b|ttPC!$6;d^O!Xj9T{V7P>54M}=(I6juULfQ-H!>Ry zScAIis^x7kYnl>DjLUMn^~m6V2*c&T{s3)2lD}N4e|sd<5W~zv+SKZ2s|xAj>U1ty zuQOV+7UtZlCQqluW;a2`UcK&rg)GN4&bv%jbcZ#$XqCyV^7%G0vn|tn_pqbe-}&wN ze7M?q&y&_ZSNs3wS-y|sv8?dH;HxK)T!uWa@kfsnPGr@}~->C3jFG*740 zX2=Agx~_{$W1GA$`auA_y1h~2S{5#`#(9gGL6$xB zDp~%@e0FV#I_DkzSE>1CHe}mNrOqy80<5nVzrId$TH6yg8Aai`%g~%^?VRUWcl12M z#<2j%xqYx-SMs4B-noP}4`vgRt~pBHS{ti<=H=*ww-)qx#xFKsv62tBDeZi74u$_u z5V(33@!^ci6oTA^e5%tOzQL4Mqb)}V7N17xS|#jY^YK|4ueW+DJ#dE4*p!Zz7z^6l1DSgndB`Ts*d zm7$!`&%Cp;uE|vyNGI|xr6B-j7Kwojkvn4yVQ1Wdkr*5Sl?yskQx;@_>tJwGb5ayq z7s#4JsRbWjZOMFUNgens>6Nel8Pe6rY?jIi0OmRsg^iOmCLfcJQks-f8ifS7lvGZa zkFH5&bFol>ZcJ_DD{^qYe4EU|Yblt3+y9zdp<2!gBGMoO6SM?)b3N@*{ z9Nz9QfesfnDhPp$gQlGwQoO(Cmk<8oxAB*E)8{WZO~W({HfXRZN&^rH7-UQ^gF?bi ze0syDPyERbj8$1k2l169(c9@Lv6#TfubaRDgclPpGeEqMud%>`eiqV5a(cCDGB1)Nx zjBq5(vZ$8NSwV|*t`?jMxry`6}QCu;I*m=Lm)nueH{exeJG z@(&6UAQuxM9eg^b!9rBn$xMW> z+w10f2zPgS@+>`h&YLGG>?Xv)2impS&S(K7jUrMhM@A97L&g}CRT@Mp8iK_QD7J}g56)#* z7@`CvxWi9y!2&|Wus0>k%&>A`u*``)$`z%T&5qtKkXaYFfRv3m)}ENVv)OuEbqqUbjI)F(GQ6UVFG=RehXw?u*X3^nVl;pEi%EcUzXX8?e?ZXk}gvF$-~TMkqG; z7i>o1<;^=@^$=sLtWK6BgF13F##Abo&S2cO!bt7$&1=4|D%sUJ*1Oq2gI-ewvsZgo zaobBnme7n=p*xSK9t>Z<)=o%Dt}cgM084CA`InOt0jgLGGw9axQ}2MOLZOk&JBHov zv*Pj)tv90x1i3sELsm+1TPeLjEd)X4Yzdr$+F|9?q$+wEX{@o1%f?HaX}1`a@y*gw z1_c>Z0aQp>on#f4dp((|2)-qCdhN;`>R7B>nt3~1*l`S& zchi~+G`r7|GtfNyQ09G+hoO=hwdj0q)=}4)@D$rzO}Nj*2Bk!JnM2)?p-JWQJF>zb zD&LvMiuRz*h=2x>zN@@>iK=Y3CJoHiKiDp_SW&mVL$l_vf^yAu$g9In2I%&6k0i=* z4UH(F)(tD&l-(q<7{pg@j}7UJstA^)f$YNAG>V?R)%IpyLX4l~L<8X6$`fB*g4|o65v#0-RcAbD} zO6hR&`=iDaY?K{GO{b8i0ltIFQ}S`5QVhX{0=NXYIC+%qWOCGVW>7;

5LBs5Mfj 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ð{a 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�mzhK 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 oe)G-a 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

u?$zBX zQ7Dq()f>Y{0J1pI10jhn;|QB=)_Fq6{b3NjsXlrf;HdQ(^$YOTM?wbSk)o6Xj|bk6 z!D*U^pjFH#nNCrsuHva- zxxGZq!Vy%y8}9DyZaUA;&!?wvFX!{w;VQCd%gYYGN_F$YE9BlCiN5%NYeZ%_(H9P+ z_I*23`C#{P=N(!oS+WpN(V@stbda0zP>SeKLI9yln7||IT;Xu9UX2D$#@S)05O-&U zq?fx3iYCnQAVi>qQi_Dkaq9diD~UG!aza(n!iG4U-Vj7&^lus~8{N(~XtY5w-6w33 zLhe23C%NcOQ|q!vSE+$m>13xuNaHd*$gE}=fO%A`R;JBzF!i1#Ng_G|B*NWc8VT5! zu>CD{PCd_mRyK_57jvkuA^?8>+V8r={J3IHCAY`rlAcF|XZ<8uHW`_DU}Uo-W^QhG z*lZXS1+Dl5a`pB!f9qNFxHO%2Al5#L7S`F7`SmXe)Fw@=CMs-sI!X7nLXX6X_mkt@ z_#M~IV}HW6j~0uvo5o8%F57s4Rjb8Oja%NCt0vGv(t zf#GdZ<%P(1Rfv7-Vk7GplGT-KCtY9nTU>tjxHw5|jKu2xzj$5K`>ttx*hrgXDz2Ad zRXIn?(XhShx-`{B&7Nt1%i7`Wp1fth=h3*3Ue;dc$kzYwM+~4Lqc->RIxZ|256iC3 z@UjM1+!7%B5c-NQB*=T4+QWdBNF`q)iC<6VYfZf=Cd**E0GXdCy2PEVJc!PXq79@i zkX;&Thi)N25`b?~B{Odj>hK=^wPySEZf~c$c>;Do2+N08CmP$IR-&+Lz zC%d2aO`Wy%{)>Z8zaR@L5^T=bg^Vm-@Vyw&c47+WorIN=7_n%!5d`mccZCG&6;yRJ4q+maK(3J zlAJ_lV{g3e*^zaC7aQPr2-LFld5ZUp-mq157bl;rGrtYvi@m|duLJLS7YjotJIr*3zp^h! zi1>lbBJl^tk$NX`OBv4N{ZMXH$8Z)<1*~(OUs!*sI9GqF_BH$zF=yhOi@JkQMiCHE z83uS(pf^WW4iXCK467L^+=?2iq55m%uqy-Q{EJC-h z^~kJqiSSVD3aGFb+SszQbuTR^@p3A7DWY7SxMg1f0L&LKfAgr3X`-8X%RnNsCDbp` zIa~3#lcx2h34}?~`j@%H*k2KWV93TM=3E53ee@|}J!IRV?XpaNCw?SfA)C(ccE~IA z5p=%R#@GyjNrtqDM+7Ru1fc_tgB(Q4SZ)V74&z-JZlxSWM`2MGWVu9=86lUBK{}eM z=YfDkB%-^8`M25aG`*armufE_llfHZ36L5!2$94YbZ-*91|z}&&qEo^bhj)&XX0Iw zXE-vCYfHvG#~BFp@?z+8jHIFf2ue^zROQgj&Qb;)N*N1AkwG|?GOCo)bJB!VmIiAP zP!_9ZFegMXh#n4yQVI_?C~j|thlk<*1~((_jyR6sI3JF2Jdjc;CITIbYKdYA8(@I2 zNT|>8{9^U2U%%qhC;ayD{Ncmt%a`fP=kwPur_b?nK2L~33}$ZOp`^giov78k-?*3IiWgXPHb)SnPGqt4%X`GUL!&?kHxK(vCC+wMDioi!Miu<&C&C6 zV!Pp&leOKYP3%nHKLZF2I#FsoWzCr&=u)Wgd7fY7<>UN${POeR>E=dm4~O@6cRzl2 z_jnlI*D?+|5cG`IOiXQ6^^8{rk`*}|3|R%Hm5xM<49(-+{L@_odu1p`mc zgh^>>AfuJy+bpd_7ux%jHa0?U!c3=iSy-3JD!6l;6IjKpl)&27Lqs&dw)`d)iy0)+ zQK|(vMg+`Y74Cli2Ct|y<{3W2P0SGP*@2cl8-R4kiuBV9ysMyn_#lB6Hkh=Hf!Kl% z$M%s99kqNDKtw~G%NV@o<|h~#s+Ntndf_QsN&y^kj*JBo1l{(!`P=;bOZ`vI|NdQh{6T;Gm+_zfGW_{R{ij=b6uHH8q=gQl>C>3qdm=J{cI{vOXKe*QyzebV2ahOgiB<++?sKEKe-;|vHe+Hi<5YE-i`>cle8W@a=- z>TzCCr@=KaF(ky21h*1R(E%9YKzM`%gbazu;AgHoP6C#0>D&OG_11)>x;Oxy@rMWbmw&3i{%igDH~-JS$}gX7 z`jw|Aefc~@HG0(yJ7$$YH z?Fb0E%{o>PvM%ehrM<8Q07B8i1ic3bGn(z5Xkw}$kTqob?5sILv2#o=_L}Gw>##vs z1-Y6%xLLBUb|&KzHmeW`#wH6PHu7#mO-Sy%crx0YG_`?}#_kNm%33{(mX1^-xv>zn zzU`_)F08$qExLtjzfka~(y?H}bLMkmcj;j1D9wTRYE)!yA;Fq;?aQk5*=vZ+ojYx` z!DbS&$QP1|m9FMQE#}n*F}}`ZWSC>WIcIh;k}uN}nP-!_M_NXiX z{VeN++_lVllh&ErmqCqOjW)^LPWWovS&r&vqP)ouEpMrJyP3abQIM?nijvlrzR8>| z9BOH}O+z8Q+c>t}*i253O(8EH-rc|CfNU| zmECYA$!oIff*Q4z%fq-$_Dh|<-M^XP-L$vjBfF)Hmao*iBwX;oS~6Cr645QG-d!fk zD3+iB zI@i;S)rllG;f6w0Rbe4H4@E>&RRtpOsIcl`Ud_y6uGNfT@MgH=Jm++a5Dv>Cml(nu zwP{fZWELs6AZyi(RCVGo%t6&*E-zDcuQORo8AcgtW_7X?+-Js#?@H9}ExnbKYp5iaRt z=&%YLL^e8}gk*GP58|(0r@6kICV^UQw9KM5nnt5`%9!FqJ4a4MH1CB5FxNELCDGI^ zA4xK@VI)h9Pejac0ZETg0|_oA5PEbZ%@zX^Eq&EZ<#1q(oorPkq)(2W=ioECvP(rvn)7luieF``wndOpYa? zVrUDFOD&b*4g=lbbw;%?Qi>}aE%9sFV}cAvPIa>tzX2L@$I`t5f)vjxT_Fm(Y#j+L zp%LrDP|1>X8g#mNRn@s@^?q-MHgU4T3=lIIEi{ zQ11GcMmx67$ZP@a_;;M)jt8?E#8P_kx=bR;^Ey~KS5dh@ta&s+C^eA=gR_xm z68_R0z$QXm(z9q8y#$~g-bD)XSmOg)5k!(eE9{dpS=T%mnf}zx-aY!T6TBr;8~_BA z2wU)PTgxE=&phFb7)brk0urrydgs?o1~-6f<4X?(&@_o^cGKyLBHuI@3LF%Y4d_wl z2uSK^{nSfx-ZmhQjkRG(7fC-n*uqB^dK^g2F5R3NpJ+Lq>_OV8CZ=T4CF`V10f)4y zShRpxW^lVwEkX@cN+WD-o>D_EKnrnBnwc(kPc^KaE=N)x&+avqp{ch~n$e&c1T%k5 zgNTs8yydFP)i>ITf|0#SEh#lzX<-uu!NPD#Kn(>fp~|$m9p8Z>GD0-M;4fk?oX^Me zr)UlUOGOEx3U$s)UlG!yE74T}ZjZLRcLh0rQvxYqEXEu3^RQ5&KsQ}%E|H7in?$%k zh(=h)*l7HnfHb!dnijU`!|Ub=3t7CmsZd5lWZ6q}aTm@%Je6=4$3)qb1nC-;wr0NfLnzo&}|o8sQjbrP|tz1A3!8Qbn@qXZ>9 zF#?jHG^<4~JGEi*h=|2HshivqqS@;Ek?cGpRj1s7Y}+Vnn(U2wzjtjn&BfvE9ec%m zuzVSt|93s0^~ZaQId2`8IvV**CK5qXA%!R+Bd8)us7hbo0GjaQ#fk0~O~B$jYqpnO z(E4O(EdGk+q+b_#L9yUPEEo*f9a#4+iKPRJF=at7?@Xb+s4GT@G(at7;oiiA~`|#F{#mx=IVwk1UD8 zB{VSBIccLy6yC+=$X*&`CKTRkZbiTm)y1K5pi^QT^>!$?MQ_G(ujAoZ?lO{wD8#57 z3C&E(R#P-AoMskq$80jxTFuWHZ3CLwTx*@?ud`3*dah=Hy2LC(tgUI2$h}*P=4b`X zQ|v(MJAt|FG0BaTOkUAryCn;^i2~y85{AgLt!c0f5ke^}qN;N6!%aj~rI$g}ZVJc}0|p+10tvz_D$*|EA~p!4m{*eR)U|py0*HmVPpIyv zlYLSC_Hq2_7d?#QyT`kSx*KWLOH)hRP_ZUCZbiV20@fb)m42<97egj(RYu-G~?yu z&rieoJimOtn_s5++i8BDd@4R?gVeB4qdCMf42Kf#9xQMVt3d~fM=&6Y(xL=1X{vA; z{X&D>*`s$w#L_mC)v zfRuFcHJeMMEK(#QqzK&HG6LX)I=fZ4(G!c+T0Bsb8KrR+wh-gROVZ_KZ4$rtK-}%M zSf+AgEn{513pa*}guPuV4A}*QaWrkDya!Rwk_&t+D7&Rp`&1^Ep?Y7R^KRBHE-RH!2Y?&gHS zOMvl>UJA}P7`|Y<$L&3C?{GXo3U#0iUJfG17_HXI>Ux^uZ1yzSr>FDBPq;gjhvRsE zd-MIx;eI$g402QSm?d-pxDX}aB0;Gm@ICzfF#JXNuZQW=_tVe+qyF_PfBlRPf15u4 zGQWH{*rU%A>ZCLgf`vE|#l?^=vGg3cF=m_3gH=Fq`X=8#`^Vq#%TIED&zqa`pZ-uD zZp-^eeYo@E;3H$84WLykkne}#{k!2WkM`w{{Oh0PZ%_Uozu3nQ@!K!)^jZ9Qz{%n{ za6ZO}oKHcGn(;MZ4ml+MZqb>8dqf4)A{KWhcf@cJYr4@V?H_CEO>&Zc5d6|`(^mdE zSl{xB=wvxMOq2yoed z=@WI)z5V>Z8Xdp|u$dPRURSYJncjiL2)db70B=B$zbZHGmfqZ&CbfT&Y?Oq}?aSNJ zT6ZznH+JmuZFIQH-PJFfnV#=wP|0)nD)WB$%$!q#@aQ$@owxS zpVoe#pG6BotEIQ=@a3pi%jLz`x-Pi=CZjLj=+Qcgiyd(FPJ6}vuc_!))@Y{*H`ad{ z0T6qe%l5(Ow%s)Ftv~Gr&h3>b9J2rO^3(vJW?FVGgl}nLNNlLe{%pQ!&gk*7Nk7*` zee3>LG+-Uw_Ki&r4?-ZIAPO;Rh}%4!hUu9;DM(69QV`W+5DiC0l_MfTTJ=8lX$E|r z>O7mxZZpYJ3dd1YOKBc)l9|Cj`Z+A3Mm6^^v)OF+sOpmDhJ@jh?m+Sub{p*eUFL$X zW(A_*k#*HSiXjN4Kua0MaXcO>4@oVfTCFZk8!kms4mSyd%~oIROp?1wN}7tX-)_rzA}vHh5dkH@jZH8Y z5Et)Sz7cvm}f|hcc)7uM1eIztA$})Ioz-0mY(jsDUg{fF0!T?Z&q?A-MwB- z1UzaQsrwT{x#!K_$8=;MM$J`ST4S?X8(yiS2@L51=_KyDYsC>=%)B+u%j} z7qfanoY%eDH20ln6#J9%*6MHXf9vz*)ooYN-47Ry@1Kp=;`9>h{_3gAIlq{S^`~7u zf@Y=8z{m@|V2STlDp{@Pdmk*KYU2a*<}R3@tq@uNzOA({$<;!+=--Dw@9s8HL%8ylmlo1XwcwPxp{n;o*} zulL65gSjOI3pu)+v}?k|g_6$RT02>ufP!4wkM-@+Yv3-r)n&_lN-wG0DqF7GX{Y8y zPsvzTGjCR}OhuDU54bpiaESs)AUxDqD2Lzx(OT{rtF}tB!79Q4H~%PM2zRf7YRJMn zE}?76(;GB1nwr^z1s6)5;V2}K;bLwPJwhTk1_V=6$srVmr{!E6Qv!Dju*5zwV!#+t z5E>ZCBX~nOP)fb~QFTxZg+*C}!LTs1`XTJe>|3=HViumwpDdnQmLwOuNbr@c)l&r= zdsMk?@^~KwI@8}>8zkiITrKO$&F6pgx)$gE_aAyo6nRTfY6h9z(FV5bp3uv!akyJM z_tb!piT4GT40l#i!IDnXYYbPi$=uf$Hp4f#5`k?#)xQ7zti2jwTSo;`&FIY;TD-Bf zqn)++qPd4#{ur(hneB_-TAA09$yW8-e!1lZZ^@6ZMbMQ1%0j+UUoM+_w&u0W0qyWY z1mFU7uZx}l0AUD6M22g$_jz(TC2_Pu5Ah%sQRrIacq|9iv#Uw$JD=19N?GS~DJRs|RT4fK5EhY<5&fQ0WKbQbLy4lQgA6UWff7`La?n8( z5I8jkr3#cG>3?w#o84zbP-8gAc+f*p9tIqbc(~=e_xk=pZ*O?KKOBxI0uZXy5?Vq> zmAfYL6HfNj7ePGhJjKh&p1%6WPt)g*)2C18Z(mOzznq_6>bH~4Gc7btO$c#y0F_Lp;z_Sha@p$;|aP$6nb9Zos78WhSnFuCwo;S}#7qz(n18U+8T(b}@3ia*=U>9%-AvK-sy7h;US3Ge6!m=jdVHt$yLU zaZ;KfVod~#24704;Lb4GQtE9wLG;Q9f>w4z zfPl70ivCkwn-oJRXb=t5fD#PoU@v9<8c!eM<4^X}zd!xkXs#$xg+cB zy>g!knHz&GvA8xg2~HyFlR6I=4|uu9%RP=qlw*vyadl4ho}4Fc&CT=hw|Q&+n#B z6(3Ld?eqN0U+afor(ZteiFFZlGO{`GJF zKV|Q>Jk>}si`&YTV$;{#x_=S?qyd(ieK*WLK>NHY>h2khd z0!4&14pgn}|2`meD{CntP_pz!ss8Gvs~=yzVkUcG^zOIuX${fs9;9`Xt$LAeH0t&$ ztU*g?cJSI^5r|)7f;-WIUiK<3WmWrY((`U;`$^CUb-X(>n?3FdZ+^|L+iN~i)TWZz zKn>-_r0Oi)bYuNv&1k1e9B0B6Xo3GVu@uDjm(7nNK{olq|xpo!DSMGf0SJ$rk zO_RUdCDh)2DB`yU+hcDxhO|V4b!YL$V!P@~SH0;qf%dNMN55w%-(PFe()IlJhhSUE zmV4LVzj|HQfeH-1J7xQ4uA=9Uk8s;;UD(7wb>e$x|89iq{mu7($IRPa{c)GB?%Xz` zY){aJxVvkxvmSQ3-x_$@*#_=R)DH85{k^M`cz2T7Wb?b*rV-&Pc16uBu9|8T_m$OD zbVtIuvb$a1=jI~;;H^d-xlLNoP3)~5w;OM_okSo8=Abc3XFiwn>*ejcdp5HS$uh_= znhn`9(jejpZzZa%2SDaan>UQA7?PPuGD#yz&n5E`0&mW9&e_T;9kXtJX_z9BbFE3F z=7pI^88l*SLc_CWX00k#8{RrO9b^-t&pSwbP=nWH{Bw}e6En2{j9U; zk=N8!h$}QqHohLMHw&7`P8itp8Zy_nQ%Q#kSQrI#tCO`*5Z^`_yl}BNcQs$vRQP_Y zLo0N#yTddR;T3nR z&%GZ~x~rektLw`8(ZK<2v3hdVC<;Y%#fHR5q4+k~-~e3x#Cuk?o#;-KYR5eky2d(+ zM_Sh!)hbfA6E|_!dmeN(%#UbAPfzeMJ?WniTVgkgwZSzTZAr`kx~OFU+)}ebD53mTIlf`|ie=i`yq))j@!pNxdTup^90CPAU75Pv{0!_;-7So&JI* zvpF>6YT4*#d=-YfE(v=Lh}pW=Yl7>#w$~Xfd@Swl*S%=~0JU~dz%W| z{;FH?8gS6=ME`5Db?_nSkJF}U_KUu`x;s?4J2L0(41Xk@Zd$xG9?w{HzZViWNZG5$t0u);T5wS8piU`yoRuSt#XXbp? zGNMvy<9m$eP|cW z-_dyjz^+DN+ikX!2cRpuQ4Pyr{ig)d4Z5^ePF6)V^2>dG=a~r~@X10F?a7YI(BHIY8iWe&}sV+3v z=6eIwrJXy%5?LTp!Oa3YR7^R!jI;;U2T6}&r(}azvcsbZjD`7?{vze#`MoUXT;3e7 zxx5sA5BGy8Toz(j*C+}%^?w&hE&t=A3I|ma83a}fZ;43FG0=`Utbqkp zYih6GG9r5JEPF)^zau)ehwTm*x_Jo9&V~a`2ElRnS~DJ~4$ie$WDuR!r7o<%S1F7) zcDYru+DgZLAX%+<+HScHyx4!+ifHULmn(TjL>jdA?%0x4BoPU`t0s$vL^m`UtL5lM z-eDB)Ry9cwB_U!eX($6+OwwUEiXIK)lpc=baZ10y)NFtlDR3GzV)scQy`qW7Jfk>^ zDnv^)0V@j@pq!U)r7TOCm*tYnl9{8Zd{Vg9@wf7T1wf)jT{ib_Lbfu(-JGM!h+vI$ zSvR?e1o~j;5fXv?Vi2edqNb`zl8C98*`S(KCRI&pW|pKDF9S6fS5G88dq$?X=#oS) zt_qP7PWPO2I2`QZF#hzQr-Oa^lsRjlA7)+2@ zFrV@Ip659)FX{Q^{M(nyZ@<0&_BFq}`1`_T<^?QS3yc<0YN>lRa7@IB2ALBG^ret2 zU7b6UYsg@jj3OmFPKvkl;wZtT+NO;SiQQoVP{RmHQ(_SwOx0E?5}>po6{;5z5!Dux zL5V;m(@`jNBgJ5rreQn|GELJ_6$w5A@K$gOH3&c`)rcfjJgK<fX8|&tL5_9A1v2 zJsuCAPSfLI`sr{uq|?JN9ELQwMLd%cKDP`ujedmHe?i7Z6E@PIO>pyTqSg!68@buE z)N4XeF{ZAhMh(=#K;?<*79fa)2G&y}N>v#L8N@iaQ%*mPpXX`5$mN{RFZuobJU{2< zlINGXT(U2eLU@K#WU0cG!f4F1m!fnXMt7%`fazzK*&qz;73Uhy>|E1;0B9g}uK~!Ol(bIiUd6m5(YY;#q(9$a*?7bHqxLNg@I~p!h4_il>yNqbcS^<8`8%f{dC>X3UmT3yjfhe*?_c?E zzn0&=;q~vFUu1b6_(J4`zPOXgB?qry12R;WY^l|eJl6Mw0*Fn`_knj%8UL}AL zyRUqkx!qOghr2s>-nO6beVd(TzP@w)>jSk4=*G31(!Mz4hcDf|>j#9qSrE3xzx#ua zAAawdtEaga#Sou=aBgDT-nz&??DmJ<)7_Fu%?c{LTm9P0PTlroSOaf>6E-F4e&-S8 zIoj9Cn|10(C0!Pd?cGAZYeQNCL)xzBySiCY>I1uR0cggAAKKqPTJF2q0WFEGe;81q z^y~eW+SGRP)_BvSqFIEx#)Rx%(>WOWb?l_6+p+h8>(v?b+QCktt)__&XTLv#Aa8fb zZF`0oK$PrDc3R4Xo(?G4%p9rMVAF(TRESO@6kbrWl-YbCiweaKA`&pgnoGJQ z-2<>rK~)UE2+L^*+?}gYr&@u&Nw&=oI-teHukA~##)aM!Q>m|*B&at-sf*^EU*C&< zdljDtDV9XkbTTk4UM3tVD5c~aI0TEA8J-X29L7!+0~19BNkryWhC^zpq>$VZb=FDh zT9nZ#D6Rs}ltF?&iI|y)law)!Zd%VCxeE8J&fFcXuJ+J&UD<%HZlbG& z%-*kd6Xp`az%KP4SYI6_%&S2`Q9zQV0i9hLhB|R&d-C?8wKJl*Km2skJ4>W~Q zeL5Y6!*n>E@@2VPE|>TDa=Bd2C2%H?Tne4JAREO}q&SzgaHL3cbOx(W@aPDX&9y?L(*haaY~3?Z6Q2omQqS7q+ouR>|Tmwh!b9O=38(!V~5m_ z0ioBl#g&k4RQ(Q5DJ@ds%I?;v+J34x3kHCQ8VPg*zh0649W5&qU4K@p9?-n3hjC*N z-Xgk1S`OSAkg(rMh!*i}d=(JWAXX>~)@lyey5EA2;zY!qmDVcJkF~w&+Q%;~bD*Ow zyGgj3z*}J$`;+z2)ot<(L1z0F+Vl7It6;TjeVmwN@_IpUU%!*bu7}WtnTkk*;%j3M zthdhb-x|wi_TA6wjnnI{#MsOH|ICb4g>=n7-aY&pJhFfF&Eq#4$c}@wk=(vo?uFv@ zAN|H{&_Ak=#NEj@8#%vreD(ss)y=ifBD=44`}0PGxFV{z*A;EAAN5wVt3AFEqPD2Z z{vjl*rDyle-Pf($=GtAoNk=>Rr^!w~7*)G|h%tBn>d*ewd9QOzt@!5Hc%KjfE-D@Z z`Sn3)&htLJ_Ils0+<(>Dd+LpC2CnyQw*rd0QvcStN+Upn?~M};khJX~-i%`)1LU}} zDp@525ww!eP27zL&O0-?cD^6)N|tX=+3qLp8^2MuWy2qUaF^_~_Nq4U4O;1H_G){! z;kDvHM4&zUdS-9Ccr6`m6t#Oxm=I%4YsDl3Ts;eCa1rLnVIkd0Nz58#SG7n2wXEUL zU5uW{9Rcs|09UyyU@&eu#a-%m+n^`EsPgu;3%2nTCCk0Tw<CK$7YhCDoZGimD}7Yd&U|lGFS`ILkZz;+TmH$xgTCg%uHpfRP`k zs8Nh}tSlzwo-RId;e?K$_3Mhvbp<4=~j#U9*J`jmi&_pNb!SpCdZYSzN(}Si5 zwNW)f19-fACFbm}C4VpFc`k3o&t4V)#Kn;*MKAzHnqZ)Ym)DvrtJ=g`GC$TzKe1jr zpnjmo%vg_V?@C|E@7;;&VT6S@f0d?FQ0rsJUFFnvm@hjg6A zqotE!8gxuD$wENjQcz1J78F9@GfBXyrjk&TqeOKPEkMb>6kq0fUi{rXU*_+nl;TSi ze-Wt?+ESW*TfD+0iYUaHy%pYSqJsmn`We@qR`br+wS(;qOB&i?_;W=>5C|4S(v(sf zbPzF(}Mif4sjupI_cDZ|D5>p5M;p zJY#8^cOj$LplER{ta$qdj$s39N&YO%0G%_*;#-1BXt`d40%Mc24+yBI3~^-YRNkVR ziAXCDzmijhuEqojQsZ@1q}tZ}pb8U;`kFOE7s@foFr>qf4#RjjOi#z@anPfVs>T#O zk*IDCr)f}YSe04HOp2pc&}1$(&eRv?lHcCWUw)G$>G5GY9gk0shsSYz7^kOUIH`>? zj6>Bo!W<%{iS@k#1MI_`dllCHGWWFnEM?ZWce$MNeG}s8_UamGfGa=&fQ2 zcEI?JIw+)VRO>}oZvO)CruD2rs5(I1Pb0h_FDMyh5udrt@QnE#PB1sYGgztn>LNs2 zohU1|Gm)=~Vc&r(@qYu}`B4x+FBwN2ZiZK~)NfU4{J|C%tJRDZ!G9~Fn>ql?U!!&x zVL2V3Dk>&g^t)UHuV4B1zn1^!usodXmp`6<{zd-szo(xc)1MyY4+lFMMkT>q#sP&W zSy({AjT{}H0C~g=fAjq6`j++i?BAaK^-bTt`}-?jUu|AAXK+Tk03~rDT*?ezm>1@y za0au@5q^>BMOh&Z;B;+19|lxF%Q|g>M=#8EQ@3iTrD>5#gdM^~ozIy?M3gj$LDh@r z;&T!;h;jHL;{y+$c>K)6C!HSic!H^$0fPuM1KAU)`K&YKLcT2J>#`i*E|25e>G1N? z=kZ~D{5(!iGCW9{m`nx}&k;#Rh~z>26VmD7@aI$dFQ4lK0T=@QM&m;cvfWIDjJm$}D<rvs|M(ey`E&Wt|G9j5Er0*-`2LLFe$(e~`u;pEmw^|O z+1`tg$)m6ei$~g%N=x@?JiDqxYAe?VY*lr)^CA8E;4Y}5do9oJP|2q~L z**$-C;A{Lu?jpa}zU^c|k(#Tm4G=|IQf#yUD(GJ|r29RaXcQu8dHMCu&3k`fHS6@Z zJHG$8T&aEf+8q^$D~t1vba#5@t`BWRKGfCOK!mPt;^TF^x*zWc6dhLQ+CtX$y}~6; z7rfi0_7=7PxOFGo|G~Y>C1Uwwj|A3*t=6cu&DD>p63*Q)+tl4;KHYomt&jG1uODxl zyX||MN*gJAGt1QmzIs0IW%zABsWCG@?8C?3-_@Dhr6N(@b92-I2sk0773?P(6N}K@v(N8Q|4iXj zDPtkUi<6W`ofpbTm%G7U+gW@b@meLD10y{5U>O0H5d?5ZV7pxJx(zc++%-6bMy zkyi?d2w)FU#EdF)$Q#%Q3WD^qkVMIn1~W^hf<#)>kXs82lGMi7)(sQKq|%wD z6s#%++0=?|p|5t%-3@TH?Imn0_tL?oMZH{YKYnDNlCB#P;fSS$8?O3bdk(t?Y9)^( z#TOM_ZO3%+P_YySs>*m6rfE3(>3n&+yrs9-%d(W^GJA0iu&hSSclqc}vJgmGt(j!X z5W=b@apEuxX-Yb18irv?Hkz3YQ%U2X8W^)e1_&CL%eiFtOlIcnp4|%sNEA55A%xXR zy%E#hD<+%wZtbC0r+jsQYZn5(PH+qab&Is1w6-g@cI)c5VsclswC$|EOB+=t8!o(v zRQz3*CQ&wIp5lI!N+qtYAVnHNGPfs_8z5cfgaM9L9Q)3%!y#$f37nm+Am*$eNaOXJ zg`tXE?a9i97X3p$B5mrrHeC?t@A3RNnCn2c$5s3?>K&2z$1>gz<>xzz?A@c-FVyB@tiN3|s_!TuAG|S?ruzyLZvYH_uqb!+ zg?cJ~C!^x}D(DK5wTdNi%wsFAcDw!A#Jc%^z>@YiyNr~6S2uXMd%e@O!4Fose=_#G zGQO%CjgY9C4xpx^N6eq1O@h>lnfs^h1mNpF#9$pzZsFj2$c>v3eXs{))rfan?`rJ3 zbr05zo&7CrUPcsYi`YL(u6};655E`Nzia=&H+9ad{Qmp9@}GU<-M6pe4FUE@qI+-R zI+L4ZwNpj`XxLmn=&$SYETpg~v&sT5iXw1V3s|eHiDCt-{J*9#M0iJK-`0{=Nk%>T z){$$)jctHyCwOJr{djVM>Pq)OX@+_>7QFJT`{ygnR=ZS`aO1F%tnG;Pudd`Mg4Icp zQs=f2jVNR!7%3nU#Y9Ki=sJqjz+#G!8TnnxjFN?nc;$jj6lehgGg@;oS@k6_k}sm~ zo8jde7Gmq|)!$b~CY~rFfhSe(hzqodv*F7?MTrN@Po_#S(Mk1D^wH!bGVt)ElEh3z zz!~LD{I&R^?|;wbl6fvXXIu*AnBJlV09}PfBzS`X)|K0C01WWhKHf5Jx`Bw_1pcD! z#`ROT_kN(-b~E!aP2O1#qNU3&>to#^_z@YYGk^E{Sn<|}o3JgtUPJ(h+Nx9ugnzN9 z>!6ZC{}WNPMFdc1vP{t3XIQI$)aNL;Sxp4$Qeuj(M;#^bR&0s; zwGXy4`;kOc+ELe?&SDS-PML_oH3~t4Fr5Gs4u+%IVbq6dd>DplN}o-1s6OfxIq1Gn z^BE#89j*pJW|tg}B-NU?>@t&Ok&BnSr`4SAr)C%gu>z?$nS5nO|Rou9S-SX8lT3)=fiXwr#~FVahN8Ilc)&<4p;Hy z145{3ff9i9HI`V}xFC#r9p~xwwv7c-L%t(4Btcb?%D*I8Y? zEY>#Q-g2#Blv$$(LJ~401r0X9OE{ZR7I=|)U~%M(vY=!Z2MeQ?Kx|*4EklcZX?^UM zcIT(Rl@+87eVrTOoo4GrG=bi>J1osF7&qgMAqTFrTTPHqnEjh`QDwOZ28-ZAE*3yw9nJQ-kcYuf+{ zI31W^T3jWcAk(P7jKlItzdqs1oB!K0|NSd}`-11+^zBPo-lka{h2llBWAR8b7F29i z6>Xl7ri?|PF|V`t>faVyxQRzfS#2@ZkN%My@Zs6n8d&InL2%pJ2l_*=PE$lyaQu{vA7w^4sWaFbQY-#@lp9U=WE0N>)$=B^O$x9jbU*4IU|{=HZG{6_2e=vqS!u60zoXZFQC z`^ByLv3o%^D8wg4i*OI1t~#8KO$#>5?DnoLRY*ce?KG%6`p^1v5$QME+Uz5398|CB z@Sa)Uj_an<)9oca8b=$Ki1facUiDq~=PJEy4enYH*i|aLhETX}xxVGceP*?aZjE^> zqPC7Hw)ph@V{~-@T=|oBSS=yyuz3YL(!{N%$&Uk5TFwEh8F&4nc77$>a5D0eOq1y_ z49Amj8uFXZ7vWfAb4-2|RXnHP@=SY~RY=K|8*6=nuC6A?4hG+Ig)ySku| zQPPCx*Y@_+Frh#+snyih0h($lH7dKOLZLXZ%efJ*nX=Bn=yOUE9n_`?qQlda7x*k? z$@8*c$w_Age6Xk~XEszj4n);1r%x#EWpSslXkmD;G^#I%suG%1lfYC}Sm-$l3V4g@ z78UnJx}_|6c2Cl3pSSf5gM@IGuU6xkR<0dH_IV03ZYfm+QVmqTkZ7eq6iL)f zj;GUf93P*~=kw+D#V&8lvXCxx6iU)C>eg2{>xuJ)P*oE#9S7A>(=b?)@$r;WO37eq zCaQo2gxJXHp%xO$+2{AUEM6{igmH(nUxBDOBs#hiP>NHOC_zMOlwUssSatuf2-G`O zQ=;71_+s05Kbcz=LPzvEBU+qTX}SK*xXzu6x@TUjc{E@z0TJ$S_rOmSxbG{+OEqku z5g!W_nROGd@1j!(QI*~W&TA!ZCA^^p-;%!QoC~bYMkUs(EVPbMYD7id%*s{=7Zgz2 zgxqY=)fcqNgzJg;0V%%Af9ch#wH>Hnol>7I>#|B$a9X?*mTTi)y#4`G_}zYzYwSQf z+S;UX@me%)16u()!4)@x)(<*Uo85d{?IG8~eKkkc2D*WC#I+^?=oS!iXS{8quI$zw zN53ame{_ee62`Tt87yHt2w^_Bo|gWHa`WU}|LfnKn1}6$_XYAc^S5%sRc~?kieJ^g zx31oAzLS4YPsUza-b*%{qJgG(ebA-Vf?p2;Yi*#~Hri~1YI=>*d^;0$b=T?RO%(hs z>s@1{FiRLw*Ig!y{><^ z_w9(-dS=A>;&d^Tpzx)e4c(lSx5D*Z?dy61cd4jX-{NE4WP8g_`{u?LyO2s?^R#z@ zjRAoACSYsT&To2RT?Zlr7VsjSc-$tWR?{h`BLo683iu`W|71884KuyGw4p4)}bcy>rgeV2&!ZM>=lrHqV)z{Mi z=v4~IB1?#eMi3Pdh4sYw2itc6IIM^rOMY7=)jx@Y9L!An<{OIeoup7SMR&V`H5xtw#JJ*@f)5k|_p*MJ;}edzAmife0ElU|yAYz^+*;;!fv zYo}#12(RZ+;~!{DMY4mcTD3e_N@LPNRSBr7swo6eaRJpc7d@`aQV+YT8pKmFI}ZAE zoF1oi9OU6($3yz`$)_ZTlN?WSdcZJ2gh{-pi3p$_;!AIJ3qgiU(aR9vQUeo5NQxkAqMA_tzV#-l8JmZ9md(b+|!zM2eL# zxQG7=Y7jsPO;Vii?YNo-6h0fY!tLx-sn zd~D=fiq_l0c8Bv`z``r_c7UpU2M+(@zh690*lW3NoR^!#7VuN#Fz? z4L=#)Ct05OKKuJD?^#|h{_>3Td;a?BWx@Q0yjaPBpRYa_J0~w*7B4gMf_$M<==5_C z0dc3Tk=hp4%Gg3mKoUr5bK>6A#ngs*2Y^j$Ex;IcvskGlkjbDdssvr=3-VbnZ#+Na zW$^K+hetX6Zm`aIjA&`!o)p$MNwn z{xXac4o4d&5%U~!m$J~^M32Pi{y5q%f71W-3tyJ`+h6qC_vP=umS2C>=dbqsjJG#j z7O^5CYH$$`pe#*dYB?P69)qe@(=rdQZ@zrj*KhLc-^;(9{PV-|^Cx?Jy8QAuJWj*o zL8c*@6lG3D22T%9`o|~y>!0}L!Y|*;KYq)9{rCCX*W=f3Sl)Sg)%o504a@=0wbTNf zkfb&73W@+eiwy}QK#7tTJ7d!-k+0{;1yK}S_s~pt)JXPW@7FP#s|MAPWnGUJDl;R% zX8ie4&dS}dZdkj?qT0Zow*BV1alrXpw7cTfI7AuK)R_Xx*{W%8lu^sRx_zeYG(f zzi3VfX$o@R;Fd=#;oR?>a?kVhqirBsw-z@ol(=y=H^bsi$EbX+*$02{mVI|*eNMkc zdyj8-zXmsKHkF3K^WhHn8d`MosQ5)nvl|nT-8U_fVBr;W^>L|&48DjmkVoFKU39OO8|h?N@f67M6;Ng z1_oXu%h(ZQfvSR`;fE|*L`<9%m_@1f5GPqm5zjgZQWDTib%5mTr5Ll6ykz$!7hWK) z5QwR&rX*py(r}o@ae6q(a>?iSdGcy}EbzYW%$ba7Oin zCQubeAa>rYZ2d@$N?6Tz7E!TH*773N_F;vUh)D$abiryw7Mchc#f~cgH2|=%oe>pP zA+F_7UgNj?m<9AKrcLHnHY(0p0R}SS&YQ!8+fPJ*W}qh_ed(pmowiN53cNb+`)+I< zkoCcP9wf5z+4^J=MU@KTj5x3t#nFq|>*c^&H@S84j%aZ!`*l+)>ks1>)w3?mh^$ov z>pFj}LG*v%KX|q2Vx%5liEwuxw-YCJcICB`y2c08#@)Cbw-b5iC0C#KbJgBXMlzpn z3Cp`vS^wA(!|m@Yq8)-bP=(tn$yXmhGm%wM0YH-#SjD!TVdsM)N*^Dh1|qVOSBTZd}js z8Wm6}2_^&&`_p(d)MM*9UeBvHRePzy**H7pCAz6WP8bo~DT?cc!5G#qUE89ThHgZ&xQ&&^Q&UZ!JBzAAO6~4=m zX6MXqR+KeBhtl-+4mLm`fJdlnlX+tC6e2~migcus&K%PsbOjqP4P-T`=$pT%1^G3p z+tHbbV(^NZaf1d?e{g?Y>X-HLl}E1FKwOje8Vp7(n#4489bElV9v0wzU{E*PF}+db z7!HLbsM1E!1Xa-qSj{pnyr2|kmgNj_auK?6sY0wu7FTLOf3Gm+sNt>6$WV3CN{G;; zpPPA5bVANL(>MIO4YZjrL_|GN45ES~WK^9X2a%KLgW3@^J$|lPk%(>P%rEY_oWBrD z@w1m#`a5wUW@pZ}Pz%XO*kx!K5!+qDg6|L)wBz9SsacdlUr#d7)76bN)W+A0Og1;z z&DEnA{WDs8ZMhGlzoLiz`@5a)D~8MNUo=4i= zi{6i}!^aIUrO&kuFU6R_m0iO*ETEozmMkHF4dmt}N0FkS;~2jV7rCD;I^| zYz&HssMd*%0~VEb1tw)6MUYgcB%|px=pm)?G=3h_G!9degFuCm?kx8YIP=x z%EAIb4GK~n>IG#+_PpeBp8ZnFvXpsV-g7<|Ss(*hTtbtC1gIfh%-p@WgHTOs8sSRu zkAe`jDyzhH*!KB;AyffYcm7tHkOGCNs%lb67S$`nl8vfrsv;64Ee5p}b$~I4oQDHJRA?h)5)Gr^7O#RqaG(rgWG{avcVvUHi$^XI8+g%WY6vt zGgEiu1?N}1zRUCL<=gZ8kKg9+U(3r&et(;vi)VUqP|O8@yAa}YCd6aY!h^Namz=HC zKwy?orAwhZA%d3rA7$c+Oi)qQ@*FGp|K?-t=+cS?+1%W_{GOdUuo_oIlon2!CJoiH zr*MMMLO_M8v_U78f#Xw3!!$k|hsSYv9MWk_lUWjhLM_~IUPPdxnxdK!Qz^yZ6a%=X z$haUgi$vl|CA6`LQcf^IVZrQxND@(Tx*Q;GS_}?nzR+JSr!@ciZ61fW<6x(0c$mh= z)A7^8csv}QF2i8sn9`sU#5FV;Qu-IJ=AK^Rxo0e{_d|@Xs0sBUSEQ5J9 zi~@=a!EmrB8zg~6=^D2cQM#M{KvXd$ra{P*?T+^*aDHKfW^GDh&%Dm^VgI8yiGm7HkOPge9Y7K$v|Z@7I!K{8*>C1a94C7%7n+On;$RON!wvq zEy@rPQ&Ql>a-kI12u*;7Xr-c}12ucj1(!S*`^QW9^?%BLJEqeKKmRQM@@M_aU*zYX z)6-LWI>^bERAwEe)G8-NWF^KT20NI$mNIdkn3eBEUq1Q!`|?7ZU-9~a*E7#&xxCB# zuK7ZL14}AP$!E+L+8`x^g}Df!bf~h3BUikKsykI7rp6mKJ+0ZRs}E8kT2n}iRF|_e zGH;fpm9r55E>7_R8m&MaP3UbeU@Q&?d9fRa+T)D2AiQfd9>S6>%j%kqo{?l;SK0Un?bnm%t{_`Ww;S% zfbiDFwptc;&9=@E*m5O%QCGD^7IW9W`y9{-vF$@y?`?B8itGNmWA>`1?k4Z{76fdR z%xi42lHe9^(5s+#-nAw>NJr#v`?K-N&60b^G&tU zbrz59qnDEJuE?G1N72e{J4t&(S8-sILG}g9yK7Z7>!Va+Zr3GQ z_r})#uBGhmlX-oo7g)VbUYm_=j5RrxyN~_1`T+#uN7ohQ*`L0RGs{-T3Km3i-jv zZ@Y2RtDset0*F!!UYt(PQs#V-%lk84pUdUVlp>N;MU&V#3{xJDDWwFuXOhL?YA{Wh z);_D&x6o|TgNVRO;Vi}?i+FM8LWR08L1|U<5dhlqlF@RhB8i+V;ZiNljG-ZbRetBa zASX_j0uSCNq~~SfvW!U|j*mI#ctWATGxA*WS!ZF%;%DZWWhr?sB2v`yKo_dIjBX0R zOkjdCR+{N7oZ)1)!8E5qM66PDT{C(WVwMpAp|&UQTp#m`9jjgcCJ9oUfzrr0jceAdZmu2Kqj~_H zG(vHQs)!i?cShQ|sEWl$h=vNyyp+6P5DTx#VM>R?;py>sxx6pS@^)EDDZ#Z>)rK^V z<1i#1838M%gQ|$56wb3>WFhH`=Sx->@x)R}cF!~6P&pjNlti6I2)#u=)))#0LUu@! z6?8$Z5*o?wgm=~Kq-n1LaGxZ~8i>C6FY9zwB?X|<>yAQCH&)(J4^%CB7_k~664^7# zu)p6SC#$4aHH&9mVa7cx%z3jZO@dWN4i*9<+FwJgf<%%n{hyCczelqV}HD8b`@vk4(q%PTx z+iib%vwC+$_aDiny(%HR0p8z^ytmYL5m~)!?YtKe?H39_4@|P2cifx&-F&P>ta}vp z^3v~JvhIP_Lk%a+-Kn@w4fn!TPdryTw%*q!&68PHK&&u##lHG|>19)$0CGT$znW;Y z8eXc*1{c+BIe;z7v8TXSL%Sl{>nN^B`YO#wlOM>vSI@umQrPPLtdp>BaK)Ie_|A^d zMT7NRNI%|+ivzS70)VKUvAyn}$|byxAqK)`NLGAAGKd#RwLU+B^w?ti zWhFJMuG*k^B89Xbas$yYL3ds{ff9G>+{fxwN0f+(hfGSaU?56Z%!G~xG42v+{@I#X zF0cYs=V}FIr&{hUkmNdurl_{gsJF$1eo-z`F5=miS%e~VaZ(7SXrV%KRV~`#fn=f# zi+K&2P*$k(db;oJ&ox*_ZZf0puL5ZRgi*LTK?WiL#_^M-LF`BwAxBLQkcmhWUO|d4 zUM?ta@E6aovb@h&6s7n%~q+@JbABB34_z%CDNVUoPvMZQ>Svty0q{ zax=r$vZ!n#_D0q=Ic&9jvdE6v#prtcnCl6@dof_ecPD5^D7HRa@tVee*Xr0xt2*yy z5LO{tt}ztml~YvCQj=KfVu`{8YUM#Sjl;un{4}J;gel2nHXes$WaWU1X;_XU; zRD{wWb1MeZ(CeAYT*`ULm${s?=aSF4%-OSh&W_>>#YLQ{5E+i0T!jHS7j;t|=m>sv@=2omt@dk19#kRFe>95f)IL%AnGt zOf}0=NQ#)mqs#_iuryA?aY)C>9*@JP({!BDA0FRN597np(paX0j+2-mY)&bPY)9=# zK-FBpJUeY(@P1D7MK14n{yx7vpMU+DU*FCz=lS)_=QAz~i(@ICqIfsrC_2cb6tSg3 zy16qm0Okpzk2_Gjq%BPdfcmH zb}ji)*9BEhRMA?n29T(6D*~!gO{Zk1!|*r`Cp$b2It=NM(x{rY5HXMFqD^xQnj4HR zS2ykms5W63IT$QOmT&=-ZYCmx2uqDkEivH=5kSJm!cE!} z6>5X^s1nF(PpJfAmDGFk;T8pfnyeg6#8IRCkpYOn6hQIS7iC~wWdlqxn!349>Q5*c z^J4SGmSueZ#`EiZdC&e{mbY`c%#s&4d=^m5RR~q_2EuZIYO(~S=irj=a398eb_l^z zRJ_1xbal>Y^hV8V#z_qjtqd>93ar~J%r2EsqKe^RehMpLr-+rM^ZP%Zm*@Y<=U4ms&0b!I%Nz0x$x`@cXR`pk*X&|q#)Km8QUEnjq|nc) zWX|u4jLZ9&#*_W^t37;?Pfz}bNBQY-{Pcih!8Bl!Y@k{h;h)U&l)gXu%SHb2zu_NW z{kO09^{?ZX-}L3X^R;*`WfmnRpj)YsMO749*;`~iCIO07G@vT0p-9z&WtAWs-KJx$ z0lC>Yn%boxv5S!}3aMyTMOOrVpUlKs*)ttH!87%}l_dpQi`XJ$b=s&p%ylB7Bh8nd6TLjVedsvhj z=uQyU=(^1+=i=+OiBQVwaR_m;wkY z6`o@a=52Klf$cP;eR@lwt{w1*>TbBT zWOaJgRZ}{OR89k;IxD1jAG{0?yW;CoL(yM(EWX{Di%AgpE zCnw9o1>?K3T+%Q~nvh0Xq9wHfWg;xjcYr`F^qan%GdAs~yB^z3DUWQ#S{ zG?{k$YMa+eX1F5f168!G`CAoMG`?{ZQIZDHcs*O~+oEnBu=}LQFkw6-@-4rINUS=z zk~a9^KztgCuw>7REN5QMI$u0rP~0dii+e8eES8EIZGtB7qN*tk1|bavbe|nqTtuK+ z{}C}8Of5GYw{^2wIFd!S}Gpnqp$u3NO2K?33H)mQDZHR&L|XU zHU!+ly6pipTrrcqQAtEZ5?P{`vhFKYktqGP9iN~EA`qvFQ+u2P3Q!;gRHIv@oG1cW zrlk+EGvU?q-?>>_S~-BoaPZ)8O(PC+T9u&S;O2BvUZAQlLsBO3=_F6-VMszhlPp9A zolh0DU_QvCnt?9G-PN0KbTbJPqV@8TXyMpbq7EG;ts|4Z{QGSX93Ss9DF z--RU1^z?(80S1!SBWfU-9+xCwuvK?G>QJd(Yppe$;~`?WBlN-$>x&~LsL%ypYD5H9 zN==9C1B3%8wZUsNFBl+VEfyFv?7M@|7<69|0s;1D8tcEYAMy?!!CvpSkp-8e&i&&@ zN`#kywM8NTfpT~E7M$PQ_;Rea{~G5h_5;H&C}YcJj2BDc%y4!A0}O89k@S;DM~Hpi z<~7s_tG>B1Ch!P*R5(43foj+g`!%wgt=qmjV)tq92?iMXxJn#HT? zl2P8E)kLR*6`GTwB5EJP3Bj6?4qnzZM6xLQ6`LP?!{xXtumgPWx4M+ z*T#0)ZO>K7A{Ir8nrjsaxrX9^#gHPuM$K-sT?AG;lzWIk4D!_kiaoyWAgD)j=qd*x zi%vpFj>KFEhq4E)2`^4SVx-%;uiE)1xFSPI0xFpl2_JXC4}vxg-$zi|TC`#$QM?H+ z4(<#Wk%yM2M1WfHoXp}bs$v?ObAG9Fcutyna&okTkbkeJC7r`HM4H- zZ*T8+;Rc1J(XlIx;ydr6R@ZNAt)AW+s%Vp)A{xxBbLx238oK)G?~cNwTJ2E-ei%s; zO5EQa!$hNf;j_%(FkS&DZf%Q7De4Nfv)u0l9VRv|Y+7CKef5c`hsb90?aSKs{W{zj z)w&{$vWKtsCq{CM_5XqyhawxmPD+c^+iwxQ_suB4{>M}NlwGc>i z^9`P(0>*9$Yz)86@e0IVDqIPU%p^A&=!WbnvDCe(omF|9|GqA1 z4TNfOcn!2~5-Q-5S5TtZD%VrpLMXMg0VWH#Epi-Xd9!#{7|qa%bt;B+O};iAQ&-;T z+pCokv?yELYHY96j9Ug}-TVLmAOJ~3K~#;}okl~h?W->e`yYFFGjHGm@v7u&3vu*Y z5}PXrBQ8d!Bh^Dae~cIV$(EA@nv3K38xDE0U*M-wU#SVIVRIs0dMoYy{Z7 zMIDUB_>%Yl?hB?has8J ziY7Fe1hSD}&j40%P_BZ<<}z$16b6=OXS;(*Q<8G%Pcdl$La%P!*h&}07=!jk%5q)b z60%wKr4uN2*O>;dKel#)LV7h41~3%T#`k>{qJ~Gw)W2-WWAU{lL8F|r5tg3fzs5SZ z9Q_^`BIhdnBMww=q5tbEkumGJ82tuA(1a$K1}a0mQ9yLp;vHmCt8z+Zx)F!T9;WHYGLTV}P<-D%?w1{Ji*i@wan1UCMd! zT57%Et-DJ+?3x55Sm;?!>nQ0BAl#z**D6{`A;7x@FWaO6GMPnwU`VgVyq-9@nVH0l zlx#-IDJ4sjDyM0R)bED&kIBrYY^bh^mOozMwPe|)QD@J{nTI*e^TflP9-i~Vlz(`f zKR@M9k9vBthbQD2j}ON*SeduU9)ZAAc97%E1M zfIF9}iaLhIS_`SP*-ldE*V-NVVD<5`HHL^C70_X>Oe2$p25hw$NjVj;1u?loC9_Aal`D)N(kd(55W+>Y|lM?nN}2SV`qz zCnhO1A{!745jrD!go+??(PJt@t49zF2=Xvj6;Y1jez`2~C*%pgraVvc(_wx*9G(ux z=fmUUJRhd%Ii+Oz&`S0+QN(Mi22h>81Zi+7sw+kGW(YehkfgL44*Ef`O{U*gx1W%) zKJL}kO%)@x>YCY2xLH^+j5K4;m}is+^E!R{3Cn3(PPn}L>1BC)dB410mZkEo`r>sd zSStL27J$pSL3mLXMh$|3dC5;LV}njrs6y_lX|=F4;}_sENez;*wnWrEYU=}+WG%!P z8opeaaR|igPr+|iYk0WWo3a`=Zv~#B@g#avCz@J|EytJbxPvnc%vE*bd{jNd3skXW zRW(rkVD=#>vSVGY@=7qGkfBu@w@^oVtsMzqQ;#EAAG?njG%BEd)4vb4egE1fr1S=x zLr5+dA%{nN0KwYS!pQ85<06BB<*oX;o?h_#Kk#q=6OWJS)3bkiPXFUy^!W$;?Pq>| zw&w>u&YZ}cK~F%fPB@vA%_l+Ci{aVuX~yLd??3X}iC<56yPV&?==C+de#@tKE@#v; zbcRloX4JDvR0PN_Enejh<_<1E>G(u|7K4j9v?u~ZBHfrn{|ZHHfDVm)Qx!CDP}c!S z)zBkv)<_b7MR2B)R4y!wE*G8NZJPaX(lqJ#gyR#YBc=&?QZ^E_Nn}lscOXPpxl~^+ z%WK8gx6`lR-k#^_^WpgE>C?|ohiA?|Fg*ejvLPiNh{dcSuDm9ZNdDv%J^y zOL_UGFHip46Q7>S(*u8gw#OqsAJRj{!I+7Zm{R%Wn0|bm{`PEdzu?PT{m*}`fB(Jy z@q&N+oo}z{?F*Mz_=zZ<-08_fg3J{ZGYGQ+FZ7&*@cetCkk#Vc>$(=Z?R-?S2&n>4Sl+u?s_6$Zs)8_~XnU9$?{BVg1MZtgeihwvA7 z!i~aqb%k+f{pdrWNn39sjp)M+r@_g6g=W!BV7snjP*-}9&U^dn zcFxC-AKO=Px2tTz(T7+aLl4)ja@B#h|4p5@W7{s2L|=u1?{u#1-tcn_P{~(Y4mZb2 zLqx*52^(h_dcF!0S7-$4da~W0@7=XRK#w=xJ?2;A+HM}cABQ&Hb_EmtU%L2Td}fV; zzs-x(Y7xHomh~tkH#OvwgfwY7A{~-tda8=5U&%ZEbFH;5r$nR6TC!S0{O5EK-D`1G zRHwH*`HAlEB?_B? zy=sa(o7haR5%N``Wb%SGE?<=8HnWthnXXomepj03 z&OX1|y75N@(#HEqvd!maXSr>`o9G>oGh|ppQggSEY=MYiBALb*!RQzPb~{M3u}*9b zoe(*ynrF_}Xc!cjL8+=)f_x&W1I{UNo^sB}S#w5C%EUZB6i2C87M#xT1xvx=DrKp) zmZjFJP;XUT5-d?3dc#VWfFA9Z%oEL2i4t}!5yDD^2cy;a@30oy{W{L)?P8IeTm6cn zHZQfL2zT7hi0zc(vCUqNn}S%^z@W8<(ya-2Wgi1&?=KL#d2vWT>H=GPW&gJi(84O& zZip?tZOB1=V^dnM$t-}_sy5V9SWnP6Z_!zc>}({VN>qf4$|C-6eU?mQ=^xiO8c?O( zN%=kmj=EEAB(~!j|Fdh$nX8cDx>ZZh#!yuis^k7-slx z;~%v!9w@G9azQEfVX5PZ*evG%l`dWFhuF9`54Dg}-mK|3^G(*+lg%p@76-z%xYL1j z==xc7QgGXwb&A-{DOeFLu(w^b*VrArZgD-!S1h`OBLp)(jw`qk+i)Z`%GPJ2 zo6fM?6`OVJc7VLmYuGYzB2HiHf#sO$ewSIO&(A%B=l1H3Y`S(p8V0tWijciRCg}z3 zZl#FrBaPaHN8fI81AVV|jMvDc`d!*W~iRBUOZcjD8gC5obgmK;EeK|2YHY%M5*rbzKmvs-e@0ShQ?f?5`AmtW8osN$WZz!-^-Ob(?DWj3yEreJDt zkPNRN097da+#3>PWKKQ-cA1}HGwopZ$n~f&zeiWVx5Uey-q|}WsYk;58mcH?R=RPoO4N4<>wG(`vIOTktro)^c=ILpg4#w%g$CQ#;%ABDIHOU>dxN3E0xSgm3b1D&;=9I8h zuf><@=Tgt^<^A$fv{XMAzZ6}nysAhV84}5&Y@yI#1#6r#%29n4b3-h>sY5kv` zelg2A&p92E9f;X16M4~zv^5NfhMsc6NZvD1<}T5_NSP*;9MUXBd1-~oWgvY;`Dk0r zNwSN=EqlP4I4uNobT>9b$Od;3@{6ZxWCcxFM9Vq5<V=!TL9??fWKvDUuR~!?PZk^$&)0(Hq>p9IiNo zD~Y)ke78Hp%WPs45lEQKkTKK!K>T2(=F53LpC8UAKb@E5>$05c>Fr$J&wiQeQhcek z>JT{{Rfs7!!HdBP43SeKS9PIAG(fJBngy`!UCPxmu%ociMoPF@%Nh4|>%cmY*tph( z+AgIrAY8FV0Ju6LR<&dj4N$7Vq^yBd8rB%QwqU7MbAa3m9kL8UnlM#)g=SQT9R7~t zsE)FrI^0p+ zlzLU2;Ag3Y3q>?QvlJ6d_27U|3+st*FM6SVwKC<)|NE4lKJ%xa^z$$JP|7 zyj)&S=Rch$>_~FrhIQr8;k24+*Hs_pSX6gCBrvrcfl>YhW^1q+#EI<&^dZ0N@wH~BEwtKAAT z*|P2Qc0WT^+=;WextfT-so|^jqJu#K!JJmqs&>N%#$+~|?A6aUOuk(i=Ej~}8R>3X zzP)bEuQ9Rg8vY$MU@zq~A?u@8X#Z2&PO__4ub_xmy;T@k_d{wgCD?ST{-dod?Y1A> z+^1JlFf8-__rXB8ufDP0z}^{?q5Jj(4E4`G&~jH}7BB+D33cQ_`!(%?*9GfAH&36@2;C8v~K%xCl5R4{&;V<+ZtUzWC3ok*YH$GumOXz5f(LBW!+a@{0lhL z);sU;0oX4MoAb;Bxg}1s@=?sFvuZ7+$Q5RVWTe@Y<|vyN``STR5-H|LWLJ%pnwFc( z7E{}Delwd(*!Sr4t3E6Xs@`16X|Rg2Ut|AmS|u?HsaS*s6OL}9BiI>isazIc7WV~m zhbO3-nOT9+GV@fYnQ4|KpC*!qV-i%)zMN6cRx4`px>T3sm36gT#6S|mNYogIfG{Ph zUI3U`&N=4;lVnz_O5MiQT1ZKebtH`j9UB(6%^MN6&KMsAngUdfJ%?c2plv4EcIP_z zw`aiy6U<%Su`Y+32Z9|}F`-Ko&hXksUR49_L`TMsTO|cmOd(e?0?&Kq+ory;IsPq$ z_+Kk&%0@Hggp_@nnKGUaxs6D4H+L+H7U0*HvqY~}7A?ifqEg^hP>DDUH5f%A((Al| zqb00qhiG;LGQ7rBs&I7_3>)au_V2xTJ`Oir(U5pe5I=3chn`C|SQYQeOT(IOU#{!5 ziGQtqxO;*dQ@rbnXphU(yi)?U062B=%SE{FAig8Cg+pRumt=NZs4J@$72og3jf2Q) zy=vhgU3sMGjx)0kKDOa4AkcQzP%kqGT~fZv35tva#-_Kf2Vqngudl1=A{h|? zn_qvsybo}^Y?Rn}LzKSzqVFBeaER`{u^ur8tgh%5-Z8|%5Eww(aXad}?2OH83X* z8mge%sH35)197I`c6`STzo%sFe^on+X}>x9uJ3xs4HX5j)_z4dFRW|54!jLW*4^cu zqk6!-Kq#$Pj3VD}GGqY7j<95DR+?d%Oh!mbBD}g^P%rXDsL*0{X?6o^uXMFMv9xDi z+mPsh)X2h?au5UnKm#PE)Y3`&IQx-ktkF~3>P^j$+bnr@0yH6;9gGL^k;pv!L}b`Z z9?Y`Ig~ffL-n=gIv)5PoyXgd+QESyjsuh(M5~kct;1ojUwvN6DpWAA6AGmi6y0~|= zORZnt+w(h~dvpKz;L7{r57Tbv(5~CLVro~-j`%p+In@=ZymM`Qvr*~L3b}2|b`3_A zRtBA91AZq-Hf#wZH}R|i5U$Gg8ZSHWT(wG|8+yU|mhbgCaE^4)YJhEwo1J1;j*ov&LWr(?m(=uk?Z$Px_Xe4mS0S#UiWGI$4K^=qNuEr76F7NA}1VDJ|sJsrNi`dwrRFQ&d1C-v*D-{lZB7DhB#eg zOV?TfSh7S*=41nCDmqtRN_|`E`CQ*G%loCgR=*V1sv_0OLZia{EU_gokI7*I;2pBJ zhh+pnQB%X$g&B^|Aj)d<^nB%C>pUKVn9tYB+}(jZSH(m zPfPb!2f+)x(eSV^MDZ+PJUapYfvz+8s+cnZ`*yOPcMSq)1c3>>GTbL?=pX=0Tk*#^ zMQ8;m&}lNr3_y{kX`YXHI;81w$`5&-lTA~4=qs4W#AO`5MIMPw7E=4$RlyL3CCLTYfLJE$q4|WjHnjjdcM{su`G#ALu&xIgi^pS zc=F4ooLJwcC8d-pxNw(h3tCNjYgw zczUu+;j;Mhx2atG{CYUQm&<#(yqD8^y_}urqEhPOR>de1AOIe*BP^iPNq18~zXd+6 z4;pRzA+=}#50tpl_GnJc?gp2&6#P{ou~9i|v(^L|MgfdA3xIm!jVGtKWILsHW|*QI zO=nx%3F%g$5axhE>|duy%?hYsc*ZQ0it6x!vY@zoMG5D2paMj0X9fGI>z1-BZ*v&< z_v2cB1<1`R*Ola9q|wP?(Ys6ubXjBtJ>&k_X19yT39TihdJ6;+jG#9Lk|`w8;O@1$ zoL_7C`qlpapFaOTdj5=`f6+hxH~sL#^z#pgpMJ_e{ZNhxQxx2V31@;CpyL2194gfy z!+YW>`}skqir1=d@BI4C*Y|S%g12uveM{w(meb^mc%faKr5a#z5Bn^uoL*TkF)os8 zMNJ2Yia}f()nG9i!s4S07;HwkxxSM^b=Ru38qvDV zsL8&2Ik4T@zH9cQJFn;+-ha7QnQrfo)<5dA)SSwW&Fs;}a&!Msicf16+P#VTNCn!G z60W+$9wK^I4;aTa-eVt+>rNvdI3d2P8?3&ctM)_O7-KCr{o$s;-E3TIl7pQThzu3n z-)O6?bK?g6uRGv)(GwvM%mxb`$*?Nid#ZObXyYnN^uO2W<+1atCLi+RcXh}=x&DHl zw%)ph2&^h)U_^F}7xLcU-s(Ob-`Dh9{t1`?&_u*_!|bTUpg;S#w?As~zMmlw^82FP z#sRcv*BrYhC~|ML-nzODZTMsRdz*^CV6fO)*!OC+p0FGJuU^{r*x*+DXo)%aY>3T_ z&7OUx)y>?ECQL?4pxiIsaN|8*m%hCrb%wGRrnUfv)Q2wVq$)1+@X1!WCW#&uuN7GQqtd zR6fmYaR61-lV@Y5l+tvQw6U!znbEXUQ4j+BJZW(MqZRvEU6w7nrSp;d40b(w+g1ry zICNl@)<#R;*u(agFq?FW5u2&U>UJ_BNHDk}d8mbNt^AIq)K(sW4Nakwpr%Zi0)5Vt z5yWA(oP5sZFk#L}#!O3QXUZ!}!BS8bECpWaj!T&Updx(z4SGRj1!1|>R_takQr#1> z9j-MKqp9@jb0dN_oZRu>jU;^ENwb<2;?S+)%=*+lJ{vQ0)pB2~+SmCyeP=UpNT}}Z zR5jYL^}MNl8?6AaCQ-GIJ?p+KqHriV7{;{{yRpicJpC$X7ad7n^U;n|G$ zG>Wm=paqyCYTrfW=p?lCL=MB0${;5bH?bYV`&@2n#JuxMruFfwfA2Ifoc;C7akG7o zJvB`bHRRvD^ttH~ZGcI`>$(JGSEC!b`Cfy#FGJqU%!f2{;QMy_ptJ=CZyPMOc}GPW z*?ku_cC#_E?4gtEfo)`98&|g?2SW8u$=QoA9jCKLpbj^V3v@*#KDa&_cyBlI z-eJ=gr1WO)Bl@;$?C4!zXJcz&4N75bZf(SQle^l4+@=(3|MBJ;H^%k-NTb*AYRG-C zY5n_3x%|GA^1(gV0>-MF#CZqC;C_YrEQyw#$<2sNn}G~i%?C2cvLRETyZHiD*IBAw z7rGN3iJPd2d0&R6hp;%^G*Ibrb@maNksv^kQTnFs!#0Q2CIH}os}yvjEU_EtVQ$N0 zCMMFzvb7U{rcWb2H3M`1*_vt$mG!H zeV6)`S~`S9N%Y=o2sW|pNJdUS$(+M3nhc3+B|cds>~$?^Cz5SEVx0NAy}TJOHb&fJ zLP#5BAXj&OD}RON;sJ1r@DE^(i|$>x(~&FW*Y#O39%pOk-t`ed=#zhEn0GG=WBAtY zb&Xf9H#SYHAKsqn%(kGNS+~&L_9H>MAexL$i3UqHWh61Bbj;~E<;N*M=6p0xb2=vE z%!!yn!iE5a70+ArvQi>Jx8ze~##4!^WpS@d_2Tukd|Uid>RUkl7r!k2=31B^gbIpG zl@7?(?C$^oAOJ~3K~!W>?n-Kb?KWVIJJCZr(5UjdtOHaGg;r^_1$0J`r7@}~FarRx zG3Pv)Wg-owC1A`n%QmHS1fp7Bhg4J-x1u%^dE`80n}{i4KKR1}pP%NZhv{#h>*Le$ z`Efcv*fAp~7&#?+DrhO@)_n4{y1U6-SZb;TrP}3;_jjF6I?2AxR`gw?nGvj|!m_C{C96=qh^(aEE;Z{iCz~@4hxy@n zcs@?YiJveZ568#D;h55FX=0R>%ni09q$=;?RObQ1(TP>vs<1@(?T4gk7sY(VnSgLh zYzoY}_UiC5QVYDJN3k79My~;@kZ5_bYNWuIiJeqRhRQpPD{B| zEYhW*EKr?LRiZ+rGF{f9XWWb20~?{Qf4seCW~kED$}yp~?_Mgu;qRx%y%n+gyz}G3QJTgqaBv4e%-z)B|c!ad<*? z)Uy7MGPyHq$4an4;t5$t>Qu6aFAVbEHrlpl`m(OhcC^@vPUlba<5QjwWJbz($d#OG!gQUBvN{_(}$zuDyt<-GVMxr}a!%0nEOX zLY*hR9P{+ZhbKNi=7)#3pP$mhAw50%A!B0Ap0bc&pN{%G+uxq^sqovS{`yt__M89q z?egtcyu8$xKjzbGy1b{d&}C+(Z(X4+qg(^p*)hIk1QNT= zRNX#x*8lF``4|K&?Ka-j%kV7qJy1EDr(XYt&1{fn)l2-oB8Zo@xIlFK4g32JdbMLt(#$Wz>h=N zo*F)K?OwB?-08sWPPloO??3*@b+t_0ThZ+=;g`9unMC8>Zw_(%w#4bKOATXuZ$9%; z4jH$ z+eezwq5bWsBBOF*A|}$MRBOGwW?(jBvMyt~2}`+vKv}$=0~0SSK)DKCxFe~~ZUP&2 zOxFu3B8tw02puX$yP;wFHE{ms{g49OOnpQf`AS(*=p$x^WORW6d)y$HYL%8Hm6EN_ z505riNigObm%BTc7gVpcdUY&kyPO4jf~N!Xj66BbNz0i=Fij7S-R&-UQK@0a2^cy8 z%?O&ZB$pG_ly>Gsfh^UPRFp4=iT8g?MrO+~2 zCTN;%no>^8^ODJwEgR`p7AzN>3SJ7`u@t$Z$mQ^+olQW4j*FszQi)pKiA2actU%Kg zQVW1z313?wL)d^qC=o-SCos(R?Z4a68-(H8JJ*@NvnY*FUVnd=f=No9BYVqQX!D$D zb$sJ>JH0>ms7@T!;BF%w-jl&P?h~o5003<>L{r|X)mbRgrmGD$jCt*Cd$7k3Y@Khr z(YAoIovfn%&BvrPDhNbj@908w3B9!08m5WiTqJD9H8KGO=xiOy=_#=B8a)h@xMuIW zjht==ePzTH}qDX7wp*LRxC?l`#-8hMqB{-*-Q)u?ZN5A9$V>;E08YV0j{9+Z!} zu@>%VXTjIet;-5@9M&$$_Z*DY!mvfxS6kdQ#GJIB*veOJ=YTZmBc1i$Fgt;|nz8l0 zS63%5K{}!fZOGpdZY2$x=rzmUv)YYWW0SImN2KQM+I+YCZg75Z^pE?tS=hRnu`{@~ zQyG~`S44j8lHJvsyOJEQ(DnCY2Y^-JU{BlaKQ^1~`s#J6tGA5OYihao_HA7a+w#?# z4!nlsek)$TS8DOq*q;mB-#oi#*AuiCA)+%oPw>Yw$$f35Pr^Vqwy|q)DBgLz_b0@^ zg3t{kD+T6lBOGO!mSF~)1MOcxGRE1HFR51eIn{+K6;)x>Yn@J@A*s@XK*Xq5;_0*q z61?i$jo8rs^iD2g;mjps=z@BtRC(!G?k&g08HjA`nN;*x(7;n$6(w$HaiMOE3%w3)3rSl)_7j2q zPWb2`-(BC10I^jrizdF))Soh%+h@N+`qmrPdwTo#NEQiYl3=8Gw?u!DsX0xp<5ZX= z(N>VDRwSO}#seI%Jw5p^Ts_h~{M^3A?Rp!n>TEGHdO znsS;B`BMi`KU$iTwW1rW1u)d)&EM%Jf$l(5)w3K~1aV+Qt5sF1@5}jee!pDKOTAob zIqRFNR4q~syg3*IbC%Z0@UMntT|x(hcMnM>vGd(n5i}=BOW>|O+>nR>>E`|q4{(6Y zM}oL9hdgYSlT9g2q%p!_09Ch?hy=?r7MFxV#|4R55^AG6Ip;asPmlA%A$>aLr>FG! z6Q7^$(<2{_`S85toXrrG;{!FkAbDwQtRf(pp_(L1u*(^5@xOQf^0NH#$NS66`>)^d zem=dQms2TA^+jMZ$c%-Au{M_NK)5?oGQi#Ci%X>3tK6M|(c&K7?4Ejn5vzdX0L?>z_RWhZNEa$^K<%h%koad*U z=R7@-Bn&VqGHk7v2}goM8!`z1Ef5J0Zq%d+ih^iN$!KBGXaN`#3_xxMxZrVvaEe}_ zQR;!Tjmm7izl9;R+d!wR!}_38|Mq*TttL7ZI04L|PqWspqJU)LiB1(;&c$Eqk}q%5 zTbgn@rgWI6$9Z}_Oi%Oll=DN*b3RU&JXy{;F?@V(a1zc*k$BMMsvz&1oW#wZg%7e7 zS7OAy0fJo%ZE`j@B$?g6&X6=*2tRz}2m%nY87NGWjPn7S;o^g^Tx?m=`OM2@KD{o> zJC=99yp?*YUZissieoV^feK)9n5s`~=@9~8YIPI6*Mp%9F7tJBG^?VjZ^jBbYjdA# zn1?XgvZor*Ye+tAfdM#0w@8mb;+BNugmq|v2wIF5GziU3z$ot-2^s*}!n>Y~NU36y z7x;wg)GT+D1!cjqpca(^NjO77t&l+xD7=|h`l(KBKgT)0WsYniES&^w`{WMS3ue>J zSHNEA9|PWjt)2d+_6jc`AVhL^1GIIm3P(?aUlu~hIC00d{X39s&c1`5>+IJG6hGCAfv|G$;}wr zqYLTQS4W-8y8}rL8&;|WEmotdvc1Srh?Gjfa#1o*M@tja(WWEw!H*AqeDwK<=}9SJ znlR5uM9L=1%1g>zmU^kY2ygP!`TT9UWIO-c^ZVoU$MZaYewd$+(fR zvl859=;&63AD;4me@g$ykC)&7mA}8G-(LJ5zm>1w{OgOCGcK?6v#B0{YM3EoK+u5l zuyYn9B1y&Ms%~XTr+2)6;n%6o*?#?jPmlQYLwb7l<6IwdeVTYkbebhgm_8r;dGa40 z`A>h#@6NCPS--sE?_cqcFZJs;eEXvFH`e9g@Oq(FGgeczO3JB(R%0gg2Wyt2M%>Y< z{hm5TV5}s0Gm;Dmu7h&5YOPlvzprOrX&|~soUd*k@9f`f;lo?S@ezdkx+ne}slBPw zkh*1UR4vvHU-=+EQleT9*?H*NgRy3gcKGvs2wKzZzNV5!gX4`E$H+t9h#&Nnf1!Komg`3f>3mWh3-}F0&?4_$mR^0T>S~vWm5BlH#PUymS zD6}2xdC1fsA>&55Lapc@guSb~DK^4x7mjApEr4KPA|eR)uF(Hi6|emn;eONB-ubm0 z!hUEw16Dj3T1zDE_T+7L4tsrl&rmqd1G~R)6|AqKD>@jy?NTn{R#_x@+YTC6qjAbN z@xDJa3|9>gW3yDC3w|x0v_%YFkMZs?9A%0C4&&eu`YV@u%AoIznSIp;D%QhU`hx^- zusv4jh_S;XnO);l;@?2hUTGy&wJZ+dbh2^+AfpPZH=|Q!a-2Y+oV=V=FX6T~vw}Hx zml#pX=CCR!DqBDx&5VlJ!s>2nW|+2`t%o^$+nJ`^;dn_3rd6)M<|$9j`q!k?$Uc_T z=!T`(y9HiVQI<)lOOz)dlq}DAHZoN`*SgqJR4!UBS}v%y7B^JK8RZ-`8l#c`N%Fyo zWCk-&GpDu$(|K8KqoH>+7oDqpcCQjE>ZB$+_xz+*$V>uIBz6opwDa2pdG?*t|Bj-1 zT45w9n6XM%HoDQODSu#$@7{LWYBQgE(XYANnn2RT}8G#VO2FH{$< zNS{amtR|;h3*YcTe~d7upp$J@k z^`hMZtv_{THpuHb&mMuyH+I$jaWLREJAkueMGLi~nb%>uNTsa=a(v$h!e-a&Ui3zF z641dvOeT{{smfcy4gd)3xsIK-ntH!)d99vfE06nV z*Y$f0jXT^K?nhl6Zy5N_eOfVIUYBdveRcgKAp|9@wZ8CjZopJbLq|B~z^4g8H13ODpmzsDjDBKGj z_|DSo`fxK>!|Cg;sqT(SH`*L9NR@*)ckk`%IogTbBvM2skU=z8lm_Hlm3yuG`J_eSg7 z=5>`Qwt4Bd*?!yf%R1JY4*}3ydg6Fg`+jQzRvZeghT?TuhNP*T!m+z)JhOKPII4uB ze7wK8dvCAi7Jy*gWoz3v=vqvZkpvJ-+9rS0qy}BJ)duFaF|cm1@hM-=$W>&32B{3! ztAO_Ed#w2`M_cc|vqN?Y?C`F8(I?-fjW;c9AIDDFVC@*Dv9imD$zehwlVFyPv@9dd zT0S8_AYU$>p%tk@rJ_Iueuz`4Fv6oEqDKIR^;z57(J8G5bKjK*Y5{rch+e4WJfZ&6!@a4U**htA)u+BHwSy>7SJckYxnV?ryca`W=r&g^Ba zo!Mu%t3U4B8kuwejX-k0mnyDuS1cBqK$8NPq5r+gX02`Ql=qhGOJRdR4#}hWKH4tn z?c6siT8C*Ku2oI20YRZ|i{}-9qr%m~=>rmGWKUS_23IWLdJ@P@A-EPW%x~BFb_iG3 zcQltaWE(@Q+M9qlVLOfkfMUe#D%8QXW>B!d@O%rP8?4!UJn~9SPKsuMbIvOGdtoTrIgI(oTg+ClRZAnkH`6^hw}U| zeR{IbPwD9sjt3;G$%?0mL>1f(RDqRJzoQ`QarhGI`vQ!;p18z6L2#Y+H(xm!WWv-eB*GyS?M9zb>h$`J3XJR8~d2dnf zX*4|uy>D5qr&k}))_ya64Im|H$+eIq9AOU%*HTqMAsImiF>N#hEK(BS4wp!;(o%|H z`j#%)-t%O~oQ|^{)BJQeKFr4_91ipRz$o#U66Tzfb->kN%3vUbkg(du6@>iO#yTqD zV=~_;3B~B7X8s<9(2dMp#n+h{+PxsLA@aaz0p$ppA)0dN#4G$zU28wy$DGKsy= zg$DlMQg>6i0S!W+S1e|XEP`EQ^|=bBMnS1sGsOVGQLTnRWkLiD`fB~_WDbE8CPw_1 z2bbj}Q=~<~gU7AM6w3xm)NJbsJhZiU0!*neq;IfWBtD$>Zi~3 z`KkP$|CjyvBmd=Z55Iikj|V;EIo55B zQvUc--@f|mSDjw%a?<&f$~$W@nt5ftm`YKhs<|k*7E>SrRMvvF@Gf^WBI$Ij5v*cc z+a_nwJ2B--Q``Rqz%!SKqZ3-@mHP#SmQLhE3;%r9`vLOZPiY|-SQ@vpR`p&~aPk-p)5yuBUJ@Us-`RU0I*$ini91T-KLjGk+304n!ujTjC z@{gDL+ZX@##ee^8`Sv?szLvKaoL^HtPw>p*CM0^T?L@BOmK{KKJq{lT`s4STNkaSN z24A7C8!|eZ&eU|*#Cy(Z>?KruY?->N-;yIxdjC4^w`Tr`#BQQh-HXotY1}Tm_3pOE zAF0Ys=DxDNaeE`zug4*7Y3uh|yYmX+9*OzW>#DWySOABs$AR6sIY_I9LV&wwy<0eM z-Ju(A9iFNX;Jsp>q4`s{v9|la+iML5h~9FfI`3TGV;f_nU|-qwb=PK>{mTa5BzL+E zxxvGXI@zsp3imb=fHw1u1BBXh&oiW5|Htd5+d+r7zputJJ~}p{W?{d->#k1axHq@K zUcIV6FwAxchd%7Lgh<}FedUcgJ67uM_SOIkyypGyySFp;X)`!pTN1BMfkw;6aCpCC zF8S!X-Pps_?QBw^BzNm&Q~%ciu5u`Q4C|G8fA!u_U8t$~G*#RkwYmhal-zw;YJj9e zOle99*71g=C^H}B%`&EAKx`QklbPiznR_JBDpV=6sDdZ2l?0GC#BW~-rzBdl(*rHO zc*M%v5s;{L)ds^3C_vJH95Lf*K1`pU@$|^EFJE8JWvR7xF+Sy-vrToL$Vr)&CeBAM z#cM^Wu4;0q(4o47c45qpHR8Y+5O|@YTSTij(n0Ia=8l5y?zL@8)~amLjesR@0(l!+ z;_U(0ZQ!n(3=7H)p1l=NNUKD?9*Xt;D?+q>R+mE?<*nt6fM2{WoLEHYYQKC7Cfos3lhCWvOy6Wh#p=MN5sKREZ8#@iPExZo`(q zA;41!deG|C6RjE-O&+oI70u-aB8k;wf%n{sObYy2!U+*oO1q^CYN@~I`@iO%t4ZRT zEA5`WFMbS^>LV6YCDJ#pZ8U5?yp389(pp3Gi^@jUaYi$%VY-0&(Nj90F?RhTa0ix3{!T!ju@f{6HjT5eBk(AHrZ) zfgS5)H#Z|J9rBjP$Cg<00k6L{AzWo>1#f6rDL_-BR5`@1k>iB*W(UrA_3B}VtPmaO zH&!YA{}C~7F7`&(9<3d_3YWa|)Rj_jGjrE+{|BPlcZ9C}dR@&@7c-J+xB23Jx4YYW zi-BlqsGHw$JkFyi(v`4H|84EYnOhw&YlnM+iUL(4+U8yLs>?I2&$pBFr`N~AjQ24$ ziCsf-d=T{@pFt?B4W=WyZ{2Hy0z;8A$8&A`PH*org=^y9;4A8Q z&%XcNPv1rz5dgK5h15CPwbZS3##Umu<36#U6I3zm+f{5>BkadE(bq`cJ#Y;?rc!s7 z?Cy2NQhNwoTrtLYX>@fv`@>co8)zG7GnKSoQp<$fQKGGr{p%eCZm2idy>wLVR%xwu zSJuKw0a;pef15_DmAm+Ns==kI<zOujHZ-YOl7$ z_iUtn;dUQ^l}BG^m5d5h`zZp}SBAF&nj>Upg%2BmL~|w3M7c#Q5t(y3B%5SEOmf;nG(ba=xBv`Mo}qcSuSPqTFT|Jye;K)sV_A!NK}O) zR3sI1u%gu>k(_c$6@zOTsBn3g(i?5ui6YyKku=LKjf05-Eytu$Ad^`F6PdEber89Q zH)D>}p3Xolwb=szIW3$taFPi;SV}29Bpjyncu1cf<{zG?&kyPOX?}X-(_wm;c$hIy zNHauvRjq)-9i?D#hY|2vl2>?+;)g%ggKKw^zKKPhVc&UeA|{s|0~2 z995>25&~{RCcxcKTE>881XN_~0I4N24@|K3@GQSNiQCy3SfZM>tDIKT$kkd3DpJ0~K1ZFaMAQ{yEMcbP#%aSYE zVQV=Mk(v7pHQc_pX&lU?C;k5i$z-C`WRvU~&e>CD1mH^#4j>|jT~(A!VP&UsXT|^^ z96tN?H+hYF_`5)?9 zD0w&XUfr`czO1Z}!8e`8%wqAKM5FYSQlgnub42Jx2b=~^Oa@EFBh?ValMxg}Nv>6k zab4@0{pDRinbI=PZ^x(kIL%)U>52K2^OGHqIUmxe*`rron{QY4Q{=mZ*^Ji8ddO4& zqa(n;8`)9ArhoU9X(sF7!tLG?rRL&P1&~Ts6jZU>>JY8M%}s!XAJdoubxZ^@>%pEp ztrhFa%cU-tQr6Su{d{@N%enfcu5W9(EGp7^mU(M6s@TwScch6S#$0fhspUz~UybGf z03ZNKL_t)svMG^Do!~>v#3u}4BSGqb{@Ek&FGY7R!og;3QAE-}N^Gk~(37lcfG8S> zjHnCmDs&gCeS3$c%uKK2>Eji|(*p*B$WnznqQC4i!Hcg8)=FPh3*1o))aOM43C+vX zm<6;e>)-j>w!^MyqTTA|kZwPaKyTKfe&O)d#F_yx-%N-awcr&(cpi}m8kP#HV1Wxv zut~^ZD%m5YgUK?aw`F~KSyM{?<-ghIuj$91^FRH4{^!3P{`qJ8{RjVaSU*qUs?V8= zLlrE5^OArB%@v30U(Ixw>!H3smCMim_KN3cKEM0(JHEY?m)CN+OmDx^E14q$KyaET z8F2wXRmf3`ytEwET07@8QKO|w+de?^@pZ0K0_+IDbpme^5Zn>1O{~)eq*B4PTBgpd zN$bSr6=}AamQI*H`TV5g5r?CWCqEqR?3(jBC!6MJ$_W`sq}L-?6knJ6CSIU#lg*q@ z>G&C^)8Y7aKAbEcQ=U1`G{bR%3y$Km>tOzMvY&t8`78gIub1bGemm>mUhwO8|LuGE z{yWZZ)EnL9MJQ&d=3rt@!jw{Cn!s6-kX=?KW|jKpudnu=X%nWW^xF^k{AK+*r+mQS zE1o{BGkmIc^mJtYto-$;zaKCE>5I;P&r7YpKEMC+oBhkbtiSx?|N7t4%eSutXolpJxEXvqHG)(cH%q|Lium$^MNQG2CH2)V-a2?-&|K_*u3>U1jBo;krhgEe~KLNBX{r%uOywDwfTJxPfXzU$7VXMgRM*e27jS+PKtGloY zHaYW%2z&9({ZF^=MSBVy+qpmeL+U0&d*Ox`+K0Czw!6#xF4)oMzLjXGiRqh2f9NwU zV!WSMMNJyJV0VF8ZQ0iMOUM0u(KWpxrSQSRsyk@<>rnlFm5%dQjz8d;qnvu5ZsbJT zsklRXZzo@GI&Z;ELea-dX2xWRIk|*cwGv2{!oJKlrIg$zGpJsWr&_B+8JRg*J^~G+ ztSkR=6>WK8AZc($5~t-JT9zW4SR$E*yL0CYFq$_+-?+pFCs*nTz=QdRJI!5Gt)e(j zd4Bq=r&Gm(>5X!Earas)1z&9?{VfNRPt(Mlm?pQRtPD{~DCV`4Qi~i}H2PaZn5(cF z)!?L1vfMXw-v+oECz@zXnYkrH4?`Vn3EcD^a}0USMvd;?`Gaih-%P6a4H;&dx-w7Q zdwI5FFca+Fqsc9?qeVBnwIs=OXHFwLoMXx|%Y7FLQ(}}h5D79W znG)nCcU&%BDx~CIIaWY~N59+Rtvv+@M(#;TL@|Jx zV(bWf3W`)%(!&Ofu{uO=AQKLV<}hCKdFs{?uO1QEum8@p+kbu^%gqyqLFX*(lWA@I#Z=Urr3fG;m zz8>z-h{)T(pLP+l{c?>s-_Sqrr+-BZ{l52aP0|hi&{!5mbmm&CZ=>xB=XMoa+QuV{v3@L`OU5p|_?xAnqK^N^U`#M+N)3p8|YEIDmgx*f@sQKNIyXR7tNk2;n8 zlsofj^6_q)2jc7_V~#!Xy%CSL%)GwN+uiP!e_%J}-Amb@xe;Cu?O$Enmkq&{QEzbL z@6wX4$A4`~M4o-;;a5pfogGyG>dmJ2quniI7>>B9 zhMXdxE8Aq-)F13z0Q+eQQMegbB|~X}CvLAXR5uZ}X+gKK|J{du0B=iQ81dad=hC+Z z?4Nr)woyI0d6zF;>AO~Gn#JDo3wt@WWkZ4`F*D81EKcC$zCbWI+~q5Lg=AjWRKjB) zX_$aH5@4QJh=HIZO;nB&gC5_DSd^UZa%VLqjv(j&W@tWq4P(7+T9Zmk2=3NLYho+R zVkR@}Bs+OJ(hjoR)A7Q=R8ilptnzApfeLh%U!)qDh7Q8d20%t6fu366P&P@Tj52v6 zcQXs;l{Oc3hH4iFTbpY2_MP%8Y8h|v;j6r17x(JZU!)TZI=Ipy@2%_yE~!6w%DwpB z-Scs}-cSM?PBvP`N#p^rNBn!pr};uDH0=K??y8}zZBGe#)3Km{Th4GZnGM~uZ3Xp& zxq+J%{#9qM^;c`}jHbgNwD2ph=5EtTY8kX2E#u9Idh$VVq^AFmf&InfTHSh_TH1y9 z$eb98mTkIvcPx!_$gB12x#NUPE_yblOiO7dQc8!(PB|TNdYWt|(v;?uCbJaS#8Emg zSyYDyz;rXl%>b@cB$r1ZtU}QR@a^?|t;>16tmRVOU8VS?`ckoql8LEG6_leEUn!Gn zz`}&5gK}D+$93pFws3Pq57RaAggz;e0WD~mXeIs>kmn9{X@T%>mdIqSEF$$ni4-ky z!woDc4Q}s}lsG3#;WIeoX`ZIjln;l)*C#(7rq9RxGc3tujES<2h%`tn-8y{x~zt-rmjZ|BPewt8K(Mrs5s3PO~^ zI=3oRc~Qf!Z;D=3aW5@lIto9E_j(4ndzGW{NkyXVwWDzGy-xE1*&F*U=I@>0E82_;h|KR+OF$+wOQ6BbEJgS8)=z{7&P+DtLp~hybh30bPOyx8z)0FsyI88T z@mel35?@-9O1FeDL{enAHCV$aQFZ`_e*_#D^q^|C1W8PP%lBs^v2@2$p~t&GD{!5tes3L5dE82Nk9$ zxA0yJ9Vnfdm?kR25Ad2V&RUPlWm;D)7rnjt>&tq6zuZMQXclAwEM3^Z;}eb61C^tI3rqVEfE!fScf?+04^por10;!SH?R} zZc38iqB-g)0cQg$h^0;pHocjJ9vxZYuK?yUq=0&rr;55_s&Lmp1t=Be43D`KsKQIY ztMqV4Gxdg~g7-wNaZYT(_%-mA_UcjNA3ZA5FTnoTi$e?lZLcIDT0yK043j`qb|^KI zp$ZV#8iD`|1k?l)DbuVVN>3fCbrFAgv0wf*|L0Tr{KNZ?f3tu7$Mmzc>(9Qdc)8$Z!M8Jhe_vmJ!S`2u|8_W^ z=jBc1)p5b(hjOU(;s&Kuaw>kHl*Q_21~I6r7BB-YdaKeC;AXNgH;ptc`-O|W37~k? z)}ST&lS!y9hnpd}s|rlU#kh#5>yx-}dQa2L*F&9-m`?~rF^UBm(w!6z8|N<)A4Z1(~;Ac`Sj&*IF_85Qc_M1FWILj9Z!Dw ze9HfHO#k@0{JS6P?`Qt{Qvb*A{@Y7^`5(Nz+xzQOE~%7|P`vnJFG$9GSkpz8Wr@m( z1TiC7O(E>jN`-$%L)8cryo7%oN&;8e45w4 z^I!khxBvV<&j0)WUHIIWprnaM;fC5xiK|uN^Q?1!^h6V8>@z75hLX%dQ|mELD;P2P;KR`y>sKP zG`R(gwd)1ATLJBLh5oCfc^?|I)Oat$IK0*{BI?YK3b4jQy-l$4){(cN2ix@s`&pJc zryOKs7+7jeRdP0#5c%4;N`na8E70pOYxfO|TI(ai&dFGKejOA$L)T^9F)JLMFP&l^Gnnn^?U?%(a zl#3ILh+`u!WHKtfB$K&!&&*(V!Sn8>JK>aQY3 z-aggg&G&8BH1!=_*fIz$Y~#B@_ZKR$h8oiyuc;fHFi!(;gBGvGNOfnr_4G}dsdw?{ z<01R&M&I4LwQZZruJT~So)X;Gxxa`9!*5e)myM{>aQSr_>!XPWo1_5kj~x-uO|+iK zY#`V{R`>#M2QqyrrSgbrW~xL* zo{%QXt;xN?qi>rFs8&%~HL$_GqqNc2w%$$YGN8J`Tc89{mg^q6hGb}(euKm~7e zZa>vz$68CG1V67ZJD*NQ9^Jp<{lI0B+}Bde5{;$u^6u_tmhvP^v}~3{dNwDVIZX#l zNX=3wG+AiWWrY`3MZ$r3f=3TQ$fDPd3(#^-DWx>gETt*s?1WUCc}dnzRBeKNGLBYo zywh4kd^nioP9}-fElpKgfrD8RmO$xJ57KWpS2OegNVYu(YDmOUlJ6<>^GNbBB;Sd9 zDZqq4!UJa3!BcMBwKzQ(s=yBLksHCA#Exa(UWJbc|h_+=$N!d(J zf|jRRtH=z&!T~^3HkNEd3RTbAY1C^* zRO{ZoP_~IgRMLQG43|xnSm@Psq&z8eC7g0rW#TA*hm+38An(3E&)~9Yu-KqL+}i;G_wltN^cK9#vLrF zmfqR4g;&^(2+ACwbzk=NIJ*Aaa7~9c+O)n-L|v@zu2gI|_%4k@1d!Oe{NCPYBzVQV zJjf&T6V$!t5GVk(7Z`2Hg>BMNqBtsW#u$AljcR^OkVBFagu4f4G$!|}oVjhUakHr< zG&CpYZ3DCID(>D$=k}p!Ud2d2b>7vUW#i;FJ#FjEcxYVK5-1xWTqoCH2z!&nqoLd0 z`4X$+jPb<%Eq2lo3`98Y04BEzhX-TXm+T(S4n8-Yk@&}^;*a0MlNijoiXpKF(p?Q+#W=~ z%P_#UgLcM4Lq&>$(uVM^?e4=%8MbQGZUJvu^QgYvDQ{!DDRMq`XR22_7#9g6#myO^ z0i_naaJUj2h{RM(a>0b;$UsJ#zyw;c14(0wHKGJxfXh_gyGB=mXl3gHtd4xyy}sl` zMzgktCoyJ{!ah>1T~II~CvP57C&6Z$O4Th;E)r$#1rSl>K9LfO8*m^d(2O%^nx9~k z>;OBM4WCj?trYDHzfcS70u@M=mrV@=yg}#6Il0t4GfJumXzseR6uZ=J5Mh>-dKhR^ zy!-oNdwo5Kl?DY~shZb&)~PFU9WrWYs(X&HBlUg3Nsk1DhTPqFV^g&5d%7Y&qN&oo zg)XnoCwpTBcy}2@#pVD{>Qq`=z_@Y2NcvAfV*nxzog`$5L&U6m#xcNPS=+82 zN?^d@r)u6%vKn0mq=s3Eu+3yPB^=E1WYd%n*=AZ!cF6f)JQ^bt2r$Xb-3TyVJs>Hi zshWEV@1N1EhC!?9fno2p=(4Vt^LkmzvlO9L z4iAJi%xn^^RZ|rFlH?quY)v{RlJZDSw`hG0#(%w0MVgYg^JQkt(a3m6=PxJ97PMPxo$0+pAG@D4wKyj@`Plw{M zRhr}Vaw%S>vhwYnZ|C~@TEBl^{_WXcFU#}W^0KV&wJvL2t0bjdL1hyeJ$Sq)R98qU z6}7rb`7I_8{tc*;4?(=nxNW*FYB=I#^v zPJ{zUvSAT$_>5!IbVF_UWWz4Y9mC#Zq2x@YR#tP!C0{A5j-tf{Envy%^hMb46Htp+ zhm?Bfyv~7K3SKyJpGOLh6m=833Mn~-i2ZAaq(`)*0m%!D219E{XVMBJr4l%baI2+O z1)4(8Gi9~6X$eT5REyWTa<%%7V!*`w+mz;Me)=>Y)ATe=PxJBVa5zo#APQmW=obtOow3Uw-YHo7v(9e5xbqYv{jzVA#Jh^P;D%Gu3v$Dpam$Y|M= z-SAGyOh!m{I7d?>;L$1`RVKNA3x^5|1kgUD}MN*(@|3@d7bC9 z0JW$Vhq8fkcmfM*q(-A+p|5K^&7k~cAU(fvZtmo(Y@@y~9e0}ldyrwrV#=02l zMC1;Glj;G0y9*VT5lqHGR)r;GUZiR*lPd>1j^xMK7d@=ltyXmtE?lCug%)5?0aYXU zs=knkt0B*_iD}j}BOP#jL7sK^WQUU%Pc3PS!oUv2P`VDRTo}f>dVaeh{Gq$hjMzt zm#6gUSU(?eO7=DLli_4Oi;3w-{4eu#{F{Gz!ax2)`Sn+P|ApUv^OxuR>R4a6KEvP5 zi=$RR!kShg0aRQIR-e>`q( zK8!=V>z#Q$i^tB6o7>{iH1AD??W)cC>TG>n{lRcu|FsyFYK&;SU(ajT7hok}guM>m!mt z(9Dt{{Ig|U>$2qa9kn_PM!+f?jM0kT8aA5#z>Ol5*XrGyujsw5RuYPEwwalMY~}DZ z-?~~FN%kq2+-VgWfb1GsHxYLA=xNm)H{nN1JyU+I3kjG|9cA_NS?^0aFL--S>q>{1 zd`dnYsTr>I@~*WMxFDcFMFo<0F*CE2kf#8zNBFu@Hc%-cO;T$RDG6FEtSIfL=f!Kl z5tsoH8H1UgqsW`~qGozj$2UTRs*(qT=9lxG)dlQ|+{3rE)2 zcR_@J#Il+sc`9nSV|2RH8_-{nKx#ofBI(NQ6gmF1ZAUcgFLDB6C1c)dX`|>laaY3|*OKXx z(%1l3!c*W4zRLLEOf>1w?dFV%NmU@{r=~tfXt{CI?CIB8{IBi`rck)_2usxth z8)PV&JANdq_3=D-?QI<%t?s>MKDgQa30G&v`|VtWe8^57U)56w{*p;@v!3JdzKh$d ziLCP7XdkNg-UY<{v3ZIHrR~senouANl|4H%&KffUqL}BSDcnli_Nz4+x_#3{bBEr& z(p_WwT-{kxFsM5-;{&vW2QPGgx9c-Qt$JWb-;|i4b910A@t$}Ltsl$1sz0t6yHzmI zJ4H3ScE1i+sxSH)Tu{GUN3?Mwn_+Mj^=~)lnDa+e-PiV}cgfu% ze6%=s!hQeKg9m+J^?V={u5ZY+M;^Kr_x&*J+mJV%Ia;y;+a5Eu!UI=U%Ze&&Mvj9B zFQqAjV+P`btvMrFQ!{~POyTEcjvZ6o3tjROVTpg1 z>f-w62e5+sGan3T6yV)l&>6w_b6_V60NtS0;!uXpPH8h5xWCCrBy0ROsoL3<0f_o{{(;$VHqlgs%ivZH0b#1-+j{IF2{GTTHw*ExxLS| z=JW7mj6{vAxg_k$ORlfI(+1<)2Q?)Tk7#*{Jpx#J(N1KBH5giBgmM*NJ5=b|*=)+1 z=!73q$~hf#K1@6$&N)q!O=dI6hV73`rifcH_3nW^k*cx!NW_lBHLn0+FJjI1v^-DUg(D zK;-gTOXM{$r<77k?#g7cOcIt5h1zCV#U85!D8VR7uwx)yB<4h$QZ!LNe0@5da(ILgsf4xkvFPGQ1x3}~9?dA35 zb$wfOey=afxm2w#k4lt?;x^D;oMm+koy7`)|Q)!mBsI-4pqP%r6 zZug18S^=GPBC>DI(P00=tWbzEua|BXTSzZ9^sFQ(V1=`pMe+ohFlAa!Dbv_Wq$SZX zTbgs8Q=ZZ^=R8mOU}ns05DsLwsP>xwX0jrM2qu6HgE@Yy4JN>%j83g#L@bBbF?**Y zR#3hcgL$Q}z~!D+R7$>(p8fcxT`nQ`QFW-ASE)t<3+VLiO|;}#(smFEVAS?pbEO9E zUV@(n0YrL{7~t!U)&x`%7|~{{W+s`cyth*DlmG}u7PD*?q0>NZ+8NN22RU6U=p zlzd>Cb3V-ZbjZiU{AoIz=EG-A2Rj^dKA0I&qCrSXKzNkYJBu{wr{L6R8StS4-PxeG zirvU=GoiP&*p_AcV50)V2{Kuij#6Mjh2ZBsjjsm$P49*JY{oyp&SvrFtn^ikC_k!4$n@B(tCzi%@^m{x!W$GN-$f zp4=q4d#loOLyi{jksYHz*pq_ES!^pPaTrBjvBB^O9xfz^l|rEBn822d((o(T^X0X9 zdE`Ys98;Wdyl=s~zUS-AH~Hjkh8 zUt^ry)S4de++BEg4AH(R3ZaG64hja)LGDu4M>Z}(H9;ss>edfyIG|w}WVMz?;E`jo zzGBIG|4qOB>-(IS(;@xvCH>RS>F zY<|LYg(cuuB(CH-(RM6`jqlq<}Z2r zV)+UAz{4@kGi~-VP-qv5={oAv?e=Fa9_1EWgxu9IE zoTsv~ELFvcO0&ZSb@qI$HUXB>L{x)&c}Fp=2Rpwzv!}_A2Y)*1_}PxLeL2~eLphm! zvizC(l-4x);lTfR%K!8O-~Wb}|G?j0@%#JoufNszZ}|ROdi&ijZ&ohJ7h$y;Ix0mJ zGp`=Pkc!G;(INrMt@+tEr$J=Xbc3_IbvD1-M-kiIEw1*;m9qQM(V0M`A8dN_&HX>{ zZehe_2Sv3H_k(P?f!l-GBlg!Lxf*=Pf!$SP_n+RJAMEbtryIxLNB#xeE!Q~d;o0}* z&BJ@%90PCkkvY*F)*Y!^%?RpM1%K@kS1!iuu|04Be0*r<+`qro)tTd${zC5u+{{AY zD#vTM#pwf@bt^>a7j7OYCa}SP-?^!p+h0wlFw$CuUG`fzYnwO09oAKne)BlZyAZiL ze4n*Bp6iI}lLtpQWJ9W7ul$&y2{mvC`pvW-Nk46~-1ptk9ll+uTWEugUk!QJd=s}-`ws_sKZ}o! zW}WW6rLFfQ6h%+97Wuj?SXOt3QOJlkKA=!@{uH_AD66BYxGLpK^@)-A9$di;KuU>I z=-4rfC}Vf@;8m!ak&4mWKwG7h+&%D+bmtq55r^wARE)+*jRFj;CI-Hr6H9sj_1o&F zr&{>>Yb|n`a;`MwoCD`>KC&#VPC2|p3$0R$&TBP#p_L1|0hK6EGik6K9#1i{id)jH zC5E?;0b+!7oDLD#PN@N{1$lVw3XcaFUv1>5S!*h>*+`rUO_`LzU^K&g$T?fixmHL- zRNFDNa-yBd-IlR)vkjx30vkW62v>qT5DGwbkN0aSY~x7gU_K@#OOqwxVA(8THMt`d znZp|Xj0r~4-HWNGhx7uk2>e@kF&N$)G|&UH))o^$To|S3!N=-th~jET1VasFa>Fj# zr7iAv5Rn2Kz*`+p+pxV#rYI|@TroqzU(fiNA3RF_EVccZ*ITk`0Djp)D-*Ss|KX|`Ok zpb)YZKlH`9n$-;nZ9lRn9FS~PN6i&;P3PS@_Rdw>*Sgsbl%lcsqqp74*S9>wajSMi z3UGL4Tj%!BUcvmh$nryj0{Q90`K-doh{;KO9<$d0FS74 zw~X8A@&D`F{7;JbKR&J#jMDDOe;(Q0zl-r2?uTc)+x2#=*!5g%adA3G78vOfn7I;B zJ~EuLBY~44$!yK1gqGYpZYT-9xC>t4RjTv~c@o4tZ03GGiqPDlyO!a59uB}8RKQrb z{WNL41hGa)O@X`-a+IP)7Hfb53fXNYW^nTPgk-eLJkv5p4QO4VO25D_tY_DSTBK@P z1GSH#DzG)9QYZSh4)L_z6oNHblPR!a@U;oncDwk}sSgOCOP|MC?02snxTX`{dJMMP z?(NoxMtW!;&}fnG?aNZHg?npZI0 zo#=|2_g*}^p*FQ|@QME7Zc}Q|Sisa5;i`OpY%ZY&)O<6ny77hD+D`Rnw|wPm7vtj> zDQWWz>?P2Hnvj0UZpV(aGTpl#9zN?&j{wcWpl_ga5*tq#$+851ya6~hnpI6#441kDy)@n7rnfc*O&78Qr=(Q z|K*j>ub1~_y;Of&E|*%xEVs%EKq=-UsL=3qa z39X0SMwP9pJ6c3P(8SR~r`R@K*Lb}%tN15Hf@C;0jkH!>!pI@YlTA6#7O8B&k;kA1 zi*jj$m;gMTe#+BfI?QQ0Se}e2a0sj;bQ;j2+CfeA%2bgz^C6j`LmQ&A8jnP$ro2X- zO9P8{E#WasNRh4(Ff@YK>ebz(F^07SbO zITV8A5z!x#APjA_!F9$IZ$S!N5HgziA<^O%boPGDk%vJzWtnsr31_lap8`l#Mpaku zomqp?o6*?X{y-)sKXVm;l593ikFAmFBc5o3+M1&Qpbe_qqWkU48&5P%JIy$-7TkxCCe#eJo?(PD5h($f zXSmzxG}WR~Q(3WGP*z;tFUwMv^JRTo)^jcAwJx=;g)30qRie1rAVssdbuR`4hL^-F zQ)(T-8x(&4ssyua0i{OYq#L%YS=h~VI%VKTN*}) zk<^Td<_T{P>RwR*GMXSuu;i++2@<>@Dx6Dg&fGe|$Dga@iY$REw?$tQGbkJ`f7HIN zy|{Mi2WtAx({cMvqX#xCRadeUFsNeWr?+5$w>$t6=Aa=*Ihup!)|~2|#Iop}iKmCxte40KV@N~p+Dwg1o86l|F3PLdEWcC>{cs-$< zwAOW5>f5`&z2n=z*XtX8fA(+Z>3y-+XP#emc?Zst3#(}rirOxb)^Oq*2vwQW!c?}# zxY=P=`yxrLC6Y{A()}CNx*J5g+DygIBS}4{Hpn6 z^C!$tet5$1iPLP;1Rm{RbDrw#fvd38OZE4|Z$~BPcjP0}iTT9im#5Ry;q%GoDV+|+ zj088+bh3J!@PleOlz*NtZ$FgRf2`l$&cFU%et*_4-}U;Eo?r9ZYg*sTSI26QE^n}^ zb%9MvQ?<-=a2n<;!dS%%{lZJ-n)qsY`lM-2$4@w(a6I5?($^zC9qn|O4#a1apHoRE zl@nfm_E*RM_A6fA^~_FJ9ll)mS}Ipu)<1~dpoT?k?w4*2fB*{f<^M_PTD>+z;ONReXbfv z4qVn@@iar|t{eKp`}c|5yqBG&*R$P;y@m4U$CZ118{O?4{HA*BssM!D)5Lz4frR|Q zNV?y;*&B&usVReOT-_$HPGKZaG_^B4U6T?_K7M5O|6* zVPGHh8aLmZfH&l{?H#`*v%TwI42MzjZMo{s=53pIkl9Cj`QfN;9vUjsK23i7czt+_vai|#rdbgfV>>Hi52DJOzL_nzCI!=a5VvKFC zb9(Q>b+Z~3J0D5k)cDwmJeY~!tV~ni8pAZR%n4J;_PNwb5-F65Mzom$er6E}Olg8; zSn_0)NjF4+Nlm1sM6*MzRmxrt@9v>1I%~D+URHNU zy10={h%7@kbFt8p8B*v&aiilbK-@KhfN`0{_4=wcUbaIBL5o*aeYQ=9P|PPDM@ku0engAyHZ6hujuMbVR`WJosCWK3zYlu`;?*8!y5Jn6+9 zUZrwb$_jT)^1K#b7kPlcHzz^QU2hm{G1?}PgGen6d^|}>Qq<1CT~7B(3d#VITBoeh zLgJ=QR|Qr<<@{K$RNofi9>d_lZ9g92mi!U* z);pejMP2v1bu13UbbS*8)p`sVTP#?<41Mb1cn z_})0ejtIw&+i6I9l8iO}P?}$**#4pYjyt35uk5D%1RZ97#+n8iP?YVCGa8g_Of8)J z0)#0*Qz-x8#4t}8whuY;XpJxciQWKQ4_Q-#gyX}Lb8DRgzWN$KP~!VW^_{6sknhC&qR%(6&Q z{SL3t>b_F7q6Yl?)ZMaCUaCmWB~%Nzt#HWFo6)5mJj^ZS$Z#EMk+_A%KOl@h;L@8A zxxI9V#eLZ~(GnK%LEee&K5TZ`)kvn=rQM>pfuzJJ#KsW8O<@F!h;StwZS8+qAp6(Y4kHm{kDq)?`!a{e^*+ z#JOXvgKLci91r5~sR9rEdx2m6n4jBrll}KQW_Fuve$T|VFSm4@?P7$w*5s zKwgwktI8U!1AVC|tDl$kwO-yzz0|r^)P+mGuo)u?oQ6OyzCD_ci_EbZd#$c@%n9}e zRV0bP?rsW03es)yeoMg6aU)$IF{}~Gi54~snJ9xBRGRS{-6s+5@9>zL5oVSwPt$aq z=Q$sqP)>*G>6Aa8^5;`J&2~E2@qptoA7;#xQkErUhO&xP6)?zZwN^8G!E*8EcYD2D zp3n8$`}*ti<@cBK+e>*rukTe$Ej3XYF2Q6bT5Z|8q0XyHMRLfOx=1cX@8HeR(K7&o z?Mp4ZxXa_0nngvD?6FbDPPy8sdJ||(M$6|GlkTp5Hc8jbJ;fqViJ7n|IgyfCW=@zG zJ^jFh$>NyOG)-wbOw(j}nh(ctgOGtq*4zs|1Xhc)%3XBS*0ekZYrVgLr09gLwpDvp zaS29I3jlvWfWH8QyDCJrM|(Fp3{JY-BM;30Bv}d&iOi#c$8g^L0+LKH znnymbhwyg?>BFPykXd->;z&pmU7PodhLiNMC&dX(9&aFGZ`F&l_b^U(vwUl+$(pv*W@<^T~ z#hWGF8Yx!M#^AUWW`NZQ57ZVjb#G(CSVZ%`#BL5tJ7RzR4qltLS-x3ER!spr0}o^= z_T1Z^^n*^Z?7lv0c6jqzcfL%iI@wzP+QbRUQeNd50O|zyh6msk9<2c?>seCQKNZ;k zrszy)@K(kVaw{H(&D-u{tv(6@fqbM$?W-zBJiGtdjJMih+=gNV(t19W;0}W=OO(lj zMl0eJP>xC#tq-xFB%Faqnv zN+Oatr9AU}(lpuhnx+}^QR&H#PdI+YeB|Nj?QpVr;&e!PwkbOUgtjj47t~^B>7x2< z%f#ha-cE<*G(DXr|6x9UB2Jtqo7<@@XMZ{Oa2 z`IdhFX7A5jUQjN%9+QhGs@2O{O`hd2Xx5bK1kj_oVRA=Bs>RR5`!mx4X}0Oer%yVa z__uTVbimh{pQrqk>kNINo`Cf8bgBCHj%Vq&bN%(1zx|Ha=eOtI{Ov_=-_r7I^^)p> zvQnt1pvwq&l}84TGbOE!0dBcUB&k5*4^r*_km%uu-u4Wm%6Qka_AiuoUmxC`xxoRp z(5ZS@^sn9L;c0(IVA=G~Es7rn8-LA#`UAURt?diC7RyO-(|Fn_K^JpDn{4vQs zw>a7UH0!({oBebyq$(Za8);uV0xzely`QwejqG@&Ev{l&75L8SZsaDa~3@uU!bU z#FC3%R|=NrX+EZWxTNB63aZuXIznN-E(~}z)mG^56+orf`!)7HV+1@|+A^+E&}ZpR?0~;6T5G+Fz4J`ACTD?7S)w;yQhZ1jnxgy zE2`+u94QbKirm~}b+23Y^r^tL>p9v9(CP!<9%N9FB{EGGK8ipoFbh~sMl8IFh{~#l z+EBPytt$XZhUD(06iZ3b($Q0?zE(&~VXs<^oa?SLZ=uXSo~`U&P(lVH*Lw&Q4z^N6 zchzE2fP8IkQy>frqNk^Ca#P+7;46_gwo*iq1HEV`smGGS-Rapo3?Hs{Q#1ZQPz>(B z++5AoGxK1z~_oP3v9IqDyz#aAO zZ#CZa4b|P~lR;!%KLNV7#c*Z1Z}RKP>G9{s{gbv>P1V%TQ1D}4Xs0_aMOIEK}mDc|g(>pS=R+{ttRxLwtUBK~Gx|GysW82|`>WoxBAC>Gm* zWu0<&_GwGI-0|Cx?h(ACISov-NM|*qCz4Fj%-5nws?y9a03e4KX_W#PzviKYw0C3* zh!^j;b##+8jApXcmffwMwJt(E5wlNVpxJp#e{a8}merROO=~TS6D%PeVH0d34`#Dj z0+SP_0#ua?bz!~G-%&4gFLp60f&mTzCK`;TQX6ONi|KpQwKEDv_o>}(>J7cFUPLp% z!Of6=aNNk#-n47i$|^pL0)Rg#5Wgbb+ZvTF@wd#^9S>pL7`Wj-;kXWw z+JWs`KXVr$Rcd6rLVmLXlzfC0J~}?)FkSWC{R(LSH}&^7nAgy;cQ@YB3jfSa8XIyv zeYXw(Q~2#2O|5Na3MMvnOVLLvHT3ne5J)@_2g7XXkkir9G^JBwo@~nLVELGAPM8dq zx+wH2L|(sz$$!!9$Q?k{B2~$STC~(!ma>*omi5I^s$WWdujMRX0SBEq0U)d*kmmxC zj+UBnOGKhDTcJy@<8Dr*ZdrF+!{DF>fJhWAdvC6n5)wz03KPjl2U7Abqn(a8ojA>&(`w1h4wgWR zssl##WvyUEbu7itXS}`p_viKb`}ys4`LECR@_zn)xx6m*buG(Us|YZ&FoD@%GJ2v> z?_O8*W_&J5J`6?G%Xmj&ySGfQo)hB@h{bylu4}o&bd5-`Z*+ULJ9g>V`}LGaW>Tpq zof;!VYjJ;CN;YNAW{F6tHK9nRlsOsml;)JCJRNe*^E~InJWW%|6O+l(Q0k&Sz|@=x zwWATB1q~J02Vm;WXd)M??N0aFO=Gc@FR04tbT5tThPa5hZA%)Ud!?(Z_{=Cd;h3kV zIok=xBc2YHjy4@8Gvw6D4ZG0nm=E%afKVw&6<+9-F8T%T3J`cN7R|i9BJvGtRdDhy z@Rxn<4N31XjJ+yz8aes&y7?Ui?o>9OG>&gr^rf`^ISDPuBHiGemEXURFN z2=fa6lxxYQvJ_p;b-C2#JJ-vyyk3^`S}$uomt`qf3u=+8)&QZ2Oe!d}B>N_u5_tZ zx(?I_=1Nz;0NVqRAq>0+=cAv$(H7cd0e7$?K@F9qdT>uTshW+>;+6zPDU3s|70gUg zcT&po;>&k^`^Emtkx!ra`K$f#C4KqKfBa}a{E&YB$v>TVJg!sr|A)4B?U5ZvvINgD zQj&W_+`O4p-PO~B0rvm@s|6PG=$@*)k9fGdMB3R8MoRKWWYz$?0`g{rhn%8FqrL6e zXiAV0Nf+gmLlkn(1{|d)dy~-obdY_PG|o7iMOBpc(wC~l?&=@wlsDI z7pk+gOg+slFq~HXqBdpL12HzF#R>|1o_~Jx*OUF@jo*IQ z+Z*4%>EnlAJ_f!ERn=q9MY)0WK#&1&Rk2QL=es5oq@Li6ZL{`tzE|K{VEA#peiQcB zjTNu|TKD<>arw3NzPbw7RRmleL1L#;?>=lj!Z-iI{ro=h0_>(2u0;ZCxMRiMusBN1qRJ{USXO zarGyB3ck{yaPL2CKFd#@vfIkdqrIE(pI%z?OZET&k*`}}?n(s_+0t&B|B>Vh*u34}--xS4*&o_*d2UfRg+2Cw z`axSixOUTDU!UL-V>`3!ulsYfa*x)s>S}=u2>-%LoOBXY00Jes`|dSM38b6f>Zzcsae6 zQko_%07#M4JB(<7_Az>5mr_c_jI)6zcwM~o`c#>xDB>buGSO0kku0IUo1q=qP}=<3 zo3o~Cz`gXz+S(vsw+g<}VdwyvOtb>b#dF5-=>=bZ)%?L(ma4VDv*40f7B|j<GuyueH=0s#F(9q*6-JG9X#6wi#L%HcRbsvDoEO z-F>c&B-TX!%v`G*Qf2~KUGijUfGP-vtE=`Z9&6x`(y?l2@}Vi76ZpwV8wJZotlP!c2*yBvuEBu-f+yzD8J1Qbt9dy0}JPu8QpX zUhMbf=2}0$5rPkYC7YhRj4u7+nw> z?3M$Ol+3+^YQyd|ivVH1eNd=CyooUN33mf9;t~?PrKAJVl`*_F4K2|utNSZjUxqN$ zo6{CVb$1hJP^~UQ3Zt?Do2Zh*)F4{gLaqODi`?I+4L3WBeynba$oo$XKM%WIyWa(p z;SA>f!qqxkYgudnU`Z>}Rd7AOydC-G#HCj7%T>7S<^XJ^dpB=H;6`!Xg`9V4Os{ch znxTZ9a@e%2M~2On3h`)tZgjBr^xl_!`}%%I#1^{P%`kPRe{apkHBxnZIlH;?xkAx3 z_QzUB*E6GxXRmd%c+xsCZSQ^+-tHgX>Y_Uvt9`>yYHAg0IL@nzSW zwCWgpTrOW_ANSwg)jp}k@UA9>?!F5)8>-;$uhl`jB{oEfbVqC0tJy(>vCEHgzITQ5 z40_CPG&&h&~-Zr0}B&itJ3tzp#1R>t+O`?QHq#=HBX0tSFrL+#YXbaQ`y zp$hDh``alnpb93MSyswq4mpKD#xejNVIG&u#d-;>W(LTA*p~pjF?t!Hjj0$twJNSi zE9ic3wH)P6InC|dA{4v%H=f(efj058=77Rr12|xqj1z1iQkjmFB}B7YCob?Mt8h8F zisbUyQRo#~B+14~H{=fLZb_iHm^z$@gb4qHMv_v~zPhkbW0mnb*74svdi405@Kga;**B){o$8%KO~#f5 z2n(Cn*`u#wZ&%TJzoP2|?YytH;T^}>SQ*safX#onOD>OVr_6_98HSqRTKX-K2e9tr zUIcd*w0qCJP}AdL2yfb)bpMsOVPENVm8ZD7x`Lf{<6xcPPMqD8pj_2ZHSoBG?z%pL z>u6m?FiE}c6BJo+-;r#%%mz9CAL4_MGiGr{gdjlMVF2%rdiCl2I_YTBVzt z2Ui1XRjrGp;wQD)V_O{h9A*8!)Vc)F;8IJiwbYYLV0F!8VW|A6#Ta{RQkgk1fvA`P zq;Q7?f?72pyx-lj0=iw!=I4=h=T+oIaUf}oR24&7HP7f-U|c%@HjoL+17raOZ)jNY zk}^lGV0>mnPE)ce*~?)%4C%{LetzO%(m3F0vcs6a94u!fL&`o*$Wx#)5H)&oQ%Yq) zE&P~qI$z3%otE$;G`9iNkWi2N6 zR2Xf6B$vary6_0D*=_Bhz#_wI)v&|75A)S&P!)&@7`>>Qzg0+);%`D^5d~Q}0F-t( zl|=$xd~RhblHf4Pr6t;t*Lp5)Ruc66%$)K#q$#IEo{q!Qm*MzyIQ-%{TRvDCXh|u- z46s&+yvDlXr5Y@I5LkH4Tp_o>=zXx>yy{_{w>CqDt0vt)kNB3W0<4Gvl%~hT@mGKM zh}Dy%bu2H{nn-3U$(iJ=Pr1}oe`TH1d>+fCE@z+5<@9lx=dzs6W$`l4b#WEJy)FgS zt%JdKgVq`e_v{-AW)ghsW+$}{&}d(3*#zC#BLd%|n)Sg=a_0{BW$cp3| zGeSi6z}pdIj5NSFZE@_`R=8P}-S6SDOc#>HL7=MKQ60ksMN@#l11P8qTtI2vC4J{& z_)NE7f!8+g?M+Eg3$!$b!Ox2!L;bx<|E&Glt1;9)0D)yfz+6H>m6vAkIFTdmEP+xq zl>wJ&k~@6STzPrtxBt}t%06U1f7LHv?APD;^;iD(D}VW#etY4UXCAU;bF%`J_L8Cq z_XKhfv+0oP^T6LG%`f@C{);X%UQhMM8-Bj(=MR5-)8!+d&nN}U8OuzcGm20lS89B} z9|7<9jI|+?S}Q$jc{XfkX>BnS+r(}!xjUG`jcP!0h;n)eYj@R>F~v-qYhIVCyqJUkf+Qsp_qzmaa3KF%DH^JC;O4cf0V0ayoPczPt=Y9YWcNCEtjQ_`v{nuO6W6_`=CkW&s{60w!7|qC_X1izSh^mn zF(_}YeBPO{w{r+VdE>|-Zv*^$zv}-Vm$qo}AKrJDfUkgK6%~+iJ5NSSLE{!--iA@g zCi5)|1Yx|a4h{*n*>#VrsqT}-Jq+?&H$mT*Hs?N#)zjU6-5Y!8l5-myK%kd3=iPps zZbt6S)IE*0>c`!46}{4$mH+2E`;cPe+PQc4Nd}*0)3@#3^;6t~D`K}YR|fo!2zLbE z*Rbh9+k76*bhnkEL|w6q-Q%v(Q1;$Z^1(7}UW~i5FX;~&>)sCngmM`uTaZ+1twnyh zq*7U3FeX~cfm=_Kd5CGriE3eOk8FJ1!+n7^0&Lo_ck^uKo z7rDFFa72(^rL~l$k~A8HaHU0Z`3kw=?zUz@H@~5SQ6a$H{@Th~da585)fR!P_1ykVlaX++FY_qBtb<;^vE$pl+46;EG7NiwTIVfz}|B2<1@fc&@1t8j~X82<@UC zEeS!A+|73E<B3Z&c6Mv+J+KOWpCV8y>Q83~BqMUri?L2HeyYv@=Lk zs6ZASLY%SyQ0x+6H`lFKU_16?G>i*3(p9b1F)h>**u4;3Wn^xUsw*?!uTPyBwky?lK zYRE@RinSb#WNR4O_Vn=@UG3eyJk?#%+szHlT}P<9IAM%@hHI66Q=uOYb(3kg7hAnf zxqZD$klXq9(XN8!3d9(19HqTeS2pfx=cc*RA1D|PQwr|?dUJ^GN4r(M?l-jQ){iO& z{_Kj^xlj9eG=9sj*#eMvPrFehIvEStG7kUL%(&O1J}a@lTPwpB$-lM^aH}q^@!%E~ z>KU|at$ZL2txsuCbG!O)+d1XX2r}%-l~A`r6m(MIP7`j3myFz8!Q7hi)xpeH zJ%9b;{)wMG{lO&v;7=WJyU!u$b2Tm!ftEVC+vz5Z;^$AolkF?LMM&qdwp&V{H>XnSlB49uP~nG}6NRii1eYSi~v zsIodFdI8#Eu*)6vC>@b{fUx)Rj4T6nSfF_Qs~b`a4bbj-;N7@~a{ z2@VQ}R~l&}dvmUV0;>FsIzzMStU5zW^0|``6boX}TE(2^0FclcV~L7@yn1{(3|yBs zG=f-SG|8qgZu)uLlhc~V_Q%`WS^!*m7&;P3*QFm`f8>|BCzU>N-QBS1LVZd>?RUAe z+dZ4feEq(g^0k_)Wyc2OD!b7>AT5 zV>UA{Fa(E1EzzaA0&ufh=c;IK9yX;*vLQaH?xpx#>k?nN;4D;?rS_U>1sYt$33S&Gc{w&1B|1o!075UERo<^r*B}ef&@zd21`)z9J5{4X=XMv z^af-BX-q(#4Md6d*%2Y8B_wIgoboUYHjQ?i?3d#>jp>&|o(6k4=ED)gpp<UR3DrRIeir*7Q#e4Wh- zu;?J)Fc_K#a}#r@h{WHTAQ6LEPL{HbjPeFE|iOI`#?*|z-(@!Ou09}YgcWjJnG1iWX;@9pehZ;EcTXO zA!l?{2i$GB*vRy4xAU%*#<>8H7oCM?O zHPnFhb6cvV=r{^DPiY_k_(cQghHM07NybuXvhxMZN@K~xVmxKMO*T$L{(2k_!{N(x zc+SHS^QpS*D16z=T3@NXKo}j;5RTJE=NRAb0w#Wl@ z7!qCZP+uYwMIsgg2`PaIOiT&&3>qvc$U{N_Yt3)}qyA&4Hrnu#Uw*Z(zovir>-5)O z=f8fj=YxGY@;KSSG$aK(*FYgjCOI90X-rh&uTmMYJlo|jd_UpGE57~E$H(&Rgwq-C z?>zlX^C>N7Xff0PQwq_}u;nDVv-iARJ0Ex3BJ?vhy|cDVPH7>jmP{HP8bz9v95omj z0eArn?o385?n1qIJ=JA!%S=;xd&e|kI{4w4haYu1+F{aRRQeka<8pk~M2!i=k;V=8qpW^n)#kvgJGDRx$M zU)NsLxeV&$oefG<*Je~RTYj)McK_2>L+OWHJMc3E9{0M8G&L;AN9wh6Z#CN&_OTFFlYHD@|neP@g;Qu2h za-IFAhmcg%<6gbaN~nQng?;nvwj-^-TTHJVt()qfowZq82cGs4EnJ1W+NSu{PA~l< zKZUL$I*&YeXyqX5Cy#Gqe~@~>@%p;<3U1H3X)Cawm|wekyV`@RxIUrldb_>X=AnPE zTisWaZ{?(qX1;s+gX{j-?myo@G=jv__+{}bP|4hqjGm$uus8j%&R#Ak7XoIMeKa%B z16uCK8BcXL}4cpowwO*CJO|qfHHC>!eSzRlb(fJjq zQWvH%XM_8EIpKV&^V#2C0Wu9pqno*CaH&fzIi+OG zkeIp(!i41ThU>5xDVbuPb&JqIP?b{7IgKL_zD}&IA43I-;586VXL!>C1A9Vf7z|oj z1keyyD$Nr;(Je_zW-ywkz&;Bk|8S|r)|VDrk>Hn7TGoDbVJMQkbbzkr3wBkqqjAdQ zjcchnFv6fU%VC#z;+TkN5?cr;$)W0NzHXs?nW6B~JW;7i_ocYoeVu81}3iM!_y+ZSO_bhWe& zz}~xCb|Z!CR;(UBbp6)GZ2E0n2|Kb^dJ@3hwE^csYAw>#`_=;x=wf05DXe86c zm3_>&;am91Ow>J*>CXbO`_1LGUfmz0&y=z4&Yc~E#!EU{K{lS{IsSxPqOel&{Ll!e;G8qSwOD2#Vi5Q%Kq8i@K zXQ{du!T}|Bc!3KRNE?P$?r!lcTIyonJ3N2@RJ6R;t-3tC{he)Jdrh5P_OR#gH2sGo zWiT_1Vy2D80hX1YNK?vgiIl6-XVp5+XVD zD`@*n+x$HeSR0u&m%R`+OJXlYU61V+`2PcIZX>Nd;$ZxBL&3S#xb7+8Pp?KQNZJ9h z?5>6uuqW5uHeH!%lJ04KcP<>^{Eq?yGm_@nEK*NQM6{LwLdR?BWglu2yZ4$;)2_D_ z*%XDF1?d?8S1&0E*r*hM_6^Hb_Z;CW55RmshewP5&t^XDU+3X~H;VdWU39O>@35>M zr{t}iJEHjQzvfB`^Ze#})(a{kHzPF*9tZoyIOcrF>6p_or>C5z%xO%=<`E##ki4qb znj+rkLNky(;PMu)rIy93+O%tg|4!wszyhe3*-xdOtIzHwEaV8RCXmP}XCOHpq=@JR zNLPTZ*Qodki0GEP=DwXBljM=GA3;)B)GpH%NdAUwG^G|MOGsogCbKM~RRKmBk@_oW|#Ae9C#uV=^=5WJUoc zx)Bg2)|NB6vgt}s#u_51u3`ytDs>~V<%;z4l{Y&&bkSzPdQ~X})hW2UiVzf{7R)4- z%u?o*hcOS+%basQ9LDL8#))}Q&PW-KK_do%j*?_%)muM%A`lNk^QXH=NMRu7MujQD z^KIUqtHV$M<_tg@=m$usORIVD0#(+ET99jra&T3+Lkrzv_O22{uhwueN@8L=l_XR- z5txB8S}m;)P|KZxDS9;~nstK#K*MO4rD(TcB)x{=DCwd>)T4%$~R!048q!%1ih2ZJ~D(iYu8sO#NQ0EH+t)a98F8Wn+NJ_qt%Gg4<=ax z2N66R@%)AEg9^%$=XtuE%Vpu^?C)>q_qPi^E@km@sXjwRUU~xvlvS-0D^x9kR8>wO zRUEa#A|^VaJK6FT7R1bvTRqrtb z)F%abq-?fwlbsN?v>Honz$zeN$*P<{o&=Mg;1yo56x9V@P!^O0b&0+JbScu}_tk{4 z+{re>JG7q=wxNwQ>_#F8aE;mACHGg2{>P*=>aTy%^Amsj>VNqa|N2|{%WwGd ztYOel@{k8)xWiSGo7tIQWy(oMP_Vy@_?IWV|7vroKdRnN`2Mc%@Ad7cpMLQ4rgA!- zUXvH&Ty=32H%4m`^59y)rK+krm69cQSF+|_Z^d;(_^H>z>E0r!5>8@CE5w#n^<^cf zXvJcZtJLHrlfawO56p?DgAGR?pEW)C_{?D%hq;WSKmB6I=X^MF8vHocX?Wt(QfsZ% z+*w_7@ugfA*n3va^O%1;jpK8kp7{K1UygY^fO8!VX-wG-0KPnnUvzdX^?1HaAFsb% zzSr~LKR*8V&(n|B^Y4GJZ?E|NZ8&`lbw*wCQqv6Q;zm!YTGlX-L*#LnX^@j*vYEBg z-#N4VK>qz7emE{qzu3zYGbC`M001BWNkl z;r+i%mx7;f%eU|T`VBw7+xKsL{UKcH<(!uD5Iuuh&l{_0Npg6VD4GK77(O(%zajz| zjP7bZz)X>i0XQjY4RhWGsI2=Jw$3s;Umn-iahp1>^}7#ZZ2MZ_-VHOPQy-Aw(wDBj z$UC?GPS4%~v|6Q96Zv&5?OMOq-b+qsQ@dM6 zc}ZC29iP0fQY;!9hi+y=i`A6t5P2UQ`?V$ec8~z9n@?+eH*j?P8pUqw7~xvSS!cRU zY+X98rZ&3y5k9Od*U7d&H&}~mfx}oxAku@k8?-eTjK{gQ6nnZmLhP+JCcxnI9xR<5 zo33p{6%0lyH3E}p4p?_1il&C!A1*zzdnws>N6xf^TL83Xv1#iQ=%G!7GsEsdaY5)7 z1U@t~02LJtLhq)mzfm+$!wLM*sn8am0CH#_Jp;hoQ`YFtN}TPvqS1Cf>i|a3&aJTa zg92!V&6a4+EaL__z4NNHMU?OTq}^51O_iSJL3T;HYwvn>S(|M?9sok=xN1?+8B2H) z8`2p;zjpLD_c!`!#irJ79O41AfOg}@UEYbM+sW7WuUonH25#rh*2jgiPw;S*zv~02@Y6sgB7*&ekG#Rbq*aSV#u?lR>RVk9GF}6D+mx zZ8EbI0No@l?O)$LQIU4wvS7>-1xK}c}U1fWj_1zZg~JQ zkeJ7DNbYWCW~mx64hZn^g6ze;qE@Q~61_@A5^F*-n9&RfIBrpxa$EKaMG1ezNZmc9 zl!u9VFbfxegjzhRp)94O>K=)=y^2oil0>VUkw_I7YC&R=4HmjwD&u%4C7A-R0V#V< z*(fH1&!B9GRTK7*lMf9H8Y&vRh-72FoRu7UKUTT^~F-C+$ zFD|npGHsaBbv>|AJmnh)FklVGWHn?SN&DG0KSCpN(@rO6FUFU`cULG~Gz2e~n(N=g z)}m;QY^=h(bszJ9k#kT~b$a9>2e&o=UO{=($ha$b_NpGV6ct61vUZX-=CAIoXlIv1 zIiNl3Tah}LgQNP5k&6Oc5@HZZ3@R) z16sosyF#_~?QSm~3V$HqUcGsbu0=RMApwa(!*|@P@!?lo%|u+O%ifYJb}Appo)K_E z08WNCzb(#Qu>{ELxO40Zw`>{hr?qwY49eg-C6fC({MZ9ipjrZ|ySVL-O63X?!h zMyoB(I+HyY-P!)!ggaYf)7=ewBlPMu`$4d^`9;${Iy=Rd*!no%dbPaz!~#{Kza3Mc zaU~Rk44&N}tITAsW=@J`9KazU)@zF=MQ*3V-{}>qjQ+ox*$x?G?l4#q)y&>)j!vdb zs&3W80s=(|KnnkPbA*QXBT2Fp+TSh$Eh7?amXzcvWVZ;8mJ&QMk4P_WN2QTDwRTf> zFgR-&=Xa|YtFzZLyg1$saJm5jvk@U4U)Na(b`jJvV@OZ}4ca;m#_XCSHayHdVWQX5?f{h0B z!*w#{x>ll5-ZN2p2ElGUBY+g)0hf|mKGrru6P-oZpYLD4)n4pwuwBEQjZ18?m{6yn z)i1H_Z}*V2gAnb}*w@0F`Qs}<9xVDp$B8r7#&!FmY&ufx+PYY@y(|?2sNVobfl;d) zq~%S57`hJSCO4#zzo|qk`T~Ca0yFl!eHH)#AtY#U`Svx%Ru-yku8}8r)9PwTdD>_bcHwLXh%lu=a;81FUxpLPfz1`keSATW0W?Aqa&dLsBR$5 zDm=}0S-iNtpY8iweV^;=$MXH{^zDrIkB^_H_tR45rCye~76C@9NJyq$XCXZvN5%QYH~v&9KJ z$b9e^Bh%2azyZ%RRggB=P<0qAk9it~V@}gBJ`K}T&e@bnrIgY*UdnYG)cZWM*|qob0PN8cB8 z?`kF4bzb+#6Ik`^FbzANWV1xNSE#lswCGP7!H(MS9C|Mq8Ke>*)ywIlUW{f)*~ZB- z)4()wdij!%!{HYlpOv35Og;^kk`gmbq*1UaEv6_IQ0zEvU5~*A3CRDYw6Sh+QcDy1!q6m1H#tGw?rvsi}2Ct}<^JSXn<@8Z6 zm-+m@%;#k}m-*sluC>;BW_TN1MkRU;4RK(GLi1tMt7J5I%}v#5En*sJr8Sw(D^lye z3CQx$_zN6vl3G5UcgSU{5#I?`dx)?U7I_jeYo`3&ZrK~putR*!`z6tO?CODEOxU0=O-*<9QpEszy7Ab z{e^$~tGyhjU%sZ}kuOg^rkVqJt7g^`X+}ZDL$Yz;mw`YoST3c$Uhsa_kBj~O&Tp^w zc0RrSZ(dI6^pVO(s%P^>SO7RGYfi{es9Y{qWuZ=R1?mhTsesj46H=setB1$Jjbbe; zQ|QH`U0rJn*q~=RyavmKNJv$-SUUMIF^$YaJ^ZZ00Z%XW@Pz3}(}<^MKTPxCi{&(= zfrCl(DXFs7S{AvM%c^<9*@>HIt@wcxwPCP!>Jf%D!4;n_F#;mNvfTsg~eaZD- z^X0!yr_gN$2+q&trQ1u-~6Fj(mQ}zkV5CUi2klv~(OXrs#KE%so{b2Gx|mj`p`Ne)_li z{xSc2t?wWB$9KKI`p@q=zw!J&lvAiv)d>_ORyIRF!|AmsONt#=*|pZxAs z9pP2J^X}(cf5dKXzIWR_9DM&>eez!SA6^-UH!FYl$~QOv!L^%`-;lv}&%?R#|6pI% zRgK@SH~O=$cTeE;_>T#3M@!u?wwv2sjP_>Q_b(n!Dv}Pa36$HrV2dvSD_(258Bp>0 zBeLJ=>)rdXb8Ouh#`hCOmv0Q+aLc#f*7If%UQc*Ws5iiz(iP$Cf9X#DKict!EeP#y z6L&9mRrs~TLI|+9+hMp%B-*o-+vi$STz!v%@cD`OQ!VI&lKu)jS0beKZGWFGI;3n5s-CoFsJv0ad>ph@2|(waQ8`U+zz&3A-vCgwg%;J6H-pQXI{7n|z@!?0D`9>4C8%kG?`$P6|U5eK} zx)xaLgSr#9V{x~@$d#y!WSuJK3hve53Jk6mbh#27l7Na`{r#=g{LkoP8;DN(HHv0J z{C(EOr38w6@yN>+7nxe;w*xD{i}dHSKnk1gzaB zca!l)%KPJMJD%=)goDOQR~N^hv;@0OMQ!C)&AENAC12C|_TwWxYJ0Q&@B8-+-HE%y z1>y7J*9X_06v8{Yz1j5{dHnS)P`B0fsuy7G-;rcMpl*Y6vybip3UCekzn2Kthi;$J zaXsO^Wp}NDH~&dwb^mjmWKU_^v{BJorv1U!AIz}-+{g4D0==S%$BN2&n{F+kE};U~ zoe#bkzdaI6*Sjp+DOOi(@Lo>coA9@z^-tDb@^LjUC~un|t0!)R%MbDd2qF_Ow`G)w%#zN>r6sp#r<+fE$$sF+7lQD|2X!ZcQq(A^yM9nOsn7 zBij`e(xd`e#uynw#RhN?Gg6kNl%8dSacl@WaCmhsEbp$uQs#Ow6>1^smSb^ktVxl7 zd9{@*3uUWHWp4){?7uGS@vA@yk9Q2S)CEH;G>Vhb8SMVZKUTc0v+66ji+kF*C#|;f z`1E=t_15tp$X?oN(Ct2K2{S8uXtg2@1BnybKBm@et(ks#cc|B-G4*D_G!Y%EKc2J4 zBXqR(3ioKreZ=*guNvL%(D}Z{umHFh;OZ>*KRa%BB!=Cuzyn>h58nQFBmeHca-&xV zSXt*kSH6fHTG;ksLyLK|*B-7EG@EE$fq`-uoel!-V&u9-FMt%8ERtGxaJYK_>}C^D zX-I<&#^;pBVVIJQLq1N!(>P3K85*JvJ`xL{R=g2CmwRTByVs&pRc2TeQX{*I6)GrF zRVlR=*IZRYJ+yaNcJGO6CaI`!cP?r-=+@KT68U>-ptlm!7L40YAw5D$ zkXjCGBk@KGH-KWcJ0>6j^)BmCr_##$qB#Od3qIolkS$xz$)+g}X?U6PbT}NQJf$?i z5-c-WfWvEpHft4M>gkDoO&;p!5`AURGQtD<*vSmSq<|)Gm1EMToC^|`Qr&A9y{c7$ zk=ZCmVnR|jCKIg=$?}k%o|(rKCH~`N!(cfh+(MBq74DQ~Y~S0zY8jf57M5Kl%4Qm< zkqfMJc``CtXQ`VAT($6>JxMl|4Z(3DBQFk*?lUigLyH zq7qMRjnLF6BdzkUl}I*8Ymppn6N=QKX$@p(Lana0C#IC#!!7?Dx~Ng-u~hfg@%N0Q09-rfvB z)0zD{H`JBuEsdo@gQePJLxBROQf;)b!VE;O7y!6HN5AQ~VSStu>z0{- z0RVJ-Hus_ESmrviJa8=ViY5NH^YI>EV!j`Lm6zMT7p(I)SKqpY)G#BW#y&)8pAKp|ty9s-E2RG|W zxHHdVIce&hgX7Q|kfKc`G*tQ#UQ`RJLlu{IREI}8OGPd40y$7R3gx;{1T$37h|GE_ zfcp7C`_segM#;YEMZM|)J&$Jh#gOZzzf@`sCYnkT_N7p~6#_64=qVC`OJk|4@0OBl zcAj9bKm70iQU344^5w|mA^-Zf`tpT;{Y`)Q>c2euFWJ6~!+|Ls%z~LzqS81RNDhh1 zn9DDj{>+Q;bJjo3{&q>P|6X3-%J*;n{$}SlKfT#}X060ev6_QsbXAmURhE(%;Io87 zg$g9V6iJKPaF`Pt#zX-+$pJuX@4h-rdf8|z)J!Dc)Phn}fhCa%$;$gT4inxEHXfBn zO-DR`#qoGKeo2QzJ{&NN7!Nj%HVnxoRAaF^S1(wKd4YeFx1?|1#&P1)k%uFOQNz)m zp3`(ho@%l>4nAb&!E7*o#fbFf|N1Y>JKp~>fBffZ`TJY_`}gvn|5?9(UtZsQKCzsW zFRV+_DbnO-9gq`;?1L$paWKndBHvMFmL*+2s#5*&d-?sj9*^ban2*!&<$y0oJ`Z*r za*lq4f&s^DPno|SG5>M{DF6sD(zac!uzz^XxuN(ifD?ReRQ?9 zn?eR*lU5Iv58JwO?jG4Du)Y4n*SRsJ?$nyC%H--VaeVI#q5gHds(rb8;`aFlre_U9 z{4tpS{|6WE$@kH$`fc>}ey&(qfQs!{ z&33hT_pO&%Z?5+i?@l$e+T;4xWd9`Z08hE#RPhf_VD%W|npQ7tG- zEoaVWcc&bo$CJznIb8x>D-KobI36+Nw%)6e96`G!!01vmjHAh#4ds%-z0|rnfF#ra z)#${t()s%Dy8TfWStYnbIlNjKRwzB}+dI(S{#M>Fzmy@UIJJFqf9_7reSK&Rg! zK;)dLa<^I{{;t{}E&}!@YW>>gx8@X?QmVD8(w()WQc7DHgHs@Cw1e)s#ohTAz?HU* zzb@%DE8Khyioynw`$D=FRNJ%Q{b+4`XRi%yO3=ES`+dA)`|(4vZX!uq8`$lqdGp1V zr9xuEgm>&>Ig*-~iUPY%Y2l>veq_|D4b4`433qu`*K^lo9D_*oUN|2O1gH?(EwJ?HBa{=h*_Z zT%+l2wiYEK55Im-60uX)(`%pm-r3imD8R0xFWdc}gdgrdTubhyCXB)ydmGv-`9da;w?){fA8rNo$yGH&v|;s6Uk{ ze|$s#>!$kL98F$-zfEkXIPT}a8)rkeez;#ZpWLmj1DkllAKGi`!TjA2+ZRo^@%CKr zS9tV3E1SQa-k+{EcBHar4qYViW(;z8LJ7f8t>bi!o5$!|1bi+Vgd^B@s!^!KA zeLHd57F>;OwMjlQJyvFZ&wJXSy0dF;3Gbd5_PWT%KtdmGvEav7Xb78$+IKnKtjS)y zHlV&PxzJ(Ev}Mh>nzJRgEDNTTzyZu)iuBfMBNZu`&hTf-p$h+C+uVqQHmqaPdUOpN z(cT#!5$_?_GU>iSJy!0@2<2==xL}JTba~3~$`b~f>&TpGBhsKWS{j%VWNuRep~^b5 zUgWd;nYECoDAS@>SEbbu=G~m{p&D(w{!orYb6be}Be@;z+amNanG9 z?2#VuNJMshkL(`GH9U#OR|5fgK<)R}UbVnxj66uoBN;`xzB>>7Cku09bLj+Ha|DuY z0MPK8$ySPa|EgGdNPjc~lVzR26{<}vM7mD->eKE*$JT{i8FJ@WZC_&FD*$=xQhmQ@ zSD&olAa_fv2b=`msA)`L#~&WpS@)79jF8(A<0SXy=!ksScGGQ|K}w^fH4Mw1PZuT1 zK)`jltjQWNQ*J77C2zT>6q6D(B#xs^#*sD*HVwm=^KUti$p*8OnNu1JX{7{H<6X6Q zg#QA;p;oW8x=O|3a7SHo@Ve?=Tr3KBxi@e@_OnU6mRTN zR%|QkLm1{Q?ItlIJY6iY_n6BZqQEAZnQe&9DJAwnEaD>;9o3nbERfp+z>tJ%@SJ-J zuY-~jQwAlB*~T#+hv9h0&r^Ci+S60|^@!us@cfjXjyN1(iDaeC1*2DQmA4MSysB0& znnaX}j|*Sl{q!-PKFY`Y`M;m__VNCHIWM)moiC-7MjO1q9IdvXl4PLGnM7~U?A{vN z85*4QKJ%u*(W!I?EH=iDtu}9O00J=IRnf3TB3p|FWADC8^t7HG2UDEvC=$u7F2ewz zk}iWKSP8g=JdMNCG#$q@<}~D-hv^rfRUI!yXyu{c7849NZPuThG}IIk#kZzI-z7(boDGLR>jn_gXAX*1=yyivtEr zT6f(B2J)YzS}4g!NLGuyxEFebIV9t<=>*-?VG02E7M76;IwBceE9Q<+>8YuD4Mjp> zlWn^gd*_kqV1QF}PcSDb59r4fwaVRYh6zURV23V~&2KncdCjx&JrC)4oL-*BX&Rn2 z9@F$R9-eI&l_noXOBry`0>9o9U<^=9lpW15uqB!;4FCzKo7vX%HQa9T6^(A1MOXaew>IHDb^>qNKz<3m2BWD02`ERQu@+jeM0bE7V2Xziq#-yqJHOFW+~1PY|En=kUmqslA$lST)_?-2qq~ zzD5SgP+njrrcm9^qhla*O1PL;ykFAWPtwlmziT+y@r7T1<=5ZzFJJMmU-Q>z`}%cy zKBVVEoe~oa)l^MbY#2;KR>~wyf0>s5I+cRy+kAOHpMUP^%rR&@s|GBDn^Tcy2(50BT?PP%aKE-xN9$^!q|JtD8JcZXO9!~51zRrw zSvl0%YvP=hvT{~F_}dGnBc7f(9{u>F>8Qh(;pJ<3`jUqO@_^BD&VUJ4N-5?4CGFjo zB*~2|!E+QabN7hIsv?VI_v}c|%I?Gd|KIGs?Zd9LG@He$%#4d)4A3(V3c$=SQRK`( zD8)!~GZ+j|D5@0V_W%GO07*naRP=hZ0A5e|c=Gd`ayFZ2JKH}^^C7)FrJU?A>*>I0 z1}5Lnu$_5w{=t6u!+id4^K$xOdHc)hmw!8d{kZ)9znou>=U=|oU%&C~bvnIS`Cz@A z=MP+jYI#XYNyu&qOw%-h#jS`(Sf%w_FBJwFW=tk`!75l@&0P(k5r1Wk{7TdU#i>$GJAxQ zS|aIK8aanV5KBQCvKpjDH=MQO_BK|!lm9~-AGjXsS8ChlkH%mhYJCrlCU<(#gEp?~ zW>}j}I82#Ww|utoBVuys9zzcqCXWXLP)Hry>%SKc-uls%naRexHpAE&iO>~wAWr3t z5&Sw8V4ahjm#+7WufKK{jX=?xANwjpL!shTpVykO`hjsrKe5^GXXLYFKwr;gcB5wW zaI39d*`6M&d45kwgKiNzYX29#CnH?xIYfdu%vA&YTz9g=jdY0X@PakBX!9xB*a5?i zG_K=zp?;vK!KMX+w_ zch*)QXLBU=Kb#}4k6;8_fJ|hX=LDeEdbyNxp%;Nws&Wi_RZL}Kgr#q@^RI|uSkAT= zV@-eO$QwUM;n{EDnfG1Q&3@5UdH3K#p|KOKq#FA{+Kv9>bJno$c0LY^+iW~PV-o7rh03aEGoSR8Yo|eUGt?q8lH06rgKB^xL%}BA?o~sf) ztdgT9&Q=p~xoYrR}!I)`@S>Tyx6D|CFV&5 z*OnR|9ugfqY`FXf@G@wEyX0L`>HjtBU?vV(3-SiplU4eJTSVxsL)6unqqjg4#3S+Y zT4UYf2iW$WZCK|$#?|)3e<+`l56+t|c|Pds6CwACVn6x)_a1lHqXqIPrg0@gGj%bv zUd!j*1J{OeFDG2f>bkw&7jColJ~7#U_AT2jKic;3+fLRb1++YYRk|Ga2giGm?te3e zje>AbOR1a9?#4!Ka^_ZK%Ii*abA8mD>K?C_FN@n*)ykT#!dW^qRLfRD=Sz|{-`?nE zl@QoZjny1`J15a@N}jK5d7Z1_t6BYXzuRs+^xKOzxW`>Q_fTW&=HhxoI6T#pgC#X6 zP^4>xPFv#gE-a1OUN_|09@$L)HqL4D6}K=U55JtGdLFHfptty`_cQ+PKimS*{Z9Xi z+*5Efdw#Qzwt!t60d@bhhR%%>ZXEW~8mzowow z_|TBQ6u#aLxzr>DlE%$BJN}RqwT!xdef_Vs(iN?aMgI;@n&cD=%(7&hXc;i&Cs?*T ziMbt_UR?#tNvd2fsz=nbuuw&GFvS`eo2$aRyT7xS#z|tWKedj~A=bz&LrYV{HJ`la zqEV9$Y-q*`6&+()Q{>a$Z;G+dxIIHZtpRaOLbvT!P+Wg7+!H$`=v5hl_sQEe^Y4VkzN-N##6 zRsr!l_*A;wp{|DZu=zid(HJQmuXxYONPn@rtTaRjLBqf>~bq*7Fi zR3I5Vm5R#}|4Xmm{CK&%oiE={9zAej};DG%X6 z6*3PfzB=S*NgFXOuGEd7wIUCN)U-VruSmMxvk{Hj$!kChjRtycsb0Kffb6qHn77qT zOb`+%C!7g+N^?q6p7v8d%+q0>_w)1=OJ>&U&Y4+?Tx7F2{g!jY2wLc*2`MaWT`GXC zbAlp7q7A7got&ndX&KLQW|qa+0MqPn>t@@S>DC@6)`) zG$UmpMV-eqXi^Fr7zEZBQ8NqO-=&+zCh1gaw)jLV^TU*5b9G7NJt0FY#p-C561h{&?leTYC{l zi};ZyTatl!6l!_LfK_br?k#Gx=cK_}*qwaozHuiBb0SQZR=WXQ>v`aG&zxA;n8n%a z>GJ;l^&^?(dD`Xqd7574^u+0D+C5Ks&W9(oovJI~ptkG$Q zVH(Y@(!xSR-`Xrsi)3t(mW&yS(A@TG6T$+#BDOS{8sI1^BB>ex!YfB3P%UvsPID$$ zE8w}-Ls@)T{B&MEj?4LcJ{@&AUM}y;vS_(@U9y)7A;o^Ep5&yPN9K_)IX*EdD!C@m ztC?wAJ12OC3$lbH)qq(IxCXh0>`RwSaL6nP4U{8{eF4Veik(ityLd{W*VPMcb;NqN zs&#Q>x7x}!Xrilad1^lXDyphpP!>p77P#P1CSZXt5k*T3M0$WLgvu4bVOKuz&$Jtx z!p%P)cG7f68@3Fs*A<5yl6Ao-;^s<&y1EE?Qeq)tj+D&-N7aJU+26lUfByy39*1Xq z`LRAf=`VlMAAjUueo8++>BqevW*joJVPBZgV&p|ywu2?YpYv3od3o}q>%I85Oa1k& zyngsEXMB8H-oMu4YyNoWa^!M0UlQO}-Cb5I%aB)D+Ua5;N~%weMNCO&jH)e%VgxGE zz3sV()V2|bgU(win-ZytTFoz5P}7N*4}R>^TSl5~|AgHa-@nxTR~~-g{>k<)Jj^^i z^RUM}LB=`($md#XEsM*woS_TO$COff-OXm$&G~6>yBWJV?e^I1k>~St$h)1UN%aTw zpQie+({lPj|L4D6-Y*}&z8(Miz5M-q{rlJR-~WF8_L}@}^|D|&ry}4|B6~R}UA`#i zCD+BkIVanJ8I@eV`eHi0*0()>d$OmO^z@u|d;aNXo6~&Al=%ctERb8((VoUpg@ zqt11DJC)ZDeLdH=Z~p7w{M%Q(ziN5c>D|jI`2;Tx&y-npmN>!XBAcPSt(Ns*B@Kjz ztzy5?LvA<3O4SdvpeswtXz||rz4e(Ec-QMExg8Jnf$g22{rx}Mc%7uOHEDe|;O!e9 zntnizaOux_c=)c)OCMmZ-+b@y>r4N0?bALrtSbMwhnoq}RR+u&vb~Kaxw180hiyF^ z(q}X?o}{9T>+L#9N)ZG*?B)aU($;fxSTu$<`_F&%X9IqC@v{&4XW9(~Rw><$b)`PU9vJFtGW5e?sEno55_qsEbkC+OI&**t%&xpl*M+HQ0db;XGu6H^b(- zoq;tI;;PlqcR~qBW;u(7%cU+K z?-i4veOhQRCby|Ffr&=T$-n%NNb{=m*-LHvsMejgHnv!Jk(Vilei`cEcyE^;d>skg zBY?YuzqmK3bCPmL^ZWEzH;F_+vrBr{u%e|rJ3&ko=Paig(mZFt%A#edwIsB<&KWSW zscE)auL66l(~tMVcSANe%;)Bhd#ZDwO~Pg>Mz@k&KB~jAo9+6$S`bx?pl(o1(D@ry zHCWx>AFAQ701g3oRIii??u;NSsRg%GVoKm3qh% zZ#eCkqOL68^mDuJT&?xn2XA=@8LJT3fdD;e#VT0eE0cf?3~8(Q8gbG+({Y17w0*~l zB7S}PIGOLVq}JBYL0|Qn^?S$3{wdl14+M^pswA?>zz75F>p3{fY4!eIS;{LC+miPvCRQ8BX zxpf@2{}LGZlr8I^M}fDJ%$uI?Hqn+0`tDq*yjPLNEs~V^CeF3{;O_Y3W{ShT+2?b`1ib&?p-VoVlQy1pU9Nt*S*06k zvkUGIr`k6p*AK_754(NNO0V~#?67%^>-XFC5lP=(@7)i9Y~3k=<=O8FdJEF>akQ<+ zRzFZS=l^*1=wVcEd@zB1G*<+@{qU<(FD_oaWfkCK-pNOc-fMjIv#iq|ZcxWIC&9JU zPLlVb&JWrRQTdIxFSt5FbiP(U+je3y8k3O;Op5fms9MbwPJvn%)`C*1S3|*oDFd29 z&?<>}h5|quWj@>kBpq*3DEmE#THZ_W0asTw_3EuDjTUs+&W++xdq^ zw!Y#sD+l~0AmDx^4@4UL{gCpnDfGAWmFgE%gY_q!bKUZE# z5?BbB8yx1DOa?PEVlr^HY2uvHE~kT~18tt{c}{cAGd)ompqvsFh3^=qg9ZRYd3bfo zn)@7nWxx2P$r+}~TD6pNsanpb-=r!O@9|`!y9#Y0q-2B#TWy?o_+oqPctD;tBht_> zbVKmgV)9n8q@DO=+Jy3Z)EBeVnTA=!0Yqq{F`Gpo4gpw1SGi1PNMK?`GMf@f=9G2` z^PHcbrRg0k>($=~1n z>+ACMy?lI>x8wQ!BjF(0}Ai8k51 zo2RFz-OH5c{eEwj&9X74lv_}C0wxX-+TA5z7RLhXFb@#|A1B;~7X=Y*MW(J%k*JKX zha^@hNS<)7H8upWER0!kj|}9Tb4oB0d#xK}uYM0=AkhXkPma8(3fvOsop5Ml(`szyQuPSp_i3v^SSM zD}O1wQl6HxEvMytTrOun9hc*AIewh$;yS99QqI*&rHiN$fd&gpxQ6VLECDE;J&pg; zL&kC_(@ShMD3UOexpy!;bj-YnoOK}4dxR$3wgx3#B~&(fqfLCLWD6SJ=-EQ*7~M5Y zfO2L?4&TEIR8bu+)CHxWUQjRa3a_f2=9{Dvkui0g$^9+5y0UG0l-GB2GjAXSgb}|p z_OhzTD|JF0;DkV_Aqs(nIgsELvW$#sa@8oEmE}yJkaqAYyHp%gJ?s11^7eP7?Ehb0 zo?qrKKjMcU`KLeTzx-kP%g^bjm+42deb#M*mdb_fA$ zc4L*$T?cywoJh0KOLd_MnNE-wL_oSH2oUSVs*?*(1Wakh{0;fw`Kj!lwR@VLpX}wi z{_q7~e&F+q&pS;!PLofrO4i98@`CEsm&O@KPUZp{_)@bcs_nvKK|wS+vWAI-(P=y%YXg#^8Ner+t>Q`#^XE7F=s`C^y$T|6v<1+Ui=JyMAgtSrsj# z06sEn-?aysZKF>;GU(jA`d)XvucRIqA1R&|h$o+XSH1q{t^IDiu2~U2(=R`3pXHMK zl}@-#XuCrN=-Oh}0s2#`V7K|_dJN#^kI`rMTeP30tHOulIo|Y-7Eu{eqOF{H`>bDE znHpVn8x%0?FQdy=D~Hz)HaVwv>>Tg4o6hf-^`UjISz+$1*msi?N7j9+;Nx{)ef;gP zZmq&<`__h8q}7im+h=o1)#@#^(M9`}D`XWu>vK&syJBR!O#dO>Z9Vy!i{zX@(8BaEnv z+({$}UaF|-E}%=50c7pVC5Dy)7@)d8|mBCzIPWq3*Cd`!S#EQrx|i>ZPipxXWcdbHLF+Y=M?x<(&_X zZ)i&EkO5Y_fU9XYtPvqt_1{XQO0xzfldOiT?@{`8bTXD~?1fj}@8f8i3V;40tVx-OD80{M|+si`HGFYzcoo zpt6hN!RvaTpO7?wUMQVN{z-u4h!0r1+MZt=|LG&tkZQ&n-A4e}<{=+{j}mWWid?!! zo$m#&BLD!lm;+mS_zY<3cjN)}cKxC34jIVT^#6ywlk^+J%^vUd zJFKG*ct{HyzR)J{E`7N_@@NxX^~pyE2>X5v^C>$fC;+p7lBI4q*!J-&1|0ikjlSi0 z^+UC*7wUd6)LX4Bg?&=J7LtP`%?z-dcWonw0MK3j&>}Ap$qKKk7xN+v=wqsF#*FsK z^=5X~{0mTs5;s@lyq!#TSztRuP5O_btR`eKi?{<_2MtL`;KecVH4$>?8)$~2u$6-t7fQR z7oylH(WHuI03J^L#s@Z}uojjEu=Tv$Z25b7e%RQ?avgNCrO%DZ+{8ixdO&hOi&O7m z5QZ*ZiYYZRTaT&->|!&jbp%)PVMG7!7iBHm_zEx#7%X@&rK__k5*?d(wi$y9H&-H{ zWz`@)9k6c3`SA4Le3W0!!^+dIW?*w%e%eAFYQ3%Y!$vhdbA7Df)k2$<&6iuRL}+jt zrpzh%l#nxbIqg%*vppwTPWvhClkI5}ZD#ngQ!*sU)edCUTGd^`J+cN*0plY|*F@kmubVa(#AeB{w!$qb@14X)e}F zhqs#pB%np%BQ?wbIvVP~^=Zt>rfzl!{D4H6%cCsRqzTew)0A?~c{lMePy0D%vt6>? zj?V|a{4jm_lArf@n#mc{j5LY4n#p1A0*RvuC}JsA3+1?+aXc<>ANk|798b%~@#E|3 z<+r!f+p(T5^~B5NauTYU!Q674X(X5GW&j=TY_;iJ(nyRLfZ)~L-7S(6HZk;p1EUe< z1+5`{wf(zOS<7lsJCOPc00O>CHu2$CtPA-Wt*I5CD_pCoC_04QS(gN|ip8gt4y zPxEd!@1E0in5KQ64mnK;HKi0PZDJIBmKj5qiu&R5Fc3vy=a3$oy3ne{4^gm7cURWM zrtv{iKwL=8+2684Dr&8b;EJ1BN=y?|PScd;Ip--oAC`Ha=N*ugCd)f;a?%6!-C0YM zQ%&JZ4^v{3C|V^3Nn3V4)CxttZ&0$;+8@f21RyWJ{57Q%9_gGX9RzK4%)$ga05|VxV2lG7bpLX-}etNR~bKX7YX_x02oNSt46Rg!ugjr+jVf*T$ zSh%AN*U-4WVSHnKL!cro;{O7P$5Jm|F11`1U%a@RFOsS|1O}pFUsH6} z5i&OokSt=2Qa}GX5`b!H^qx{*=t`mW7o{RxK#I}>)`Vbj!@nXjKn(#SHJ3?KmbOG= z=njEkTWrv&Cet8wxKJHlP)qp!Q62S&>Zl9q0#$g09Ln7ctFf!Fo@IT{qgfHa&9dG& zIXsdjHW$Nfu--r30!Y}nqZ(@1_V^6*iVKLEFHqYpt+=Stv+CvYOy=a%lmP z%9OsJ%GX~jChVT^8IoJ@ruhEmt$H^EJu0~35s5Yiy{ojhwR00 zz=jbvI7SKxAhx;Y$a;y;qma>?5pbPplT|iza@5WdNK_VAy@0PN%{=Xx=kjgF{-CF4 z9iH*@MbBUK^u(uU9rk8>P6y=#n*f*-3$PSOwbrGcFPK4EQcCvqn@?5_dD_j)drtd0 z9Wd{hpUx=}6F6gc*v&s5p8ng9f4une3(l|a=U={`{`2qt_pjyaZ{_X#ayjw%tBYPP z)8Z7enK+r{`m{GQBs0tMq=j6JY2w@WW!jg+Q+fH4o_??|&;0V7_d7jhBg|Y0g;jDQ zA?G@k{50jCev<#JGt1j$`F^Z#NB+lu;^PgkU(4$^9KYM;$a3^jk`;I*oPlHAESjK2 z4HqFq~2rk;a4xhQ=?g#e!mWb`E z?*0J4JG1+PHYVgoGW)$p?y{q>QG-8g|CHX@ZtW`5jRD{@H{|cOjovkae?PI6fZfUP zd&6y3o(HcOqisR%w@-cEVH216Pu+k2c!R*$jCy<0tE;bDqswRg-%#DQ`9^pfr}hwl z)c^n>07*naRKlYk8qn3f@Njc+J+E44pHyqOCgZhBj!`w?r&%qo?HyNQ&nKVuuyrGE z;|EdwgIhr1E6b83>v?cv! z)mH86)1f`27Lq0;T3}_CQkKPaKG)OHy+_QuNA@(Sl%{|%Q%-*VFvupOWz`}_xz1HNd95W7_yu!!W>*mt%mOpWA{u!q zB7NiNXzP)(R4p8wWQ0ms=v0;&s(IK4y#h!%hkp!411-@611-1DNvn9~F)NjlJ8IK! zD{0lul7T5D$!fF65RvzV=F;NL z3L&^h=x?;)uxxp!Vcl0ZLWe1^szo+6MdlO2zGf8O|A?Q493O{*M|_w;?(9XX1t=j# z-e3r2A(J+>HqgiD5)BD5!6>>V%RAfKEF~3{;&mx?abIe!Rn^e~;#ZSsoAcTkX`872 z(^hWZd|=|8<6+|s8sxF1#D}Wifc?KwBtKjCRwA@XM=3V7#t9n?-hxn79y0u^=$n7Q>Tjn7n_~-` znO`-X_H)=l;)^y3@P56iTeDB&wmu(K{25Q9F_gzh0J_#^K0Q8qCieED9vBuzMF`(K zyT157Qt|q|cUnt#wX}7;>g`d4Z^B4evUX2AYzah^R8N)&i=v9O3?LjfbZ_ZKQmqBy z#gR;o1}2dPc5J*tT|K-flC;q;B9w6$#>SUEn(eXr2K9__Ldaq=n`C>lC`^!LWX>(j zlP*6|E-$D>^-@*g7pTx{RgDM-SJW0GnVMWJ(%H&-`?Z=+@BXNfSvYijA7}fxz5Bqz zX=rWwHL@y+=AynT%+X5MvZ+97P6``&W^J)Q--$P@Y5eg!{A83$;V6#t;P82@Q(v!| zZ(LuUtCQaB^Wk1g;f`ISHN&4K>+_&ZdA^(BuGGGj*tX`n>jC>V0$|+0rWZWt&slO`NkGjJurnIZY`|Gk0bw*)G`(OQuu`*5{1kqw=~{ol2o9=rl%i|lF|b9nrtlf*pg;wfO`nIV|haBgN= zJe3nCOLLxfDL>8AewTN<^!${c_xWj;b`x@9HcopSo-psR%gV_s!DN!DN-%i%`{AW} zwM*gg$hY@;Jn7@3yuY9S_NyJwr}xWgDdl51FQvq1UThH+1qvism3*nyG3^Z=#p$|o z=>V#q<3W>$*d_!7K$QlgLxiB2qD&(c)fSrSE37deH`EUJNPRJ05pf#&2?MH;$%F+? zGBE%ZazfZjn3Msy!(n8errkU}P1E!=?ejeCcDpoBDNSIK7^;UQqamQa;c~|a+E$Bx zMCvDafG)1NQA9YlR#gJTR^4KX}9MzW1el^ zVVb~cN{O;KdLnvTuFABF%^OQK^e9?bCM*rPn351l&jy5LNCN1g_i&R|pq|}C!hx*6 z{k!LcX|`$hX{UM5Y0qiW`~#D9LtJC%W~Q3DXcVV=>L)>{yA8;j*M`WU#ck#3b=HxG z$Vi*$p1cSdUd^j~p$l4s$|@+COI{R*im&GN9ukc4uJ(GD3~N>I7!o2hqsRMOo=Hs;XrHFRCDRyw64rF4Fy0Cbb_|Ka)Xozj8Z7qHapNOfDFJ* zv07xrLRC5B9#KU7Exs6uM8a5`dL*INoXF&)c00n7|F~Z+`%=6XMkv7fY%WTLapv*$JcC5D2uxQc)I^ z6UsubtQSbWEMw20tIlg9TK;`EBCN#_#RtC4&EX%xOXxO{cCph&(|ejhCNv6Pg|dxe z(;{6{!%=WENU8|bOYnl4fC-+|3@;wgQ7(t4#LCm+r{C%?sAiY{=l|9ZKk+YrvOoRh z@aLa*fB7-}yysKS&y$(kOl2(YlxH`Cos*>}OE2(0183xS==BfF_jiB&OL=?qUw_lr zulDUVy}t7G1Lq4a-y`&cn50XWTvxv5r>WDV1Rw`9RKMT?nKVIeoH1|6U#B*56K zh*30HA(A1nqAqX|C$Cl|^1$P)Zxhm-=4ZUT;N{t$5B2$FI{bjcAGqK9yyr9}J6N`P zdPa4x6)qQCaM|L1@l4knJtgX0%$n!4+w(c6d9uUa_6N*+q!~7Oe)9a^?4U1o`EvRG zUzV?@<=5};fBVmmuix@7Z|B$7`u5$<$F!VEIXg~3#>Y`eOs2epC0L@(OvUVcIe%Y1 z=KS^pci*|+>*c_g{q*$b{FLUG9iLNVF=Z*q+%iohl<7066;SR~p+^uTH&gZJqF;8}uXZv#)tHy7lv~JPK`) z|LF1UJw0uyi9G8oLT1~_EuV~J^cnxJ@P%#6O5rW>YpZvJ^!Z(3Ig)^Gg2YD~?&|Tz z@Cs~XT#Ss;>wz`%qE;I1W~@&gcAL+<-5Lh0xkNX_=0o)Pr`smccGclSLb_Q^-7ayD zTW-%Pq}b2&|Erl9Hm_@CX~T+u8-LY5GArPbdGPwB?JMs4$K8$_S4;|1R0`cpLUk`S zr5#PAF8)nSIZfH7tmS->dtHd6D8JoHTm^m}r0T9Ig~3-an57ijV9l6`)Tl8b zr6dWCByR_Gt)>Kc6T~Jf)dOvg?#%#aHl-=>4@1zkuE!c!Q6;1C;`M!5N-YW6k(Tpp zR=hUqh7(1iXDF#sD(=;(l*yv*^`x7n;arhbNiMNFQWW#$Wmx^t?2U{Ne=}H0HZiBk z%o+-zO&&J?R;iB3Zro5&Rn9#mTR|uRnws3b!7n!1Ch)H4E{0vkNQ=q^2Abs_XsL>N zQ*=X7kMwgo>^6}rJtY3UJrh@ROqgTU-4Fe3@kIPF_D2j-Qs}H({qa_p?44XQ`HhGh zyS3+&wh-yax$G4OA;?t#D?L8NkO{V=HjfZej{>zauR>+yztk#A5gSqfGjN&{jBrj> zs5>tz%Tmszlu|FXrQAs#ng2nbE&HS~rGbvP-N0iWnnJNzh0l(UEl=L|j~ia`$@TyB zb|t7>Y2mkr1<UCPwL+EK^;N64Bmm=l zf5hT8`+YMNxIJ~%{c@>1z*IQ~^o9`NX=;o`V(smQ|*;CA6%+It; z+ad2nlO-|1Xueb}UKf-L{Y1a8p6Nw|sfN>6hUzMW%req2mzw}bQZaHt0xU$_s2wcH z#k`4idPv?ki#6g-Z;p>)lTnK>u;C$V0^Uk)ghJjkX@z}#C}@v^b$fjGeOJja(cJFt zt#GxO`QMWd(NEr+uB@xN{ZdHGEv$qLuYUp z{?(KnTYC;#8XUUasqw@R&RU`{bt_l~v5`zVkTfKtB~FR+oc77)U4EWymu#18Z=A%* z(rjj?LL@Q+i6SXOrQDeWwUQ8wGI&LDOKJy;DRljaE^=Gky?9-`mRen<)}_{^EEmxo zwXy&X7P{m$^AJjHg}l~;6moCnz^8YM=oUHPFs29%W<(6M=B1)rhgzu2Jg?CuYlHF+ zwnUE%7dAJj!HjuI^DganY2M|u=QQ!K$25mKW#I&}F4&g_qF{}Odjb+D6C&||=8@Gl zL?*!lmXk0b5y%#NqibFS+NvcqG}ho3JvzcfARo#RPLvbQ$&E@mO_^z04o|Y=c}6;L z+9~gib1^C-;OU%{WMT_8kLZk*Tsk`}3cFRP>Bfi=TJzbPA4O)2^!jQ!NigJ?TzCZ6>xJ$@`ER9|T!6W;hY7fxZt}{3({4XM@AA`}4>o;C^Rvx| zyx*Pn(>zVqkJ%PR+=5%_u7)=Xz(iRJ_=z6v*Ea30q)5R%kj9Jj*FkGN>y3RD||`e034C1fT~wZq$9ahov0$xPOuDlsX~QUc%c#ibJaSr ziFyLEQrCT!kWLH@0HDenOe&P<5#+Q{#+1~t2ewDIud+G}Or2etTN9=Ser5v63SzgS z0;sr_1=X<}A)zb{CqNbO7BLX-BEj5XM@Ca5DtEfIFiooqNG)6s0N8L%f;A(?CI*C0 z$RwL?hqZM0Jgj9Fl-OKE1tMmB)w+e{9Q_ZW)h#&+;7n!|k^z(|%Spfd2mkgrg!_Tj&N*I&Q+uiyORoyRx(_@0&z z0i@%#kbpQ)R2b?#W&pM2hgrx+F7?XBJwBsXv`8vA7lR>XT;6&5&3?;yO6B=yn`Rzf z^!y{9zAT3?m**dO*jMh%CbNU)h+7Qt3tp>Q${r-v%5w2jO>aP=_NhK)`!ZuUYdUCm z$me;P%@3CRV3*y~>E}cGKYo6$b@}Ce|J$kj^|k!+ZTa?F{rI&W|BmH270Qd%i|?fHr)Bqd-|hM1PxkW6=iPkRaf0o*2PwL$3!Y?9HQ&v7 zc{=HbS^x6C+2z0TB)lH&>u>h@dijrE()+u8`%Q0Ov3#hWt$KFJUT2u3#j8tE!cM9+ zX8?wjz_7|!b5BUiO3DqP8YH>E*)%d;iHT+{jwet*I_-z~fDwb(^qIE$gKgqU2~0Ov z#u3n5Q=4sKE2nLoV#lZKE>bI(aCK zm6Zh4mOheVJZSFpo6gf8dDhKgdxBk6W)F|o0N+bc1R7H&DRp-;OYs*26~5vAtZa^%PZ zc&Lzf<4X*zf3AY^YS*gc$>i2He>1PfUS0_~mTv6U0aFicC=3`*#!WV?wL%oZTc{ol zZ}Bf&H|x=eeuFE}$A{a`TrEWH#x94CX$j5Y>Z!ZtXl4Q#Gpb6dK8Z$^l;yk0E;$I2 zEo#b zWDqLkj#|-qDM`DW+w>Ah%w5&=QY|)scV5;EOUwmRqRWMvKVI#4gxBM4PKW&z1G!Xy znFhIq$+Rv857&N$O7zFbdGLOQ0Du>FRd+YJyUPoJgjB4w6Q{csC8@YEOF*)e=V>=v zLS#*38ek1t%?MYmRbE`yQ?8*A84Pn@NK0l82$^(a&DdoM)llYADoyUmYZyw*Bk`Zr zsML#sSr|BgVZTNbA{)J>UJL@=P#DrFH>_Lk78XJziwcSzMJ~m$!Rqd;6Ck6*)#LHI z&9*O^YTKZ3#tpK!E$l#7VWbAzvAMD7J3!JEJ|VG*ZDIqch}twQA${awU#Mge1=E7v zr-a6KlZv~fQWGUP%*i?xp}3K-TvAGTB4?2%&9zR;vMd*r;^$K-XV+5Q3*`o(&R}s5 z{3KWaR2BfZPbA9`MsLMS=u7 zg*V&S>&1u+0o8)ZL=>n%S)s*Vg_)XJ zDN9PpeyR_nIahS=9)1vo|y-Q z5*X_qdnm?&zPRI))WEkJ2Q;|ffh7bjj0Z^$r7YG!-F6hxEXQJu^K|&shX4Q%8i-kS z_m1+?oHFw2AAd(vq#t09r zsR<^iVse|@GA)OwMSMXd9ibS6T7YUUmXo_nQESzE^%{YOsGtROy8%hMmwv^%O(S;t z8tWFjK8%i0OKqzLih!7cfd<-_%t>&9Oeukr?0~danw4_c>TBL7BnnAx^}_Nl9pwuy zmjpKyVR0|scY-(86f&lQADg43$Y1M2GE}gHgb>5n5U`;;sC(eZh{1zeAmBENj-H%q{1fr_2LGilO(MFlt?Q9%|3R`s5ii4#w)e!D0K{OnumVYMo zh!b{fT6O-;q5p0l*Giv2AJs0cTayi-A!Z;kqMy558gW1e{5`7BKRS*{)_%};;b`^X1YwM` zBRqBY*(~zg;Qn>|-P9lntYMP${=!aMwOL8Fh&866jKo=^!1)*og3&vQ4{O8HBaobw z1<#ydi8k?tNR#byI^?`hwwv-kP4gigB*GIF2Af0+C3gova-oEgp$N5BEUlzQCmYrz zM~PS#$09AIEJbJcOI59bdsb_$ixW~6BKmxh;O3n^-6^wFxpen)rBMy;Rh?95f#(h> zu%4R)6JU8!I9A3;x(pLV*aIwV2dUAsnI&TejFzWqW~IT+$V?G(rfQ}s)d~b`3gav` zv;AQ{>~@Jf%;~4YZa;H3VZTd%#p_b| zakh^W-{1M|TX}y!|N54Xr_<~4^l`qNFUtUvUwCF>Zdl+17*6X2r71j&*#9DTljK!x zL)CMMaIV-T)g*P#ZQDnHGplRSY|5a#$;rWjoFqexAt4|8OOlW*Wtz$8?r`=94F;BZ zj?xKC?D^Y?DWx=Nu2sG`Kx1Z}ru}}Jc88}gc{k6yLrN*7)PRZQYVMC_7;MZCo{&{V zCGQGnb74h3u9}m+aV`!)rMWfHv}343iU>IhRnjXTOf~L)tP6os=&&V zp`mNaMPM>k5J=(WT?}UV?WmM6O_=xbKjs}Q!xEBV%9gUshydtJLs*Ge z!@>A`lo#0q6gI^l%?;5Hxfpr^+yYW2Qc`H909}M9hbn3zgz8j;j1nB{wSKXMyS{vX^Tut`v=yKB5$l8qsus4#0J&ZKm6$%G>6Eeb)VWw%%2?%u3 zmoK@L`tcVn=jC+t%SSzb)bp{NKhDdt)VDL-Sr7s%;k8yaxRBga@s-&?gWNq$DJ;DM zhyyO0T-BjUNvh^@PmnmbjC>+$%1)6m)xwAjfLmMZa5y#6>JfJ%`f25T&4(BB7=ZH| z))PD{dY=fZ86wD_14$_?TWUTGUfthX zUtpknsc(fDw4~a`;;{)j?mZ)3YU@2iNo`j`Fg^o-B~@0GAjU>;)giM|`0=6NzLkIf z_qyA?{;F@9Se*XUVzxwNO`St7a?Uire)A=nQKd_uDkKo08F?cqsup&yX1SYFO38~o<>r`E| zsS6`9XEnfxg49M@XJfJuHL&brn}nywWu|~xt1d4n3sc5ocrR`_&3o*A;r=Ndp6%%+ z9S;7(&zN@p^y2#+=2|L83$B`_-;|_q7bZ=zjqbhs4 zx_5ic=KuepHQTW<+u7ajuF8yv`;tTge)fX{ASfxaYKB!7sY_8H9u9{;kFS}R74M5g zrF@7^{2}R_bV>|Km=Gh5vl=ix|6+f^^1olMujl3K$NKeK{_D5$_2sSZi`D=DAOJ~3 zK~&@S|B%aB&hMI6wM@w+NRcJ*LqsH|5a&2elBQyzT)AFeilp-LdzhZ&=_&s3S)Y&T z`N&VEaf&epRSJqh1ww?&30`+86$uRUoPPZ0r}EGCU;hoS=k@n5>zBXTw{Lj;YHx3L zzJ%+utT~lDaix@uHES+GCIf&PVk#o4q#_fcnPvn)q=Om361Ax+)n?i}?iBHw0(IlI zUEKEy+iE_@cNwl8ZrrVYx7)66nkEZ$#b5+r-%_g_uH+LQui!mfa7VV zyql)RakU)x#;^LjcJCEexx0b2jE(qkZh`=ICyoe&oi*;X(1*|8-n>cBF*q!D@8s@P z)uhs_FHO0+H9FmMz(2YkHnQvI&2XA8zmIE}bnPQ*B7$=Jzwq zWCJa3LeXHZ+WOi4GqzK^(c-1iNVgJTC*$qy=0gT4qW6Fq~6gRIaf&FM!Ksv3i-q}8LNi;*mjajhU300fAYQV7wI;sNR4 zc{VkSLRD4WY|$x%q!y3Yq>!`)B#pHeRIQ?hOxya&np|Z~4C_Q;=O0DknfFykT z%N}QQU{E*oGp14cL%b#bb|h5^)J^0{<~{==vUgxSCQ%QL!FR6vqY&+=#D4RR)L!pA zx<8(zLdixcX2Pr`7gcDG5Q3`2s40bVv{K4x z4a>FUYhJIRtYju|F>}yw)f!S}2&G^ZO@Xo1g3W@JW+JhZcL)I{q*-Bzw?&lO-r3FG z_MtX1D$acwH%Z31!PcNuF6PSbR;IWnMYP`rl>vut$H}*l#7)$K!ARNRfdi`vGmz3o36{-#K3F z$^_BFWosDIIAr(4m};%C>qCeVi$-yv(ilrAMvsm2AQ)eCr53Xqq*jL`EktM7FLkqS zB1#vfL`3KjZz9euJn^P75VQTrhMmqXV{D6fLzWNEtnm)-?u@HrO#&WXy3xt_!%7~l zbo|)WhnF-8e|W#G%jOvhB5Y*|>XSg%f^XRGcs32!_BLW$uR5MK&-}iyx+A|9mRgNl zy}`ZPL&pF916My!+XwfXph!sJE3n_xWHIx#=FM$&vyn}trT0b zb!+NzX8iEO`)@sE!uG_|hqW`~_Ws*O|9|*8f8uVM?>jj@@7U<|etW(vL0hZ)DaC_b z<3h{s_50G=58l3g9)5T8{KH9ZECp3e*frQ9QEtTe2d!yC?r};mk4~tA^)f2k^Va2) z#y4*HO#Lly>B&WI(T?ZuSqAKkv4=mbsBki$`R5>2W})H7?1EXmGh#$2pq+Df|! zGi`A^>Z(z0_6;S=4L$o6I2Lg4W9u}-Do2e=)3{V$;cY2L<#f0EhF8}BHMzZC{|?T~ zy1hx%!!)`Gs(`r~*yRw}?@g^>wfCx}Hf&=RkN0YBYSU)I85*p=-HC!VfuRO}3tH(H zub`$LrVgOFMYKsx<9JC*!}(V{T9r8d zwl4-jw`mz|+N=pYcf#0?|9CsyqO}umlxP9TcWcqM{S8^(5Subdt-Dj_uRR@_cs=}( z9wJ|rU9E{dKCD{0Hr9haK!YH`vQPtKz#-@%#=|krDNHd=f-r?ShC|RvB&bGc6t3a{ zlay{}Aj@j2i{G8>syOSZDw6%XUV3@8i&-gUEq2Z2x|U_ND@oDpXlJCu;Wgebv1Kut zH7d2{krQ!7wfUI(1a=vwe)cj1BHcq5MZ~S1B%sPFxK=*OkWx~OHP%5?Ly9p5Az2g< zlR_aSl&DY?O))|dlv4GSh+I3UD4&61LaBSX-r9(Jh|h`|=1 z6b2YHla^^+=8h_kr<|Vo~P*$(wycw#o4|72%y&mH*-I{cqvLi znmtpffK`+=hB`;3mg$V@89OSd2R#WDl$uh3s?xXY-KZt_A0D>M_{ws13*oE zZ_jbm$PEnWWIvibo=o z>V_NlyPG>G_Y7L;nF{^HPym!7B3gZ}@T_fXlBjxg3_!U2QH2RBt82(;JHdONYuIc7 zv^(uYB(PX6WTvcq)1vG8+a-j!9$sV8!zs_#`8da?9AiuqV)R7rQWOO_ zid3!EGN2H3P0Lh;P@2-qV0>4>bKb~1OWDmczFz(4bwS$vFSd+B@idYuFrWg*Km;^O z2VbBC6`hf0glBbl%#zg>ELVP9)@8|;m%Lt=<>R_u)^#bCjcc}CP+9;bOo}-Ij3`Tm z=oe$9Mzbo_Bnrt|YiEc+^aGu` z`G(QXQHZF6*9xc+pdhvLZ5AU+mXet>v!llw@)>3*EBauow9{0amZszKW0RAc4^Mj{ zuWcG{|IiG1kCb8DMgTaIk(wF36OZmh;!Of~cq=Oq1s4>h3RJTgq9P~+fdyq{`QQbz zoXX$+_Ws}hFPx6}{7HWKdH$z=I{xx=`Q;cso#cm!PbvqMq!LO1V6m!{0XPDamY<#^ zA3weQnBUjsZn|ynZ-@f77?|6Ip`1lQ%b6DPkowej79$9U?<`4y7Q9_HVI=ZKa z5sxBV`=CxSgCV0!$s=G(n>VF<;FJ^;fr*(y*RqHRa+GsmP>o5C$1u$@|6Jxn{`8ce zpUTrS=99*gN?NC=Ug0Nb&=fqO$)LK@Q0SpjiejaZ3qDGi0}m5p%5jo7BTby5Aecm* z{xtJXb1Xl}`7i6&>-us&{`Fh_`eJ|my?psCe|(ko9PDE28B0-!T+N_}5$Ryl(LzW^ zh@B;0@$trw!}aa=JjHmJ<{y5Y4<{aH93u`v4x+PalyJ>J1SDH9kP%2C0{)cn%M}0V zQ@H%wbY9B0xBT1J{Pl&e-`2PH{Q9ETcgdGx7hp|d0cTTF6f>&$VknB0rXp5LT+faz z{*3@MsVWM|Q2k78cRSPq>LJSg*67;c_xNPnUc_+9{J}NKvVO;;sY&d*?&H?(``~&@ z6@|rap1fi2jXqljOqUYas+x%0ykmE6-qu26{Yl&Tu7}5p^v0|8)4Nv_S$0L=_MK_H_(ztn_rEJ~&gA`VHQ-MMfP}vnLb5e7HZD?Fi!F_K z4}Z|fQD5pGgkzw|&Vbc_=)~Q;;e&_l(Yvf-1GXJeO>Av}S~Bmh{k@~*(KV*S0Dh8g zd*Qp+!>PDe#c$j^bs*pOH8vwhr#h`i>^=Ccc1gW!r=hn|^GikpaQoORM{a61RG~K; z{ErFp=G*T*{Kt*3=2!`(*^$hcQF502Zf4d1_<(8#Wr`KxIw(|BRi~4r6uqFgnZr{T z6qame3afaqF4AYC7rw1o$gZ0j%v??;Pz{!1BHaklcG+gz@;qLl(Zq|hK{cv6(4UnM zSd5JBkS&Iivlz?!H_%j7G#CWX=pKHzFjo714GT7r3=vO}0CM+&2)I-aU|h<&_! z+h{gkCn7zCE$m$mY%b4jZqY?%0yH!AlsOSalYc2%{mWDpRUyE&Km|;tpnw`sw1_aq z7^6UurZ6Ak=@TqlzS#9*d11N6>t$K5ndYbnS*3^?v#JW3wxR(dS`%D61lb*Es-$oO zv)e`apv`69II`#e4I+ai9d~YIKJ7>q0G|F_m0HrF@0|AyhGqc*TY>^m!z;%{-SmSy zF30h{6Ml^tAvQ6)n{|zJ?Rpd8Dgx{cWp1>sGVX%fDQ+SD`%&NYkZium;ZhMnP>md3 zRJdVlu;%AiHPUYzN^#gd?Qxt`trk&frg@THRM4eanp-OT|Gswv6_5x`aKkR3lz?D0 zQHQONQ#UeigR(~afOea#hpBas3rRp7c+zv<%!%gF6!qn+{`TAXe?(WK&@xUdMq1JF zhr@qSVzJOUD}_)CRAHDP(KEvRh+XHWKo#|D5LGM4fMwx3 z>GF0)@q*BvL9mUet){b@2OTD<8ofwUohSt745dwtv|N|^fR%0R?NkyGK@<(9kvbvH z&?GTIBm{3ftkcDLdSK1rRm{&uAm0DPo#loH*n)@Fp9E5?5mg)x=gPe2jI2+xM z#l~;z65k&~qulNeg}cLxySTp2OK&e~&BpZTMp(nv?XOc8k^lj3J2M_1BgeRVjrM;~ z{rBw%la2ZBK@1z+qGv_d5hzgcocw>yQY1a8>~^Hx=DAT?WAEs9YR|Vba3`O)6VGR0 zXTZT00%GlL{q)_XGqPF!$7vigRk+{XV^91;|KUaktfm_qdp`d5Mv@ucHJtvn+KvcB zTa6!Sr=(A8lhqAym;sbQZ9+R)3``Or5mY$Hy@_&CnNpZjNK-ha_>|%)#nTiHK{Nyr z35wtnpgGKgDZHGWdu41TX)Ma5U_-^}-B)k>Tt4Phd?NfuRYM^YK)RuKF=sJ-j}uOZa5{wJAs!~3=NuCbb4(LLfT)BJ zG@>|4o3WmdA~aE8UCGs!BA2VZf7r*_-mc}6%WrS_dcA&J&X;w$E_q#<-D6CHz(T9* z#ad*+?J8Eo)O}FCQpK|~AR{_`sqp8dz&aBnM+4}tMhQT7Y@w@Pq@uXdre@MtSw$%n z4UPp)vS};=je)8fLr6iBNKH8=2uZ3TXo~TW;+)bH;}kT-r>Lqar5K}^W)M|X*lGo& z!Af0E^?C)>$X`bwgm!2Z5!Z@XW5glV1=sebV@JR(-kw2N0q2#C)teuu#v1p@n1ZTK z2gWFe<8*k6hoerjP6?_oSO>Fg+JTF3J3cucRnjuLZz2~rHsbDife6fY2f@a9dJT90 zEpGt>A9HpgBG9d#S@fVC=|Bk0E_Df>=4!BvGOVAQ#OfzDVbdWfQ5OjWG z&0uj1g5ZoS_EGnpJSffW)dIDeY0(U<%u?!ZgRz^L%wGn!cyN&=-vwx`I)d z6#$|~*1|C8X@X-Yu^sRywcJj_+hv zS&C#+c3EdRNB}|-QmmL6%L)>CMlQ%}#RJHtf&{3eqZ&-Ma3)_eNH@xkt2>Z%73R7U zu%me?4Tg@MZlf+A`bWK~E&6hOgukYUa7o7ihw|L^~C zNl%ygS%3a>{P`*U`h))ZJpJiY_~{g%r!Y?<*^z_`X=G7_N{K2@nsU@%kLBYh`B?e> zv3&h{efcVXJM-&{ef^qWU*h!~^HtZYS~kg2Op#HtX{HJRGlLXJ)s}?-f)|YS3Odq< zFKzU!uH{`;9axIBNH8`%futZhHc64~sKK~qI z!ZaZ!OOTWViI9^TCFI7)4GKbuvtc2x1@ghDOesuBQp9v9A?7g4oD>u62MJGy`0J$q z+fU_VU0<%{>)Z1C7yJ7A`uo4jw{P-tWjV|GE_TLx=Ji9;93;xy3p9qq3DW^3=@I}@ z)%^Pl4ySy4;(U-#Px^e+rvr{LC_*R_a8xOv5jl$)LQz0%3S~z4InMul!u8K~y`0}J z*SFW@x3AYPU-)}CMZg%(X0nNRrq{>8d{x>rpN9G7vf+r zA}xAuBxE+O54SF9 zV?WZ5XSp?sjbQ}U#|c38wsHV1wr=;Xjs(yI4Pvi;Z4KNG?K?xg9m4)McWT%}w{e%Z z{ zl9#isSwl86STQLOnx#r@R_8}Vs3NFC@Aw1~6i~0|4uC5D#)=p(Mmk;`>b$9{s@FmD zA;W{(GmXW~J$pyHh#&D(j&X)c0suk+6 zbDQ#158_g7k2T#2g(Bj5ZfM(ARV9#C!KGb4&6ys5v^wJC*IVNU(7s z`frCu8dX>kqe4_*L-9MUz<@$-+?uY+Kj76u7I=AJ*|PslT42!KPwJm_$B1j|9+|e+ zcw{64k}!4-%|}`6!=;|cC?aOP>d@|i{%Hg37_!Vn!A#o>54+C0k_Z}0=~LtdN+qbY z&;XD1D3k_^Kp3bj&G9M{LP#NcoQawQ5}?AW&$hcNO*~|{zYF8)w-I@ryWqxKx-HBq zGEB87k=^wL?0C^O^DRHSefz+Le{*rCZ>oqn4FQ0LUS`5}eecrOXz0KF(5U6_i+qE} zWVhV=LpkjI3TRV@n-K6n5YO0*D$)~_tL(IU`}d~nhPn0MX$y1cy%G<8wY@W}n?-jI zZ^G*LBxHY)+wyBayys0txsiTG$M)E58@k!1(H{u4KGZPQan$3$h4=H*)sucdG$FGu z*#i;l(dGTAjdXK)1y`#U@y%&5YDV&%rT<6tiza7&_lJGOgH%zwMT9)iHAWY{{yn0) zp(WM>Q!qqXwMV5XjDE95R*j0quBm@OPq}%FZsyv^#&D~m_P)6JpKVV)Xx!ihxazS| z&#)%#-?Td1uk3CE6=>u-Zd(x<&>&EETooNTh&qNUQz3vf_Yk@LqWwyeXhN7F5gN4S zRT)%Bqg_dAVX=&oQHttXS@eEo1p+bKklw|FvM(|?&Q)eD8ZtDZB(=1f_VxJjhy)2D zo_`A}C5nWgvxpQui3ZgPF`)|Q6qxdCW>!{~%(B21Fr(yE7Ei5~UN@vlVnfk^wpKk? zb^lf6+SR(;4-wWz#?`E;$E>g{;`>B0j z*X&Zz*Q7swyCvI#hAJ8FJPrsUVA!zIE>aY>k?UR-YKz{7q+6~U&?5har-yX^)*swm zp3=HcBW#uytIT{1l+ivIZTrz{-vBTvTKQk`Vr7IWTjYdnGtfi8d&kBkPofOKFsyp} zqZuA?_-@#Xc&+yRo&Mx_7=7p3h{5AJtDOjFhmo42SyUcdS%VS{Ap>IW(yV0%xl$2= zPEltKanfT7he?l<{tz|IaZ2eZA=O$=O&I||#|=jjz*zF?fH$53L88UcI<5gX=b*sLoZ@>hOSb4AM#$6-txc_7ljP`L7D{W{*J+>;nJ~ zb*%{W0+FB)RrNq0wHzLpr4CIqK>$38# zd^2YAs&0UxKoKO?V}%7Uq7del-^>;E0Z^fkL{Xw<{L|P%0XnZE3IUP2LjgWQPqC)8 zxWelt#(lGe5Y=}gt+f3WJcrg*l_bF-C4#6(Pzzo-l@2nnO>T{lsi-2JS#Ki#;DIfLUssrN!M$C#2@LylN2MB? zwAPO555uFd$HfxcFl_1>*SN{R#OiMGX5GoubkbPkCTjsTF{?{m9HNtTBL)^0gA}n< z)?i`f^#dVFNFhaPwE0A^ z8oE5;A%Xya41mp^D`o-*9(BIm4sS^ye0w`|OASa}C8&~O>ry}q*Yf&t7Qr;f7^g!_ zrVC$S%nrG&L$UGVXq*UNf2 zbG_#C+j9N5lxwo=p7P90x+z(pj&Eqi3=o6>3#GAu3G>{xuHCUI!~OYgo@U*UmD@_JMBb5OQS*2LV9)>n!EL=0S=0_zR^)<`#SD36 zF0hPz0SPN8hLXjKP*7+=H}R%Q$Zp#>A9X>?`kmI_*SYk z#~Py`9>_!qjv3~hUL125YK)6B=|TyG5!ZY(^Jlyvysi z^6?IQ#j?cZs^uDNwNd~J5;In|GQWhIe1nKYTeeAJujuT1z?~SITn?Z+n5ZoSp;AY# z5)q*iga(75WPHOK!t$!G(NaV@;qXb*sXYBEX~OYf@nG{w4$nFrDCwG@DKbO`g@}0( zSPfHBp%jwPs|i<$1yS*N6%ouS%oAdQq#PnswB;G`S<jqWp&Zp3kq;IlMgS=_KUP`r8ms{p>om<77tsvzjf>E z^qZr7^MM(0_w2(C{Lf!HCg}8=o4rGJ8hx`1?Ej_k+D(Hr`-kagdyD^gyfd2n@rP98Hi#Z#GF(mc^gjmLZa%!8 z3rP%{;(x01J9-#r|<4kO$Y7Hy-QL6;T^Fz`IT+Yc4%VTnX~{vt+elN zJ4v!fs64#>E*HALGqSJFrux5is3Kc5p=y|?cuWjRl%mNar$nObkp&1MAxIEa(zt55 zk_F7hb6<4nT*0amU;T3KMv@B2Cg~s|q78JUq33sP)fHNGrKE1NYLlyW6CZ%Ps2a`! z$x;dc6)mNRPK6NS@afa>pFZdJS@V23zpl$wX;Mnbi?9fbmlzaKrIx97lrhl)(p5ha z1w?6u7G2mAaq<;3z)qT&83>_c{AW`bEi$XFsv5kI9w91*@*ta}-stPKt)o0JXwd_9 zrA|yY+4rqW5)AOks$Fzhbc;i8)Y2?8b*i^wfxRc2kn_+e$f|#mEZhv@9;LW{bmQ%E z=N`WQ{E$!Ho_(V!a8L7Sgvrf&QMKjan5cQN9s=s(dRNX#WFy2uErN(t8w3GaLks}S zf|W`NB~ulaC0}_B41sAvnvs%(qa8lS=N$6I*6U$8)3c}|C6Mf@NORO zRO;3dRW&bU-(xs7_O%;eMOl$;D~vsn;j(ST^&dZyAJ87_|3}}pJD@s+_b%8St%?W~ z^e`t!bSuVEppL0XM^bE2R?ZqV6A~0E0a8r*SuCNRpsG<2JRd++LrAtB$RahNr_{tU z$W4_QVMh{?o;K~7d>D4OhzNo}JDvla_g77}KITg?&Rbus&Mt1wpgkqjeu#=ytgz>%>7T1lpZfq26JdFw^K6B_p(^!}ImzWDp%_umy* zZiSNrb0F30^raMgY+ zom@>Gtov||kFRUQ;B}4#*oh_o%U9>&8`mNLNAcS2%3bZbc2z09E{a$7aoVw-v22uD zpjd*0C{Vh?FU*daF9>cX0<#+AdhWt7NwK2l^(w=T4^Z1V+wgw@we&e@H;kcxn@3U`Dx$t+18lqe2u|5f4@6>dK#q|+YwL)t`uFC;v#mRVtj{#^ zQ%|i>5p!k@gfaBi`7LTxOX(ubC_n5ZCHKV3V0Q(2kOWyv(5T0X?stF?aEM~(pAJ#$ zm4Sz5>zwx&0`+X$A7Nvl+aF9C(S=FSG5+g@YOa6Jk=VTS-t)2VMwgLL%Va#BnRbU# zu#wFM8`*tiOM`F{$SPT*r zfd;jpj3FdNn5IL}X-=mp9p^Yt;W))p40GTNt6_P56pL*&P z0XpS4_`jLuyyS8LD$tboX55hS$Hk{-z+f>4;HX-q!hCV_xfn>xB$ z;ZCR?|FIX__o+}dOPhd~Byk941*+p*AqbEV1VJRYL8)eW6h=)|>M&7iO6f4qr%C5D zo#rsjG9UDG(5F*6%;{+=A?P&gG)agI5gJTHXrA0-v?7jb;BW`4UJLUo%cAEC-rxE5 zzJ6TR-_MqU0jfcJ6udX8_MDB%<~ItLsxbr#g3$Fo2Udh4sHBKV5y4nzyC@`t zkVIoj^E4k1hl3~g#~4$Zx8p^D09!lS&<1QE8l#3T*i;NEgBwe{f340Vytt%?G>>rS zo^PUv;<(igq-P|JVtH9aJTKRTj7ejRDa7fBm@pmUG;76NuUY;C%&jKHnjHhdsuNX0 zwB|kERiqs&-;La(f2Ml$pC2tY7#T=H_UT>?3$q$mIf!>Rgq^KFFR#xC_7hzC4zez|XCWa(&mNZF9kia>LMpf02Jb9ifA`+_jSj%$` zL%NYdnzR9mROlg^P)!@}?&qsAvd5uQA?~|%@rbOh+y(W;rRGie1MYV1c89%vZCe`> z%?z~7tQDy^pW0ll?QE+xlQbF(1vG0R`u^L1^ImB171jl7)F>iUsu(KN2lc#=dVSZ+ zx4PZJA;u}C9}e>&9ZqRFh3Tl%F{Vj0BFw9*1TUacjATv5@~RJRhxCDYW-W5*<{CNY|c3Mh2!BlT>27ehmmX~HBh;PgW* z8Ox%1vGqJ(&d=TlJhl}oVgNS06+>+#G}%hlviI#hLBLb6V>3zpp_oT zU|w})8;BQ^K`|;rMNXBI~=+Sw`1e}s;Xpvc$emWdy#`+ zG&~`w^@N%^q(4u~HKvrel7{PXA2zy6qheNI1}@Z-TwsRT_jLE%tEt4WM0oWgv3DxXcyhw_(S8o;W|@@WkT}oS!63m%}j} zXPIZl#Hb7km8i)qz|p3lR?`rT#_MY^$eWgwLW+n%;;hr0c%-VOsZ0~f&n!P4=Ku1P z7nGL|etpM({9F0!H-7n+U%v3;n=O}gJzFmPFmkc5+7xn9rf|$ZTexUU5@zJLvd$JG zgYx(1m`?fdIX!)nQ;H|VC#Hj}x~S?DWfmo5C5uU>fcY>5Ovm!+SbqI^J#&4%EN_?V zm#=(z!5x_|~1Lov2GY>t80vPhjU+XktXTq@0O z<{ma6+MA6aquM-t_?`{InnHE6WyW)-pK*;zKfZ>a>?~F{XIVFqwC8WF-?D`qj<;Lv z-QK^yr8W4UKu;Rjwb^oK_jjuSLI&&P?L*%guT<+~8UEZw2XeDk4Hv6mSZ70we;D?3 zF91C1MmGWscgAkOr*cS-Q}LQrH|@LpTA4oOwh{kawIjH7{+_PxDQ7&vd#gP(UUo|O zHsnDo7}mF%*Xv`C-d^*fwtduH;CGh}J|yo*AERrO=827)NpYAHaV`1Q#C$Ue1I^z~ zBbs(SPU81Oa|5@tuO?TOu>%i(Rksiybmq~Mn{G_ouogWg*;N_d{qTlci(ltg5f~`I5XISEFv(jAGTavUV+!Qtb(7rp&b-Q3X6zBMPk^* zND*jo2|Ktt5^7RFYS}GblFb9OOIgwLQ~X7ZfmjV5X!02y;RuRZjY;*5`T0Ozuzf z+K^KHV69$w5eX0*vP^Eyj`8%rp$d}HVDsQWYbg6)wUB+;C47qrVO{{V9dHgSmF>SP49K8K6DBP;J&5E-2h(nt`@_i0wE5L?SqS&a8(~^UWU31F<|R}? z)>IMH;mEcyFHJGU8MEY^z3_^$kc9%WXwRTx5lAyH`J!{nV)Xg(@&)aJN|l4F9N}!l zjf{_yZV5-gZUnZ?$^FUYm-?C;6-p@XgK)zx(FmL+|?($tG|t_PU0Z?es4pvD1KdZLvZK5D=kfdq@kw>MyFcDM9FiQtl4%Ho6@q+4zAK z`h_){Qv)T41cV4^(UWMDm^4hHkrGUT5*k1jD+}@!<-&XxTZL;WOREy%*)k1-$BS61 zHs4G=X$B{M-)KJky*eZ9j2?8$@9i}syF-zbA)TOWth%v^@f;Mf(sa98%&TLz_np$= z@tvN94jS(??+avs?fE8LDM=zowKYlqvNJl_?}C91!es%!U!``b0l?cTQ{d-z53+BX zrkC&|D_XD&YQw;YcGJk_5W&r3cXGQlKlC_Js9RK;TulH9uwVK;S+1p%iMG>D!^7zt1WJeQKr-F?yBbw%f68|d})(lO}h5n z&}{TL47UzZ6e6lIYX~WZq-lyW&+#y)Q_y%ypMs_s=NJyE3R5r!|22@al}rN-Dl9_e z;#|mFo&=bY%`8SGjcP@#Fq^H#)?&8iD_Ke@Ij_a8L^jF9>YX=ams3QArhsMzk04YYN79-s6hW7Hw!2j zSYSk;3J{@@nnIeUIK?!jc%0MmIRAXY(>$M!VLl*Dm}blqQh>}bGYKU`p$8Z#ij_bG zuojjgR>X=ft1XMYeek;Ek83`k%lox_e3Z9KUat9_ETDnz6_O|-hzhK$cnGaKL;y9y zjA|4*?qM^cmTZ=rrYpv}7g%UkMnDu6u&$1yZrsCp$`~kO}gIj*i5O%jHo9( zv$8&g1Wtg`0xcCL)k!6ZNSNl7(&2EL=XshB(=??NL&F$sB8kgpW-CKIy+lMp_2`E{ zHkAaPOm9~835mQCd>yt9HwcC zakda8MiI}5sX7`&g$&}!RJ6vXN;BLM5EU113^4Yrt>Iwm+>+yG(!@fKryO#L9k_na zW}KO@q2AqI)_7}s(x;_L2(i$?tHsX*k2e6oQbff1$7ab&S(e}FBd3L)I7pkRDptW1HIz0sRT J|^}0c!0rcom4o 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�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

D|aII|Nqy?$$i+_>FLVM2zL@Ny$=R}boYp= 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 z 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

8zm)~E>`6jicSG1n4 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�#|M8nTi~!| zvKzub3`QAba)Xa>*BHSEhV%KHk3-J~Kc3_HVaM?Qb@&*Mk7GQCeV8Ah%N$t$&;sU) zzdqyhwSIlg&o8~^>wo{L*NoSfzD|3+@Ot5uJPC_R?xmS(t@P_i!#cnStI}1W;A>mU zXB`#D_XN-_y7A-4B~pHDmP_um;Jx?I+CO>|__yFxZ_l@I)sLI}jg+``^!)b2AGhe^ zfsHEq{Rwv|5tk2eADn~$0lDX^uhrdSz6P*HV4-L_fsH@wu4b$_4LS}E_n-nW&NJ4F zaF`KJ{)yo{o^cF49_u)C93n7iCFY#5v;Ox@*&WV*w`0tmn~0LT9sw&x95-v zcvaUcwoS)fzq~UryqE4=G0zRyZVC{hyCtM)5FDyl&4@!9j<-M;timjx10!)@2yNTwx|g{)~s zHg~IKxR5(YoHm|a>q>?Bu25MP$6JOyw#&esxl?R|^NlC7yz(-EZ{drqJRvI?b$w}U z{_y*d#l>;JDvGylb%WWC9B--6eyPH0)}qRq@!kYMW$SNLSd3(iqJXR-sUzvC*0a~E z<^UELdXIfR==$Bve_sgi=mFgR>{0q29Jx;Z`wxE%U)~GffL1*yQa$S2G=Mkh^xJzC z4M95;)Q@aX)_=UAeXa~g`d{jRo66763T&I3{1yh`T=>d<9Oho`5pZ6^@^sMRAcmP! zmP7*JF-8XPX>edzDt4@5u`WMVoAfm}v+biy#1hw1gwF7QRs=#1$1&`j)zY4~#73)p zS&5RoMXyqAU=4Kh>-Xq*n+CjQFz(aM?(UE+u6s`F@<7&|=NY)K8Lx;zB5(~25VQuY z^b*|5y9Lh;Nw5?DK%?9w7LxaV-|KZQ!zQyeIY3dpU-R&aZ1X!_ zs&65{t2$+m0Qr^!`)&v!C$3_Jmw}2KC=SpjyQ=wU5LNH5`j$Wg$#UANm_#BOg0;t! z>^sGb7VYFpne&L)+ZS4l5JV}%dD-Bg)%Ue{uD%igOidaeS1l<~Vej|s^*76q+jzh& z7j^%T{00l&CXVhC^1C12#|;3@y5s1jXcP&%>2q{{PHV0Bp7+hCxJ`YfIp4HKT^=34 zzJwfW0^A)J*S+>$yP?@k6{oIG1oy+|6yB|Ib@Rj=Pb>1q4qcT-rdAbsmzj-pj=}Eb z++wnUI#S2L^Deq*U}Ss?qG~}|+}UeJ9fd*|Y{FVE_sxpv&rDwe{|>Xj%RlQOK^PSDK`f za;DX$SM~9j;ld2*m?sKEm2h1p=aRW^ z)mGY-X$T!;Dr;mr*({Pg#xlnk90xd-j~GuI!yY4iFprM|=1DMMBgr(Y+h!GON35jd z1R#t1t7ZH!i-wcn=R)M9JsGL>p}+!2k3eRHvziat$$kb&8J|&2^dOsa>fG;W64sg3 z=Qt>LZ~lB!7%

g(6>>*w+Q>)7|>`0t`Rre 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

ISKh2PoV< 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%0At)*$=iz-yqh-gb1qYx0?*G;v63bdIz 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%0A_nD}1tZ1oYmH2z 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≺-5|=lcODHzLv+>>*;N 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

k+q{)Br{ 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%0DKlPSPAbvIf^;SAJyRBbr%vaY9!8DvKU! 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%0A$E26eb23kI8Hsh5QW(a}B4@Br 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

lUWbm+_`wQ<@xcSa5U-xgmwTlh>Io|#` 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 z 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 z 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%0Du{4 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
cw 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

~fl%S>O9&AMwB2oV6y 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 z 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

e$AB_$A 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%0Av;Y>$p_C>s4$lhl-jfBo@cj?_Kd*7p zoql@3=g+zMd&`N_hmh|P)gsLtG-zmv6G93cAtDmIU>B8xJhOO3rU{vngWbmazw-4- zMBv5C>GWlu?x%bgCj>l@32+_-FSFq)|LveLMGL_Lm0Q{Vl{aT;A$<0GKKTOUrr#%h z_-?dqF3kz)t$Nt;ap0Chne;|xCy;}{@AB7blzBE>hv{K2b8nU0gu{ zwSYBr1z5I{2NS?tRmDT;$fr>&F*R44P&-fw%Ymy>vJ^^Yz=PDT9HknpW}c++QqLX8}Q`G40;__HE(=(|yt%nJAGWjwq&}DLi;}CL565V6eu1BgJSD zS^Z|<7Q5Fz_BjmXQqthlpj>Gfba@hU@@WKLFv>q;xj2qCR9?JaIQ3x#Z=v!tnUhu2r0#f70@9`D?${RaEf%Q>YklpvfCuGOGE6|(9ZgSnB2P% zn4Cm{yJ&SLE0?V3AhhBEw&9xZtv+@0R%)&khXE}ARZ%@mjUUT)mEk{n%(6{p0vjrU zwNM9+n8wHBV~AybGtmpa-5u2PGL1YKqY8k9{SQ-wbHc!P0-E+wwfEvZX}btiYQ-uWO7<>)N( z%Y|LslJ3P-vC4QRP)b}5$@|g_mBf)ATboKA{}V^cWKRCqU_{`pc&d$zAGyIt-T<2T zoE&>fa>SDe!D*z{4j^g})(XB**B?qBRk}`=LyE2%Rbm%=K}ROb!8v)JfYNY0Q;d~N zfX2e8@d#@hh@z9+>@#%^V;dY-T85WxB_fiv2Q48BO_j<7SWXXNx)bfuol19s?n>fX zhs!Wr`f4lF*2WvA8{t;XfOLp{l>)ltdLhDXR0)A0xJd0;NS6c%(zQ<8Zuf!l)cPm7 zdeJQ|hNoY6&UyE2clT!6zP9v1c^_yfRaH?lNHWl)6HfJ*nJu^n3kt^4Kp}XX`13icx4o{T z2Gv-~xrf+yp_dRPo|m&s3ptnW?wLN(DsO7GJS1sQaY3THXOue;b;4~@BLIsc)IN(6 z2ocVp48lmM1!odOSem#&XIw?gNg*XhK~RK38ck&+Icu6yp^NR#$&d#>J`kC%Am3{Stl0I4~;I;McxO{(k2+dfIc^NE($>pc^eDcN(oZl*LsM z5tE-E+Mrgkqa)q^@(Ljyp!}wjq=bb^&nKxh!(A6Q06m;f^(?1|z(ErPaiM5A`;HMy8)di2$IgHbam{`^!MoO4Rv~E_xtU6`)RK*&Ou3$}EHip%adBGSU3V z9V}!H049Ys?2T!m#rhrd1nbb2e^pGwSP2tss(>XqXhbg3|8PRw8B5AlfWl~~t&y-t zwR=L9n(xpm;7$_EpcZEcE`lA{5uNA?!&(*>zPP|}!mHnPC#Uh`#Dmf9_5NGlzE1Zy z!{(d3y~p+jJ~Akv0tJg2Dm+p`WC&m-$is34p2STe!ZLJEHD2KKORO$&{sPM@#2~(v z?N8j_;_fweZ~5?gn(hL#5LpB zOFKLFFyi4~@#bIh`yXZd8flcYb2KGVC&W67P8b4M2vUU8+$t!29MI7!gR0zy0)?ut^vySR^M=!Q z;=RWJ=}MRb28z;Dv|x(_wN%QG)^?tXQC!JI(lahT#o`HG{3f1%hGn0(f5>nDfOlWT z`}dZTa{+cL*(Jkzp8&}MBc}?&%+7VuJTB(Njwj3us`GQW8Gs!R?EF3olQ@VjBTyT?^SAieCDYxH!|3ljYOrX?M@Ncm8mn zoC+H0&T9L;+3j|lDqRWvX8?jM{E^V$<|C&|3KRN(WuTq-!cgKnW#u!1l|vk``ZOUgf11h*9=tEDt7^CT{b6kw;In+@$v~S&iMKk)5eT+5GGBT zaAqb@3JbsdT-oRX3k>ifcTaHo1y@fL6LxRI{kQbdEjg74a1~gQ_WkJ9c87w52Ii7Ru zZ@#j$_ZTTQFK;cl++hLN<$Bb)uvrnsjOMom3=v7HOWSucOx-g+`MdDs*USlT|DxC5 zAl)ZqGKeRK2)a;fN~)&x466w>chx`190qA=LZ54hd9k6!u{fhOXjb8@JmfmXKjaVVuc_?7^IGZ*4F9L(UzZkbQ6WO+gu z9^UKyPu$;#O;l0lsS3NG#VJOb_(8@7kN&S=jvd*M=X%mrkhSp;=a}WdRhluivi;OW z$VkaO&B@(;ck_z7JIVwxXA}Y)ohFFK^qfOMn;p!`N3T{QIs3ajf;bB^G6}-```H8c zGL>xs)XP-}u{{e*g;?Eq76tN+z8-GCD=w ze8RMO%lr2h#Nk9Hrv!1Xk_pj8}=O0i=l(Hv^Zzm0Pte3%m5kv zc<@Ca!cxaTf25wmR``hdc^uc)=|EDM;lGUBhnKrg`6Evomfnf1GB;;wN zCh@p`vM6 zDkjS}y#D7tLZYGn#Lqw9``F)VH~lDlFzj6zw6V~5@KTDsa0Z$OFd)!w{O->|T;f8O zPvyx!`hEoWlHLfDGD8GXwv<%bUPY5SxI;{(xI9`rPexPUS$?zqATjo<*aux=mzgrB zES?a|QJO@!K&+f1l}gDXo&~E2n2H1qfI0(3fY|JrhZ?GTJA(uQ&}T(-t-@iV1ZpSQ z;u#iCCZonK5FjX>33)edUL$H;K8qJm^Xaqw{WI+DCf-Eyj?uxe4p$t zbBx7d(nuBaxf*J&AR=6#shC~?SxNxQ1zkZYK8cvl19((L9s%^GK;Em`8wD3$I5G8BHS^<3MULf1b5RecAQO5oB zHnR(H9lLdi3v|6G-Fi*YIXOl$i#TgX^Q!gRoX5&$u=!dj#HS!4UZ=a-Tal9CnQ8aI zXP*)QbEcsj;G`g+P-W(!I}(yX^YP-5xjUK&@rJq-h(RQ@bN(QP53-~^NOi5Ham8s7 z5%)x7NpuT|lZF)}NH+k1VFU#xxZ5cfoEPq`4z0 zh*A|vMymU)WC@2+ElU#Y$$RYYk=`?2p}WxjB!pqTdXmyfn%3iZX8F$jhQ3u!u4CyF z7gPWSzDCzc001BWNklrF1^gEK$v-C`!8%>&EFP#*=PwxmcWWb)~Aq z+0*{ytUGyX7%CHguLkPoBUj=V`)i zOdmoT!gwO#JPa3Izvi$S`X$G6`aVtf<9I9S-hBgZIPFEo8l4BBI2ESuGQmej2KKPc zn10%97v23?-=7VqpRb11YB(9Xbv(UX;o>AepVD@Bdzz+)alGA+_sO>|dyyR^iIqfy zR|^AoCLwlV7bFD4q}!c+xXX*1w2EVYE^imx)nYgq`jeqQ>6T~fZn=!B%f+R89`kNL z-tE)fF5TRZ*Sq~@%I^}U#J#~B4pez>Y7yaQIYgXpxWTC;?u?Kivx z6;48_$^ZtT1}_b+K-VBehFF;ehyn#7s2zq7Iz&5zHSf38- zRX4;SA`;^Y;)>dpMrLS5I*8^H-HQi+s!mCHBSo;Yj{stV7!eiDpk<+(xQG;NLCU@> z8UKR~qe|&d4hpriAgt?azjPicRkmbO`OBG6b$|<-S*tGlV^QKmXj+Q+17y~=D1TWb z0i?3PD3G638x#ZPoANzEg)1;b>4SFrXHVqpsa$@Fvlp^FRaHwn?(gDve@G8+3UZR^(deDG8H`FOrChFEO5(m)Y zjW&8MJzM4y066|UjpPRwzt=EWDmYRa4fqUX&k>^tm=!Km6n0ukk=rb|q^Rsqh0N7( ztj>pomhg?0zR;R2RdO@D6{HtLl%@exrIIzLQ|_lYG$FJQ7h0KqHvIFrSjZNlS3g+ywdiWVh?`c`G(&S`Q2sX~y&Gm0 zMJBRevGPCWHa3s4~Z(Zj9H=v_l$gMuayvgboWW8cT2{51M)jKSV`r72(AV6qX zas60xD535woHw8ZY5=5cmAOEtwh7eDARX8zjVJ&;8oeL{1Ua;=k|S$eXQ41%v4J%CC!QwdN5sN#u^s?0|=YJ$MaeWIoLc|_1| zM+w`b3DE7tVs9aM%wfG>zVM6Rj+ei}*^40O*nExm|GVA(1^b;OgGa{m%7&@C(p0F? z-6QF6N5Qgc2TciuTjnt!S~$h}3q1J;oPUYskoOzB`#*90pJnql%+61WR?~2(+D4+YK>6*?qR9TZoYWQE}j=P$bRr?)iQeDLiDAmp69Tv}U z@%MQ4kHCo6e^`9@M7|7aJ_ z?e;r+|6jY!*Y4Y-8id)LR1pcPEOiw}4dXw0Y0efbMGeJATAcIpbG-OF0RH_~t2ciP zxO<3d5DhXWSCL~G>vF?}qFh^-cTL7OykiD`j%OZ_XcohAKYYfs-|6Di-+#4u_}4H! zj51L*Iy>Y9rNcoYPVurDq`;=4C^oTJ+_GQ@M<_d@e!fL@f%HRN`y;f_5#8Zz8U zGvl&^K$QAmN^MCxCy8r4cUk81(2*u3jr!3z2*n!iic;>?Ai{$TgTN|t2*}c@Wr`*l z7R$?ca=yR2&Ew55PN|~@Gc$!k#R|K&>PwZ9J}J(jN{y%3nu1EHQWA$+7NH7DW&v(} zH=SI>^?9Omdt(pp13l-1n@1q>wkh+|OR2>|j@jums@SxSS;{m8MYuWip} z*z_OA4no#P#Nko^F73I>!-bMh0#KNn*}5XC;O-%djc&XB zIBw});v9o|(PR-#!p>8bvz;G`s;cDvXKCyLQyw9cEYi4~dwb{Vlg)mYC^A|BnjFqk zEfti9uR^6mO^kxsGp)9_luESuEQ_Slxm>zV9UAD#VL_F2_k^4=rhur@xxs>HP?}{; zjV^3fkF!vUt&Yy$HfJu6`l__GSC&W350#N={xziT3MRhBw19r&n4|)GC@80>zrK*PxG)WZGsDQf*OS7jLZ>fcnq3H@7Rx;o)xHJU4K1gH>a1RFdh*CDc)#lpg>{@vh=seAIqUK8!Q(lSZh5jh4 zl~y82yB+{-j6sCm!{+|`zb-$0@4xxPpFFp#Pv!NX2|*DgBnhz&Y}vi_UX%zLd3Y7< zNP>tLp;(H4?7+JEyW-rq#Zn6eEEhJC%avh0W^{7|EX zlHn_HAW1SDj8P5k9Z*+MEa`EdIACx4@8AFU$4@``0?U55e4fTH?e+)RT+6gaCjzIN zwVaR^y+tp%y(oYjFa`pkdtcK(C0?ww??_03^_rPF-Yxd;#&3VTUtXU7YFM7E<;e@& zd@j3tA1Cn+LY!EAtpj z)aG$@27X)XuMdjJ{gitx%6*#2wU8t0b&Xv+&u^t zirVW`N?A)rf*8GU{}(F3FbNAcGSf}qQdF{PX$l0PAgfMscU3Q#r;}Rr5Q`vUZ62qk za{x#%xuo^(E3xgk+}rstWqB4)K8fq6y4v`g4J|NF5eaG;!4$4~q~hk~m_P|mrE^cg z9V!knsEJ2`N=Hw$43&O)Fof^eftmJqx zKl-y~7(Z%@$Agzz9J%saO$|pXLBZhw%|7Q0I5)BZTwFy;n$@drC`1(?WZ`bar~$|U zq+?Q#>XaOOq7DfC(j}T$FP@#|1wFG;+YVHow=_UQTwNgUasVKJ!s{p%1Xh|!)jo8n zF+IJg+g9JBD!sKiD&uJYq=-MlmBD{DqzWX2xe!0n>LsZk}e zmfn?6qG(Q+U|FIiQ@Cw%TuWH@@f6xi?1Kj}##TpRmHO=lIPFj@J-P~v}k`8DHE+MF)yBM zk={X()J2K?#Sz8D$(`iA+D0|*yB8sJ8rB+DZcDWd>`qAwDpI9HSyJu-_aZt8X_C6A z`9J7kD>hm{Wo;hLh046D6eX`rsrGK&4y`VydKA+BWzC(^DzsAmRh1!*LgT9ArwLGT zE26)km#(-;)}`-baVc4etmxB7AKf)ukhnltX;_Q)aj~FHk|J$S+kvih5R{hmmcSaY zmZ274R(+^RB@uB(G!L&KVI*vkDNsV)nCU((c-cN)ILuxMB)~`i`+=w)8*X0fZaHqBYJa*oeI6E>?ipaoXGa zyhvwPJU`L1UxX#3^PKj){{gq}_4-F{-f{Oz(&RalG!^fqWbwnO?xZ?Q;cUo$rVyg) zq!U4;4<&a7$*`aZf=G1Ei2kG-PO$zIs}rs-xj6I15{oFBVb^%~77rV}y~g$$`+K)Z znF1SjBn5`_tmTLbsJ*uZB_xFubfcz)R7!-4P|^PiF&t^})k6o}0RSpLNUe}BA1tz9 zA}uvsj!r>?ry6J0S*&CsYSq;);iw&?Te*I10n}Cq3D}_xRbdlD9>IeJH}kqL+c8tS zR6a&&YDF9^%&G=8J}JL06ql06ZY67lyU@NQSSU!Pf-IsEE`U%%!NrU%gEnW3(6Fl_ zHBo=lDprY_bg#Tr0Y&UEN^`<89NeLD(6QzI+avg)omOKtjPJpRW69;yCt1Wbx3C)N8TToDRR@IBap!NfxjkhKq2 zHazF)%XsyLUOe+|;R8ASi0jvS`ikL%!EMWr!g{0L?}MDy3Ib?f?}{3`U1! z?Hp5BBsov<3d<{=zQmJX>g7|eRCn+E)i-$kr+E7V(mgyovVu9BpoJ%{UENtU1mb}2 zhIx(F=3+cb8&#;cttKZ@TRDR}R z6}4ncp&NT>JSx;QS*h|TUCg$n2x=*cD7pv^x~rIk01vrHl8bbK+0!V}X>Z;=ALB1^ z^(;L3oh&Z0zaGAQc&01ip8kb$*XvD>k@)O z8?S*C8bgIpeUvqCq2|Z-YQC6S@i~gfc4IXaLUac#p=an<=m$h~rS9J$8!SOAhhjrg zjgk%*l3Hb7aYf>YD-9NGb*6tkb_r?|gri$+I5B`jPaSC} ziQE%L2~AkfR2*LaH;1uEqfyS-x z#UKK~3qV8mIV91n5HNl^KK&o~>>q-<{q&#p!~d<@_gT~^B3Vp;tOp0|kmw2!Yxyw| zo#$SlrWU=YryLyU6(ZOhbTFp4%**HU$v^V!MgQ(E!%zQ@?cZhD1dQubvJ(6L*55>LOt#Y@ zB!wsp4a-;j$b&B=5Uwk$(;r7RF zKaO1j8K^FF0o}D8=M@bUBZ{PUL9b{$qQ|KEXn`O%%Iiin$5SgzydlXu%uC%8s37wYgujiK@4P3ExE{G;sw~F5F zbm}_koSXZJw^2v3uu-#{DF}!H^xQgUnNhrH5zpZZXC_4bcRQT{!6C|NBCe%8C=@iT zQego-besi1kwVfxOflPlsB<>CY-@&W(T|vTkV?*`nE_Lu5j9TIxdYpWxZTDn!KW-a z6D+k0;$$w(s}(gfU!3~_$$Rw|{V2s-)dm_aS&=^gWX-DyS{UJws*!AmPjbF_2g4B) z4bq;cM)C7vs3>&vDLBUx^*Sok=rQE63z{{WIYfqZZQ}#t1t^*V!lc-7T8|-wT$LP3 zZk#>TV^>Em_EiNp1>-js&FI$?$ z4Yi=f;Ksn z{rSr;9N9U<>}og|7kq?R5rJ1GD$u1>lmh_d+{8og5IDOQc><$A`pfmtSVCxB~H^1tDEz* zUh2vJc>3%gb~_(;VZe9Xy$21L1P=6WsErFhqAdsIu-x7&`>Pw*+GO*dSI;oR5H z!sQpcd@r{@`GaJ+Wt@-_j2feG&n)f=i8%%++;*U85ey5VF!~~j$Pp7fs1OUrwVa;! zS69RGDwvpU_97a?&<{Og?~AMT`pL`&|Kn?^#uU0B7`63m`e`Te%9n}UiR~bFB!*jA@?IEaz4e-)IeK~|M=)XfDA{k z&>F~=;HlOi6O08IDrI>#tGFu(vm#m~Et5>6OAyHcAUouGS~)s|Mh3V4HsjASUmQ0W)+VD+Pt*3CVzapTa zx*I@20*u)V!5!V&wef0K{S`KssVenqTMV<@Md5pV zyd#dFrg`6iEa{Zi%SjF^XLctb5G|jb1xTc+B^-H)^$eAE#MSE=1QhjsyU%cNX`HFl z9m9p0(SE}IPe`A(49~B7 zw%7Uoos1uX>?k8V5tPuoXDQ-d4)xGECBP-CYI05?#|ZG9q?-;ye}9Xxj@`L;r_!CF zJM;djjr+_Gk~coxxNRJh3#lmvX1YWu0vzzJ`2Sf@)Jj~;m_Y=HNyz?y@j>%|@m1_D z`{7E4D~VUjC!gf?Z}N1F`yXukPW*wkr%WzW@Z4)~Vx;;eNf}Z9VGrDsESc?NxvCWEd`%tIPH3e7!ueat7jg5^C8*-whY-TnaqDk}wC<*LkCR1rHtFRsEc@lz zYJJhKPGeXM-KS4ZKTQNZr`>kHz1!|?cX_u@`zep)0}GFaLV=4Lv%9;PL~(CFigHCmTaV?BKBADVu4@tUDtURR|$-5EnI9rFIi)Z}i~1koC^u z`?2ruV;A~9#Hig$qqOs)Bs2?d6Z8aCb&o-!NDxsal%}!M5E!*+o>i71dO! z5HrPUyEwfrakv}xcT7QpRm7<+k2!*#}PJ~I25i@n{c;0Pa(z{;KEiN(hJ&IF#K}i#W7hgQv=l=vumVtF(?^M) z`Y1-EzX2k>6{GU zNC`t)JU>eaR32Z;bsZ&a%IB>i-_;33;prmQa@9IRDg`h(T2wz9jKjY6LkLlFEN?eT zA^-p&07*naR8=4$0O~p*mVM-H9aXjugc1~JpcqhUG$s;N08zVfX5-eE89C-^b0jNF%2Q7beJN)H*r zK&MNDEYO|E>Ip7C_w$!Hd5+ZyMRFST)qnBL4es9P=APq@o*)TfoDd7&1I(D5D713X zu6Gf*5TW<%?uPRT7piMt{Q?(X;@KxSJLyBl=DYmn8+-fT@o*a-ZbKTWy@lu+ZC;IR zB$9bL{NGuqk6+^WsK$+l-SKEb|K__Nr4|3pi)zDC>$3RUAFRv1!Wl<<0W}V>L?xu) z-dd?7DCoKY0*%lP&`b+Nv@^ylx%|SO{heQZiN43?JG}i`-h6}cTBmDr?Kl=4!>v33+kN>J37js}N z$AdtybbgL7sX7S`fZlbMCR^C*93$}kw|@Ph-(GWk@S^q#gV#(B!2neRXM#8p916NJ z^_0oZ?edp?^||OyZ-3z3_eg2fp*aGrkXl%4KqDk|!4N`XXBmnd+(Hh5vtP)w|0GX; zBVzdQmB0T}-2c`6IAPXyQ6pKFB8Hy|`a@dlA9z;&#^v(3s&;0aK zH?D8LPw&4=>qk|OaC50pWRN|1?BKQOhkdsw6^9P2F`2>ms*amo1Vj6-5I&Hl7Ug9Z zHIhhg2D&l>;^rz0U zCs(b41uZeu;x8NY^t~af3Phzh>tC>2qLdPcvYyIPCdibuR7+(9YUWk}0QVAl*JZju zeXwi#O96YXBhUBFS@Xu~Qj}5K`$g4H-+}KQI~c(;+Vvo0%A$2Kk>E4}?(VSSmlI}s z=cywo^ujC5N|ydK3n5f-3MeFV;&$OV2Wc3llI{aKHt^wxIex+Ek;SRxhlpgT*+Fym`=icSzxGPj9S~4x zL|hG`h9Kq-`TqOs-~HG2v;T{q>(MV?%|85U^Ut@zTjuOQaR#!_=SIaa{0}8Cuyeq{ z-RTZZDv%IKSuG#le)GpKu3k-E{?ul(_~vK)@L{rAhWs&G=VP{DcRIR+<)qR(o8@k*-{8K(UZcl&aS8vu_$H&J>`bZ{0gqjz9m8HmKU=csiiY+MZ z7eG8eejRSk?CA6D)la)OUv_q*?;a=Hg?eY23;86BQes}As)g(WasUVeBo!B*GZKQl zT6{?HY<4v{z4}S_DBZ(awzt#Vxwr?W2(l>#R)(?)da8&^t0?wz;c3l+4d`>cXq)pe zJxx$_OHB*eE+lVFJ~|7vx%6A99!7mrhmo!4a1j@S=qhJ+K%oer9yxFU|E(ku-~40LcU+ONL^Od7z5ol zn>*<|Hk;VYJFK$>B!siyQ$)*U@7mt)_@Lea7@432K#I;^v*ZyIZz(+s+}>ICWKJ z4uN)pEZXH z_V6oNvo))VTBVAhB-~UZ7a|fWjJRZF8N5?2P25uxn_~vG`4k?*wn2)nC?m zsGir%pVip0(>ePUatPKrT$6(i24FvV;JK?1C)RdapY8--nDk@T# zs!K{gmu^e0?`=Dm=3LuLZLiRt#k13x6E=@|bDPq=aSd(+i8NF3fDDuD>IAiMii#Ig z)e8cuk$woN#1+AB`3d~&L@D?Mo?U4*>i`eWK&yDimMmR71cgh*x+ z2ZUn9ZH>MNS1F%Sva*~24H6}J+9dj#abeTPFh9{a3Dei@$GJPQ?$JDEQPYAH3I%9o6_W>NXYPs&s5=$Gx$U@G z`CZHD*3ZMXX%@4|-Tb&cowP@@b~>3%PS0L8AvC9_;p`-aPh*r22{4(tA!pwvb9VgTpk?!H?(Ux5a?ablg?KjG*fxu0@tkwlZMNHWvP=O*wn!bjgltI4tYU#sW^q%f z!?F=NVa+dBct8+Hc4i7Qu;mtcSph!^B{E}yYnMuSL8RopM{5Cy);b^}fexW6Tu}&* zN(Q+`M{rH8vX)z|Sf@f098G{-5tF_UI!U51%dvGB*pX0gTL8eWAar?rXHX20si&oO^tlQVnysm@RJ=-gw} zhQZf-e23eQeET)l*I2!kylN`lAJ7QUN35mLs|c*z=~T2RcgUf84y4AC`U{N_(n&>n9 z`cZ;Vx_;F9ti+Oe6hfUq874v@Kpu_z9#U`LXE7$6k?~&%!P9eV6r!^pkJcZ_B?`4O z7Rt?D!L7*@r3v1n9&1g-eyQvf?s{r+PceY>X~Dz$hlMmevr``W&kj!x-64kq8d7i- zHBIO6*fsAn+J_$wI*3{Z5`9%j?1$KQxw$o=b(cs{Zq`tl?%r8@P^PuNBj~vSN`I~1 z5!nywH>2h~H}B&?0HjwP1mfesuvBoys7`_dLKKqu{zTl3?anV-pDz}&_HIxWgnkA? zV2O;<;9jzk>R!kKrxH<=(qs?7Ty(DOIgZZ!_{y47n_bAoC(YSa6WY#h^6J{I-(&d! zs}EdWb9ImH#`&N|p+U${b`ar7m{{$E0t4xNQtt4LxFbzH%zSp{^G`7O1oKzn_*~A; z(X`0xeE$uWAF;ak#UHU*V6_Nd$nnI)DTh1&dTa;jPdZ94!2A^~@3h z3)6{5ScY#AkF+_k;L{{?q%r>i?6Q`|IUX-ZxQa;~LBdzg`+ zlphMz6$0SVIw&?VWNqdm7d-tONB@Vs`jSUWEdGM`|7suq;P(#^w*W*N(+1jt4o^UW zw7W4F51q4=TiYFw?4x~q7E!2M>FFCrGyIHg@?-146a`LEIY^=+C}P$*;sos+O#l+p z65D%hS3A?9kMh>?0echo+;{ECo+k?id+VZ#mtDw2o_YE6Sd-zz9KCnEN}oa#hT#?2 zyHmB19|@~tG|0Q>$1jvB@rL-)({C>lcfd;aDop@0W|*JJ>6_;4l{cDJAF+Ik$FK^K@&YU#r8<1%oIhIdk~xC!dv(jOu+r+6xlX zCa?>T>~v(6jZn!s!zoW*HK%XPVb?#zyAP4ceVbz-Gu(#&Mxj7bGe#@i6OlP+N1d1* z<{CoyEdLlDf3NFxmPw}~6}~|B>|W){%#B85&z`9sUBsawZYQ7N<^Rf0e}zfJ z-5>qqKZe^swcX=Jy$3XT@AyEdTowQd-Lw~^aE-em2%vP+HXnb9H@}h>ze>8~hd+e3 z|I|MIpq{Oyo?8i_3^P>teT$(O0S~akzdZK%k^X(;=!VboavFrNxWwFhCkIIP%dsuD;4IKW$?>xp^DD|Fd0x1KYSZg^->_ z^(rt7SRZCU#R~7cW_}D7AUyO^jg{r%y}YsSQb%ocp3?Sj$4tZTN~3 zz7e3*^XhkYFCGU~XFMR{g9}ka%6rNZPzg$SoS;1+$@HLU<;A&QTvbJhDt7KcEVk5t z<)Pb6`v&d!8J;_AdtHaI*LOpDcy|exN#Et&2{X{zj08S=x`y%4lm*Wb z^UW}XQVOwELf2mNEXcBv-BunhehpT-mSSKTAf!1v*{p(5LyI`0D@#={RwmohlRiWt z!xs%BJV=Sr+?1aEsD$j7?jCzeKWUD!e|tR317UKxS1ZRIXeRYlCAd}uOprnuYHk~( zdvsegM~KJbZX*xD(|q<1 z`I|dk{69gLTZEvwE?rWoB)$4;Y69Rc7*nu==8zyn$Qg}T19p#LY5A|e-Tvu+=`K#f zr_5TP9HRXZ*o`3tH1(WBI+38!e7*Yk_01pV zS9#jPwCLfaNbMbC~x4PSO~E~yC5p0-lM$%VGC{#+A=+-VlX1q)mJ z@c6ys{9^j^&%)&y-hAbcAKVs}J{ackjx51KA2e{v$S%eZRVt^O(u-+Y{EH4-K@v89 zkPkD_i66aLU4Aj+V!F7Mw1s<;M0L>BC{BTpO6Dp|DkW?c`EDPYyFW6Xq}fEyUrp@q zZ=O3FG!Yg_xVUwMTk%sWy{l>Z=8}4^DTO7HJ`c z-rfgIRt`8$yg0jTr1>iVleItuMrKd&yoH$N8%|!cZ7sZXndtgXumta6nUXBQv-E6vrP#enaTd_QOU65@w?67M4%=jA+LZ5c;w9~ z^@KW~OfP61(u3zUn7~Xm5xS?MUMqyPMnSb*%J<+vHDgs&c0kE$0EW>s2l}23qqG|| z^udCm?@v}HD=Gm2axmH>8MN27l5K^uPlvQR1!)Es$-!3UOZS!d3ELwL(=eHZ_DFNI zyz#Vf+dy*E!vB{XDm3Zq8i0hj?v-$>tN>*s_Sd=d$#PPngj(njz?&d$?i;bS*uuI; zjSsOo=Ftm;X`Ee!>808#bvL=Ywe-;Fk}%W~jV@AXAk?f9X=2CqRTQ_}xsx5SaHFT2 zrhDZ2x|_V1%r7SMvoQT?cK%7)+^!$LU#)H$u9cv8V%t4z zx<^Sj?j4YbPQ`_;a5aX4VihKK8H8<>578%^^tl1u2o7YZL)1FExOf1w_N1)CUp30+C%iCBU|^0F+o@6+(RwnmEun#)4{3+KpX2zJ>Ieoh3cGfZzKh z8VacjC%ga!P8cGlGdq3}F2886zT(O2+@A2f^W?sGl>5KwVI$=yiOSeJit3@!w?Z7YT;*yYRu}QZW7oAopW|!XD{sJ0+(NMc7oYC z&@v}(?r{IDtgrd_HByJo2AdAa;Mv6x359DR?sw4O2~;2;=w2f4Fp|BO5x_2@Jm4o} z^jFCcsr7e%)QN$LFaUZI)aqF|d`z016Y5|p{eb4d`*^@Oc$53^>TpMPy0xNqcJMI? zO5mBsv91Y`8n4}JWIcgE?ZY;e8FiQ9{4`6l2HrU8^=PE}!(=zMWG|VEF5AaZI4BBI zRe{=(@n1*7)o18(XnFnKqUSvI!W2)~n4G^ix{6s+zf`IjT-+!FJaxQ;iosUCuFp>^ z!^Qd@)B|*2iSOYWtV?v5zP>=fIQ;AP8rr}>@e*;ALPshtDAtp@LyT3e)o7v` zW^@qIbS9HynVe#FZj-s3ey%TG#FI;+$=gk4hxI#IJ?i~Gr`v1XUB~S*G8uD%L*UxF z^jYJOmFmv9=Aaw+%U^6m#bywmlq zbZeu*wt%G=L<1=>B9~$50S0B{J%f270&nQk9A5eSQ(U}}^G|hlVbf#EB0u~VAAg6p zf6~VrWy*9k6Bl|TfEGOt%saO2vgP;m(}Q*XV=2FVV*TD)9X@n`2^jsYH(YRd4QQm% zXNzZfuQl~wV&5JeFBJf8eW09E&?11i)v_X4MnzSElq$*QftW$*vD0Zc|2sMR z2YLMqw67>Pc=!Lx_y4_Je&cDCe46!0h0s!bu@pCv1~H9?VJt|8Kkw0)*1 z@xSqsCjwzm=pm3uoienDCs0+8n-%j4c?oVH0~cJa42@m%`nm5KPNMPo&u7u%KX&c5N%>sQxbVy~`+Cmkl8}mq+`B^o4LL;2 zuEOc3di=te?Dl&sen5Hv*~k7%1rDvXmaxB6#$#LV4~N&mU;p;S=Li63`>>wjez_GY ziSZEnl>W&&hjmnysChSD_{JGrGc`*CY+K(5nxxJ8^z-KYjcN4NhspY5$jdF0#}bGf z5_r&ar<=fB+(MjCCTUCBx_zByzmOL{0S$NG$@0%kk7#DX29iN=bz&K&$#N+-=yp}!&>cay33kBbd2_nq&*U;lC&)lScm4aJ$;SIeD!$ikJlk@ zj3w*6bOgJRagH5*q58J#d2mqnxG3TVxOfN}03m#SYNxL;ImPn5KE4l|Yj}dFzybGC zc5rXZdq3KsWCG;aJzUhtv3XOwJ^Xr*X4KEJ^yw+Z!OU2;TQk%4jLhh6#n(gm(`wjO zE@1#qg0BEzJp8VH-VW~cIEm7Lk~2k`a&VXJSR8hsit_!t!P%|Sr{IA4Kp%G%5xBAF z&2TR^jKe5&XO}f~%pF;r>?Ux+L1SO`yQ+RWz+BY;c0%UIPrqSDcn$yTbzzqZ{xqw} z`Q&9~K&zEi3CH?bVjmJ4BE~%cshla=|KdWYb=*EibHs_aGiWOa4#0db++JK8dx32n zNB|$(iCz*4|ArG|f2f9qRQ$T5UXHsw=D+GW5AeiuI$XI}WVM}2V2gauyz*Zz#ro7kwwm8KU$D^XcWUC%?Kl`|3)5_7C^}a?Mp2 zW2Waq_d&9BCO~Y*KP>z1c#d_vU1V3HlxowIWJH4qs;?H`{Q2bcr_-ZLZ`#w(e|mrS zb?$yhwh>PPP}S+B%9#=zIBy2n#SZQ|jS8q#WFLzPJ5~{EI|HZ?bIr^eIzjS$y}kc>`Qm3sm!HS8Pw(G-(tY@sym-r6 z2}{wl$rlHQ5JI$)1){F(Q5goKsQW!OS!^rqX_(Ao6HS>SWgA6|URI7B?A|hfRZt9N zKo4WLMd~G!;L;#AAt0hd`i_qu^Xewgk1U)}k2sq;R^Clyb3gZw2AI%ER|OEHYK_=y zKwnPYAWoIcbl>G~?zTCv?v9Tx{OBw)Oqywk^A5gB559iXwBF?Pdi(Kl@qM<9s8@*K zZX@hq_r2@1pi*iHni{SKIL>I=QM-B6);*gU;HnUIUO*H%>EwjdD{ao8N0MgRU5D&m zqb?NjP(ADwne{Yuik)gvO~g^SbpLpL^7Humk!PN&GlT8;%%7gTRL7aV2ij7%phoP%3pv#p)2qpl!Q54O5LX)tPFbPNa=O)4U)$a4Se9D56kDK5Wcz zzbsm|VEa0W$GhVa?w^eof5qc$0TPzJu2(bq^J%8~+MD$-z(l>Hm~ zTCoD5z#YYDRo15n!2}>tu-#}kV{?Qsm3F3a(wbTK1E{c$a4HG)AT9y60Xb;S{nyzp zt*$><_m7P6s@vV?i0S9KMfJ?W#=e#~ekaR!??2!FS|><~QA%)hz>(QwD@+1cu8=!o z3ts{4cJfAbs!a%C&a^RGs;?EEnL);)P>7UjDfYx{9Jjw907lL8I&}TG?SHOUL8Y2% zs9*KWsXty|`>*KX=D_|}?=;AfKno&L5{LmuDIwj@Yf=$6^#^Pg-pxFouszr2I8HCb zvc$Qh1@i{n#JmkiNt%L-s3B<;R*j|fS}O3O`k~7S`ApXW3Xcwb*T*0t*<2(bvZlbuBO+O7 zN(oem%Nu`K$K$)%5sccJ}$??0m9(TwnjryN%>^U{nPf*?P*%jYL+q zDz7n7QHW$!z>J$twqlEzZsYbk#-n7POMAk2tn)V!uaF5Jp( zi{sh(&d0FblScG#mE;(r2s!ms@&;r@pNDYCPr;-S*hO|Wx=F*&oW^VJ(?>d2)3-ljv>+CAyf-h(5O(Q7NZoc zicQt7!f>4I%6#{gzpH{XBDCMTybqa|NV)gcVD+|y+LC?+9FV%~T|1A>&i%7fE_dwu z<$J^ElUnbW2w#u&=#49>kC1z4l3GX8cAXm9*4Gy-o}QvmRd$475UQHh!w(cSa9)4$ zYS>U~Vb4+Ggz7lS)MaG;RWB@yAzeBm6-hiqYU{(r16vBX+F(f3iQvId55b#0H=^FI zN=BazsKZS4&XLqlMSt8D4RWUkkC%k+{?x0owHf1h567$qy;Eu6eyC54>do&of5HPq zOA%dh2m_^+&@iG4H8I%V6Ks85z2CE87M_lWDa zX?dMiH(1_n9eaO2AlaeXbDdrK>!8Ch%gK;W6|>YSPbQ;0#5Xi<-xRAm&s;^ZP9 zed?!Q=+zg^@uf?bwzu;3x43_&58reB-nnpbB7_{B8A3{eO3(UGRD`n2#*vj#z;Bqx zgN86jFx~Y5**!BB+Pz&^68A>raa^~)T;8w1@}O?O zNHjzQ2&yWiN`o+AGq*57Y{7)IlC(x% zlLlplzU}gmwV!4^1Oek?&yKznC{U7} zsNX$5x-+(Q%^(U5aE~w3 ze_TBHxgY35{4wV9aBr%94(NV5QLAF(|e}8C@6lQ}{G>`!d)I2%&*_XKd zENO$)M=ahUJv!V1L`loNDCaoF#!2hG4DPL{XuCm^W}o5Wm(+*&@V>qOljZxYYN~*$ zHuY1aRI;@q3q_?hSsP5GZ7BfL1TZPpYZxWA`sWVk$1m~_us=dn-CHl%#BoIx_?=f6(mKdVoq~P z)`<#~8=(hA>a3f6nqK@Gul`Ph#dp7xxBr6e`wS6{E&@vsDm+sFvAt01cn$1%A_h+l zn-GizSP!ysm`=LpQm=lAtFOei`u4Y6e&c7)|6Bg}-_qtfBal`jb#7Xc@G1{~K~RnW3p*Do$YNGmr1DOEeo$rWSy{HwD9mhtf|*jvh*k~J zA>JOfXRnfRee+&c_u^Y;W+7(lOFIvPFl_j~<3x2|4xZngJ5NL?E}%#wPKG8QU-|JB zAXwgG@t)m-l@f+<14%nbCLZ?MPFpQ`-#Zn4@Lpk;2MqW~rya&w`dsAN9oPWOhbrMj z!}ds;7Wq-~BfOK?0^%INuLV9ho~GS~Ewk27#KFSYo3(xaZymMKfJ1vd%6n}7zUOrB zJqLHj_v=>(2}-GCrVfOXpV2x zOcC1RAEuS$aOs)V`oK+(02n#?cbRs;?syu$*K4WrCvJTN07GsRfHAgUxON{LnO(b; zGvMBLF#w`u8;6o6r6egZQ8KG7kd~ZWTAW3h2sc#JC=vU9*0()XpTSKJldQiSdJp9^V{qw?6#C5+>n}-nPcKovsjfbe<7>Cds$=+rRwN z^!#*nej2{|!ry-$@4q==+=SF4$OZvhVD^+ASzlgG66I{H$T7(-NuZ#@)E-vf{L}q! zUz~k%-oA`y|Ne`|k3Zw$cgAh;U#aRKVV>+D843CQm9RGm285^zin#}5F>`xd{P35_ z<*VlP=X!BI{rtk-vX*M=G9LwbHEX1AM(E7aPZ8<#(vcQFc6eMW=$Zi9tO)k;QG#o*x+t&Ps z2*N}b{wE4rRlK@ zj!W-Jt9=t}U~BPB;lGsj7;!4Gbxp{f!Q(J+sXmmqb|$|p$JrjrnVGY3y=(q zQ)#Bs97&jmJY#-zTLoW|R?c*)17rZ8BLicke(#$7#9ev#r`|D8#bUoyWT&1zy?Xm@ z3=rMr2Oabm<4M_pTTxy1(lbj8ji&&}sxf$=sV7*noIGtpJmTb1W7|y6e0q|%D{dcY z3*=2`6Cgu>iNfNgJ#pX&(O#Xw<=b}>1|vnZ-+)8m32m8+IG{8X=HSAl$P;^?^UXGW z4C%6+UbXG{q&aOT7v1!Vsq^)HUf;Vfz%`KqGD0pu2Zhmv+;IY_s*AW6ZUm>U12*d0 zw7TmyAL8Ojf8 z4k2ccWR?sCX$TOa%^$40HT!^cita45XEC16CntG!(QKC6<;TtPgXahG5$u4ZngFUM zP%G72CC*AfiO-kQUn!u%L`_MtC`sY!YuKIUcDs3x?KFn-$@FSEy^QVgESybe=V|&m z^D1p_yVcEhd+T{=SQ4G6kr^}<(y2rM)$%58UDdGau-Di13)m-*vaUi*{ z)~l1kjaSUsSX-cg7(gM4h!hk~0zw;zh{RpAY2=bFMr@6M9w-Xq^RCDd5dbMRHA`3t zGq|ZyU9!%gk=h`(m|WuMGdcgNIsL@nyb5h20p4x+_+5VZ)^7gD$M3_-wU_`JEL?K(LME4f@sh_UIDP4p7mg{+VE0(w z>f3L8eT&EUvc3!34U!S=;&sA2IS46Xp@JewhA~ZXK~ITGuH&PC2-P70bZCwL*C==e zb*Z?qRD|le8;X{pR{ZYe{o02pdih%%QzB69YmN%wQXJ z)fx6bkHHhsFN7iN*B>cQkq1enh}35)UHNXT%E?ha0~xrWN2Jgii%_8pJwO|Yb2by7 zyte5S?Ofs!!(1mP(jH4}8fkSF^=K-S5TZz4<;5*lck=GP_~tG@Ui-tfELV-25Mnt) z&?tf!%*-JsK~){9G-n|T>TOz~Geo$>ZX-@eWP8HtmA5CG(_h5%FT>U6JU+G%yKc?f zKk@Oe;r*X&wZM7>CP#A52!+$P5sF&&QqV{!LesoLv zX&s{bgJdpq-5cH|mI5B+@azni(JW*4*s!>UpXx~K#NX5 z1q~q`Jd0U$H9K`V^XcpL#V_#k7dSeHiEM9p``@wneYpP~+s@UzLGX#&hHa7a4wkr4 zFa$6X4h>)|`VWzT1aa*ejkB(O;io^v>whN~p9eQv{F&eU3l{&^4$2;Kzn`)lxMxIsGW@mP`8TKg%bvlud&$$7Gyoc*KoE(DGsYINK~PC6 z+SY9e+d@sLKwuVzXJ^Xcwzmv+4?JyO>BtkYHZ*TH>BGZ6Vr7k&{oeIt1cplv-dyg< zE&*wGcVAaI=-seu4jbS*KA2~|eW2&*4>io701UKDk>&*RPjLJi?c6tax_B4YA7L9S zNEaH%`@J3|qoM-`1F{?5XIzYbtFwpK0oGwSmCFCa(0~CnD%HxZw-uwaqcoY6zDSLT zSjYmZWieF-YhU>B&v5c{iJ5orWc6Wc3*=M^$9X2{Js(JEz7S5~nw$uNr)2GF^2*QN zgwxNZ(R}@TdHg7wI}HsX?xlK2tF#`sZoR@F06fqMxVC_J-nPfQ{JDJkfAaLTKfaas z|2(<=jcneLCJrG@3O(me(7AX~;Q;h8#S$VDz#B>KlkN0%diB5I&3{5O4>!LFKm1d? zeed1U)RQ`p#Y`EK#SjN<%HVAB!qp>mk;ot-9^4(RHRoymxxe|(`1IG9khlMeAAYCz zw9LVd*9iO7G0au{+~Tg5nCS4mctMF0MlJ;3~nj6-*McK%-3}gG|oW=RZv^euksd$>WFS`uBYJ zYsXA&0^puWC@ZBoe3$oG8Qn+P%eYfx2i)K2crqaT0Cx2GQG)KEEzSVV>;vP%-fkSmb|~wys3#0J3oFQx;KorXFv%+ z)lJ$@(}6FqY~%>-i0l^F9P#WGW@ob5^7frBZ|PCU>z^l;bxyJ%vu^rO2Ku73PXSdbq2afr2`-d zH_+fVXlXjc8q1gVP2b-jH6ASfjQUX`BSo?mlVi7WeB}EpFCIqW+5G|x#1lU@0>g-v zCJ_Y9Nq1KgaJSTSk76C$DdWs50>?{P!+IW-&;E!u#s1neHhbLCvwL*#{>vypK(dy! z@846$dHB?Ld=6*18s?+8f)(5i;BYdyfzBL#!|lCKUqTzUGx`cN6){vRV6dh8;K6|f zt;HqKM??0eqm08d91w-Wb~m>ikBfx&LF5i6`5Ro7wrE~HgKV#3=YtpN)@F& zrsex)yVB-39ABl)x5A|2Ebu>pdmfPMdvfE6h_6h#F58@-Tv-0v+J4uiQ<a^`tj~9Zx*F6oJbatQZxIB-^6!| zb|=Sn?CwC3@=TUhA);g|lEJmRyZ%G`;p+J0d^I_0Uwmu4S5 z?IWz)NP_J(pa>$7rZmGykqjbrcmDCW;k)C>^cQ~FO8TiUA5!|At^jR7lD{A6YnP28 zgR(ES50M9Tx}6+uc;rLl&}?6k#Qdiy7wyl7v2(fstwy!tzLLt3e=5a^<+tb(&%I$F9EGFy@m zH3o;$vvPw(|M=Ux#b4w6v^jdocn)fkhG>g)2qHm)ga#UDE&-iy%ApfQ1(}}Iw^Gv0 zLss3od(ID%BN$t#7tn=xDETW=(r`vL{%&7jypIkBiHgEDqR3x~F zYjAPcMp7plC=T&bY~I~>ibU;!dxd0`2=t(b9ONlIp%p2iYd0d4tXLmo-Wmj7WBbn2 z0`pU!oakgKaUQpp^VWS$7f1qKl%Yq3J+VZ`hv$!8PX)-qN!s7^(WV<--plR73hwpa zQENu2BjwkD5)?FerfoBlXvr;%v*yUd zM5WEvnyttVNaEhJXY~ykt<@bijzh~wf81?O>Hqi4bui|mbKFOwb@zU9yk$nmQ{}I# zsJM|@=))*WA44T7>l>=Oq?!f*qGc*QxOkGZfp^}XZkid|O9@$YBf1WG0bkHo&Q5e% zv~Dtw$47Q&ANE@^*iAc6%E180Sgui@KicY{JCu^#nI|Y5w0%k7{$?0i2g4{~ShwT! zIg%}MVP>PKgDxhtAZ*hQw29j>+cS+P(i|hS@YAq;Z@zU;U?N?#50dqOgCRkx@7JF4 z_G2KA(EtkhRF@i!T6w5{&)62&VVa*YW4&*c3<7PiUy9ye)Ax$QsYZM>N+Oxjl$cLo z7JrcKgXb0F+@~kn95<6wHgoUJY`cPgbT7G5E(#XPok9;>8o-@?E4?>q7@1yo=D-%V z<8dJYOKm8L;<2_?9c=Finsm1;n)-|qP_@8iP(AgEx(TImH_;?8ky7Hy zkPJyIxiiSSl#kQuyp^kIc+tiaoqeXw87G(B(W~|Px?5l8?uKdYd=O6%Bdu^dnZUs4 zAkD=8Kg!;;Np|eW4m`&%fLL%ZL zdv37+xb9~@Tp$9GnN_2KS(U|$j6hu6)&2PK<6%9l-Ns#;KiuY~iFfnW$@1oMIe)U8 zKb_Z4=d-7M{p4i+yvx_y{`IPRwe`1Mf9<*p^*I)jk{Ma-Pmqbl5Dt$JV5xA;l$j#J zqx7IPvg}}vAi|?IREDjh@WKbTPnJq@CxBg!G|6Bp^^a(UbdoBhWR}3%($ebVYH`*a zoz0Ffk50~y&%RtP&!4<}@$%!pdGhkr`N!Y9fAyEwfBEL^w|{AGJlc+T0uowdhDk}` zV>peeSYig4$<@UmdBS0LA&4-Rpo0yH{R5B_3(VC}Ihok>zy>_ZIh(@GL@>_I*@_B1Wqvm9UvX!+3)g zjD{Mtup~=RB3V4us7e?+4M!@i6cAO}g-yc_O%8^^r04(uAOJ~3K~yytID~Ht3j_eH z2<_Bm&z=M@Y(V-8zHkr{Hd-YOXG4*BDYr6B>O|PiPAYiBc-)Ql2M5OJ;kk(E6(|ZS z<5b#-HwuT)s)qlFy@4;FfHjAf3P~aoha?2;Nd|*uQecjPvv|pOLaN3R&Siq9(QfDp zS_WyTH+fG|sh|lvl?xjUqkEcw>;UW&uZQrDX)+i)f5*)V>ko1JPVMbt{mR?Bh`YkaH&sBD8BE5)j2TMSK`H{-Gtj{(8d)R< zw-(0KFwFzYn4RM68BbqeajGYO%jF`~KzGxgZ%*1w> zBSqa2L>5G(EG6fusteT5uy_&2FSR(UFFxj+N~`|*ul<|fk9t11}fCxk(pACz8h$BqpuXjT{ z`p`vn>LA=c$v{2u9(TU>!F74s?E*iI`pKyVC|(*}+{)l+~Lee+Z&&$T?K zwfgWiZr{xMb(PRTp$s?1&LAz&Im9SYfYfiB+Q8#=^9-jy=jBUdA9w$1ci*aCbkNUHfx%nM0LQ70Kkm=}9xs21`JC5(O5gwU?CRUTy#+F?FZfGB3K!)1QD{!t(iS*=(LVnrPCl-;H|e|IRqwt<*H&soCDDNdA8IHbmaLqba|gK0 zRO;jK!z!ZvyASFh?Yjs)m6$6haM--TlLp>nohL9>d164Jh0YhXy^n}n`^^bshtqR^|9=4U#2j%voM z59#eITdx#|R5ZII#2O{nV!vS&Gky#=9`xA5iFeSMHsm&rG=d>ZtbB17fi5;YNkb&M ztT9_g-rD9p`MVN}z(Cg*?!U<${}B@}k?Mk%ppOjDLuM z91KiZr=~%)0EZLf-c*^!6vx=!{j0$Equ228@B5qVrp$v6lo1fdk|Gf?uBE$O7NheDz1F_`k-yFt7}uL=V<>+la`D3h~JNdlgB?iRxNkJA=u6E@otY|;=2z| z`HO>NIGl9qB?ibKJ!^B##hRqmOK-1JWbVpz4_DFX9u|%U8qI`)IZ_R#p^>Qz@B@#$ z^T)C8ISy_|x!3)haKB_mj`%KBz)-fJK-rm-=uoLH5P-*q+Yjy4o8{?e)#$>)*nHc5 z|7$*d9>*8<(Ug^FN2VVDN-*{jb%ZgC$zh3&vGM-x z_4mKl>>{4OmAwy!mF$(nsMWqUIm)R~4dE^W2A+pS08Nvl zi)gw2OZD2C*-Xcu#O3pCzT-Mq>rIj}`%u1+QI)5!s!lL^&eDyOar#OhtQQG0#jJnxhwPbNjC z3enF@4yyn&CQA#jwq~B{MMU^^lXF*Dq$)Bt&{o(WoKi(Muw&^am7-F`MG?S5b^^v~ z9rxl@MS%%`Gbhk!fXNvaGzsoxQh=Kt+t}Qpy-Tx}i;i_eI}1y03-vciH;iqS`kuit z^ozoaGO_4dlf8gY8Zgd2&<9$T77OsA0va->8AKvU4EXNo8XfFGetG2Un~;YR4^!6_ zfJpFO$sPcO_XHQfL_?t?Bln~;j4Q>O+jY`b^_gs8^?9;ZeM79J4b>u?R1ARU;Y2$W8tE@gwX%@MmuN51rJ>aHcbbE*R`a>W8KAmNX1|K~A z4u#&CDLg#yRGjNadTD=W#{B|Y3;{fp;vX9f3~*T4$vAqO39+Bje1N(TP>3j1QYlzv+d!+lcE7dioYj%lbEQf=S8m~3 z_}0(?!3a=-PfC+b95*}AaMLiLvWMw*`@z+;qsGoWSl&9++~WAw!@J$P&#qgBl+JN9 zCrK?f^awyIiCGMntjLjp$fl64y<5v~Q+-;`Ppw|sY=L@aZHm0j`A*Rqyr{czygkQP zyCLAm$#&M_*UrTFKPnKj@rGlI*8?AWFUNU2=q$nllTwL}2I`UP&S@>$boF5$> zpPina%#Ih^_Bh{MMSBb0Nu45#fgnvF4eC)_Fa?q+Ih8_kATq@0=&R68!0NA1G`(r8>$cWP$xKt>|Nw=0w$|im0^s4z&^r|h_DD@19g4B zYB#Tado!P%%@E+qY(774W>2c>c(FWQ*u^rI^Y(JnUAO&J z+rDetYe(JY4xVMbp&B;MoMnpLPGxPVmq?}}r6vHTfMHNd zAJX5;GeFmfSI!yJa(?thbM)-|>C4L(&rY779-sf})8|i* z>&s@IUcbK1+YjB%#&4lpSnDci#$arX)iSJDBsGjmuF39a4wUqCDALZXra7Q$P|Hi8 z#h^xB5~yrUQzS{T7yyHCC3o}#4t|kES?yMo{^<>wr8>h1R+I2U*$u{(|1gHcF<@K_ zs$Gm3fK>Gr5eXGp%Vv3gtmP$_r|GlLxOnEvkGXu>G)*0M`TEbB4_`H3|BJ8QWA%R4 zw&v``Y#MSIOVQ#g0SP$}4hysuEs+8u7(t?{+#19dggFslP?l0MSk<4LbMZWmKgP*( zoSx(O2tjncZ{K3`4%gq~>MhnQblJQmawh@psFyEDN`#Gtg~*W)K`Ta3TZaXVpeIn~ zVF7cf9(qqo5oW2J&#j%plBHUfz{*mc>RDaSR@Dqug{ncCp{m4$ssagXK!XuTumq+u zZG|*QEDT|fH00}738T>g+ffGwKYbiN4kwBP%z#m?0iyv+4x*#Gh!KZLwi8Q?-AOiB zhZ@hn7()1r!dfY_Cf$ceOIAmecyD=8CR~v;JUnv1eKDBwrlACa{Lq~nY#>loK~BAh z<(f(E?xr*V7IMfXkAki$mEoq$%%B2&t4Ei1fvF;x!6H8pV+D#m7-52QA8ne{%^E`q zJ4pbI5+zl^R(9VSk71>~p%8m(EbVaEiCP26$d2hLzC(rT8eXV$Wf~-su%uLtJb(&J zNEOS78_i5c6*cI=mnFO>h3K`q!*&BX5@5mAt#uLoHo9AEucN(Fw?@CU2=!}pcd6?w zgBg<3w5cmZPtFSAz>P#!B}9#IAVWbp1XUHRhFX^WuGFmt1%ynPrTNoX{v;Nk;Orw@ zJm<+7W;1NtZv8!O|BCnD`n^a$a*T4RwzyB9py+*%b(LPd2s0+11s+=Gla%8by2^CZggI_w6 z7(_BOU36njQyqjZfKl?aOpn;x_ZY}92UzQf2v6?tFt|H@bn*c_atTA(_`T0H`j|1j z+o8a$Ms@MQ^AQ-T9ocHPy=GhZG`#*5<6E4r>ukrf7;r$|xi9$>O`AIP?b|bhSoM zV>({(xOf1WZ0=SeEl@9EN#3LH(6_-=skr-0|phjja`yp4z`8H5DDA)z=plt>8L$?!0D}a z8xAIBz`g3VJGf#JJ~1FBDiL8p4rXfAx(Lx?b{Z!?)%kPi7Po)I-K!&dvb@R6wHXC( z>vZJNVStuO-5UWAahA58=i79O)1TtIs?V{iGCM7DnyoM2sx%!sXK{p`4 zL~<5w*i2N9q|={PFaCF&ew5occ>7<|yWci<-+@h=P8}JxMQqcUJv&5c%1Qm`1O@=~ z_E9?d8@~9rI(v%tJH7qy{{DB~ZF_Evy(#KUg;7RxRyhv01yg9S!)YbU7n$mf7PBXD z_GR__-{*@XtiH1Ee^bBvL-Jc0yjNm&<-)y)qL!vi_F!`_%C$oxb_o#UL?{^vNy$K@ zAW`M{l9w;ji=TP^e)jgy>FR44LbDVrn1DveqbIckHUL1D6i5U6R3Va0)toNRezC=g zr{lZXiB6v4$;-OZ#k;Ti_g|;=%3@ZDp|(`ZBJywpG9n}uE;cY^y*~n=7Ru=XRSE+S z=E23$&@Fu;V8U}Lwbcif_y~B}y&gLNKn8*=C!3)UluA6ZW*!Y!T21XKgdMvH`L){F)+w!HJcO8&*fFz-c+|& z)^#HrJp;qg2KO4&Kk`t!`27!t8}Dsv@SV8&?$#k0yx5K@)IWfd)0 z5(vpdJ)$*OjQcP`MM;*$iP*OaF$mC^y`ns-35Syl3P5?*&Z|~5ptvRAKLPc+x0Pa-%cHr{8cvbQ8(hfD|q*?>U z;U38k`{4b)|MmEQYJleV`{D2n0Mo=rjCFGdDtr`sX=fo>TcQhH0sU(*SiLR`k zizVACwzpsZ+MfNA^V58Kx%l)y^tXSoeCrtUtfo^%;TY&;yS55IQkASCU6MQ-poB=# zJ1VTJ&GpT1|M~32v!nAbmY>YefANdWSKs6a_a2gwQC5W!k$1#}ed`$yS*^okde6GH zs!Bm16mp~vRh5&~ZTtS~Tl@9t$uiF_s!+7@w?D0~->7xho#ZmHlw8~y_V>bX z459(T;Y5&?Gz6B|SJ_kDq>5L#`nA^=>C>k;I?pH1s<>izWVy3~U1>khOOt_}a0xnU zE>E#d)-vaKgMP7`&ldIbpGNoASKrdxs$U`8Q-pD+?>s;^qjFn@W>u0ax*ld$HDVu# zOrffPfM>(&WeTG5wuv+_R3Z>w36@v|le9pSs(R6!JX4yX%M_Z*46AN?mDeBCZ43@Y zU(%D5A;pB3Hrg}OIMaTQ*qxg=OtUe~g5m5XDH&0lEM-ONGE!G6R3Xp0D|qMrfw*9E z%=uZ&E^~Y9?d#;@UCnN?_2QRgz- zQ?X&f#iVj;u$Xp}nKMWO35xPXlBIgrzzZ8!lcXU#P#gj&ieNdOOf_;%3o&oBrLuck z%;qnJIt2lShr*>0om1TJhkay@fcd@8{1CHea+>T-lAUY%*e~ptSkeS)>soc4TvnaD0coB zu(@Z6O(8P!{XrHq^n%uE6#@4yP4 z)Tg}lex-EE=Gf{bn={x9URgG{4cS~6@~{EymfL>XQ&U>}$a8s2ISde{A{m3q(d1zt zzwWQHkSum-ijVpQ_kPq$x+VaW;_C$}Vee*&gwc5*G7?gia$i|*lG@z%E1R9z?8KVI zta{dW8+29lH;j!UOdb)QhKnRoYNDVKTpTc()^;T&-|#@`a|y5xxe;&6Iv(hBYH?ggu0+;ge=^W zQj=2H#uYuytV%{Pht`=JZ|}Oze7kzuEMCmcU!I*m-!_Z(?zrl&+jgbcB3ea97FG3_ zQxT>1oCV++k|iW^lUYSo_4KS8=R3t8qE442+$RqGeocobLC_+A$f#HPh@ICb++mAcD}j$-kNhRpVW)f`uKS) zUZ8!_byvB4>-~G^7V3*>8L0%?v=~I$&n56toCq>Yx-rAhPvDXS_0T zwtk&9%gWAXv#0ar)7j!EH8aGvTAXon8{50w-Lkz2Y$y+SPAw4?O%bk=%S@+)oZ0o< z^wF-@@2l->S)IPgC;8wSxCXckkAm^G$g@c2B?x7ir{yK!HfnX+z~YE z$j;EGia})5zJ7K4ZhrUm>9^I3#p%zVe){=GU(TA-pIlxpX0zAp_M6+A58LZ)zV%pT zw!Os=R2l>=H;`Hui*~>t6{eU}83gDL{x+Si!7< zAq16c-*4T)g0c~SEQ4WDK{ZgRm`qHD3P3dw5C#DN8$!-z-eZJRUnaj zAYewNre{t^O7pxp(aBRBJ!_6%+S8YQaWQ*(#=OZlH{IJ`Z(qOdufMaKueklb&({`W z$V0&-Ga0~|;VJ_AnS(!@5(rC+sC&tf8$hrQ0D7XPbx4ss&9FF5)wvc=^6~_ipJ6`Z zY$ghQhd1Bg_C4;dW>NGwravD=X;OfJLqJj~HlfZ-|4zr;<%&=a3l51jrD2tWfSH0oEicRi zgy6A5TLdRWX2Hb*oxlNl2}_uwEcs#%npb)F;{M<#WXUin3Km?utU*aOo8;Y&h%*^B z#CMBP4GeS?cqW;4)|-!}b4{QWN=RTL6N}Kw5H=WWeaeNNr5t0(!s%Halt-yW*WW~+ zz3b6!kT=L{_!_ar=Gyxnd5zp5Z;+iHC8A`=7MTKB$tqQadTF2ylx;+zD<#qG4wwOe zIvJp9Sl!-BwJ?jsI>FR<{lt%+WATYjUh3o%%$8}EXZ0r9ueYymc>6}}d)&RV^_BI# zd12l5xf&OUmEF!2r9jCMb*JQj7`DhY_@tjb@0UwE`4Sg@<0t3o*c-c!4}a<2y!E&L zq<)S54!$;uNJ0%JPZ>%OzzkrJ_eg-60rf7~su)-5Gz%QKAI^-ufh9cD|D3!I8~wc~ z6XRZFq=54yE?Ab*_;rpRol0!ufk{e~jDpEL#2B_Lcug@xIaK1H(IDR-marKjBO$S8 zKFM81eI+~lck(NFmlPdhko=7qSi;yn6huSx z0)R?Zfd*v2k%81xOEFtyrVE|_d~^B_`1DKoI^O-4`1YUD+utv6Jh0I&iAxl9tm zQV}4(wh++Vg6i5Z}T z39I1nJ}iNxhxgQeW=_k~jbicIA)5ohpo&PKLp_RgV^mpS1Gt(qEq}qIPvBQveQmdI z8nv0$f~Z(Y7L_A)(N~^xwU9-Pj)Y4670;Q+tj}=tw|MgJ0o1Slsk!?@zrAT|0A?!t zOfEV~8xn+}r9x~nX>zD#)pV-s91V|o@@rKCx#SM z6joyrcCnoDJ0(INeV0%*>|F{!U(cWT*%!F@nJq5y`uBYMf6w0i4x81M;mMdy(L)G_ z5oRuB1As<*gm>KH3q3W~6;6V6a0~gYubs#o;uyCK2oK)}h);>x$37C+(fGF=?S*+)2jfn>VdWGtKd zjEm>CUd?f}v9(Y¯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≈=Rm{i8&_0<84fL(QLt8f{KEj394@0yGunNHfReZ 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

bDj;~uBN`yVgzMwGy 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� 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%0A5; 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¨q-7e3;Lzs_1iaPxe#@> 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
B_pI)9$KvoBo|PCzM+vlosAPcN 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
~k@&UTjor4C)bc(38H9 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

MoO8?F?skiR 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≀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

lUv>SzWa0S_xe_!3h$w=E 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 +import { RouterView } from 'vue-router' +import elementEnLocale from 'element-plus/es/locale/lang/en' +import elementZhLocale from 'element-plus/es/locale/lang/zh-cn' +import i18n from '@/locale/index.ts' +import {computed} from "vue"; + +// element-ui 国际化在此配置 +const lang = computed(() => { + switch (i18n.global.locale.value) { + case 'en': + return elementEnLocale; + case 'zh-cn': + return elementZhLocale; + default: + return elementZhLocale; + } +}); + + + + + diff --git a/wcs_web/src/api/api.ts b/wcs_web/src/api/api.ts new file mode 100644 index 0000000..d28d177 --- /dev/null +++ b/wcs_web/src/api/api.ts @@ -0,0 +1,31 @@ +import type {IApiQueryReq} from "@/interface/page/api/IApiQueryReq.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IBaseApiData} from "@/model/table/IBaseApiData.ts"; + +export default class ApiApi { + + // 查询 API 数据 + static queryApi(searchData: IApiQueryReq) { + return axiosInstance.post("/app/api/queryApiBaseInfo", searchData); + }; + + // 重载接口数据 + static reloadApi() { + return axiosInstance.put("/app/api/reloadApiKey") + } + + // 添加 API 数据 + static addApi(apiData: IBaseApiData) { + return axiosInstance.post("/app/api/addApiBaseInfo", apiData); + }; + + // 删除 API 数据 + static deleteApi(apiId: string | undefined) { + return axiosInstance.delete("/app/api/deleteApiBaseInfo/" + apiId) + }; + + // 更新数据 + static updateApi(apiData: IBaseApiData) { + return axiosInstance.post("/app/api/updateApiBaseInfo", apiData); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/axios.ts b/wcs_web/src/api/axios.ts new file mode 100644 index 0000000..d9fc548 --- /dev/null +++ b/wcs_web/src/api/axios.ts @@ -0,0 +1,52 @@ +import axios from 'axios'; +import {CookieUtils} from "@/utils/CookieUtils.ts"; +import router from "@/router"; +import MessageUtils from "@/utils/MessageUtils.ts"; + +// const baseUrlAddress = () => { +// console.log(import.meta.env.MODE); +// if (import.meta.env.MODE === 'production') { +// // 生产环境逻辑 +// return 'http://localhost:9980/api/wcs'; +// } else { +// // 开发环境逻辑 +// return 'http://localhost:9970/api/wcsdev'; +// } +// } + +const axiosInstance = axios.create({ + baseURL: 'http://localhost:9970/api/wcsdev', + timeout: 30000, + headers: { + "Content-Type": "application/json" + } +}); + +// 请求前 +axiosInstance.interceptors.request.use((config) => { + const token = new CookieUtils().getItem('wcsToken'); + if (token) { + config.headers['Wcstoken'] = token; + } + return config; +}, (error) => { + return Promise.reject(error); +}) + +// 响应后动作 +axiosInstance.interceptors.response.use((response) => { + return response; +}, (error) => { + if (error.response && error.response.status === 401) { + new CookieUtils().clear(); + router.push({ name : 'login'}).then(r => {}); + MessageUtils.errMessage('您尚未登录或者登录已经过期,请重新登录'); + } else { + console.log(error); + MessageUtils.errMessage('服务器请求异常,请重试'); + } + return Promise.reject(error); +}) + + +export default axiosInstance; \ No newline at end of file diff --git a/wcs_web/src/api/baseError.ts b/wcs_web/src/api/baseError.ts new file mode 100644 index 0000000..e9d9639 --- /dev/null +++ b/wcs_web/src/api/baseError.ts @@ -0,0 +1,78 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IErrorBaseSearch} from "@/interface/page/error/IErrorBaseSearch.ts"; +import type {IAppBaseErrorInfo} from "@/model/table/IAppBaseErrorInfo.ts"; +import {CookieUtils} from "@/utils/CookieUtils.ts"; + +export default class BaseErrorApi { + + // 下载示例文件 + static downLoadImportExample() { + return axiosInstance.get('/app/baseError/downloadImportExample', { + responseType: 'blob', + timeout: 30000 + }); + }; + + // 分页查询基础异常资料 + static queryBaseError(queryData: IErrorBaseSearch, pageIndex: number, pageSize: number) { + return axiosInstance.post('/app/baseError/queryBaseErrorList', queryData, { + params: { + pageIndex: pageIndex, + pageSize: pageSize + } + }); + }; + + // 添加基础异常资料 + static addBaseError(addData: IAppBaseErrorInfo) { + return axiosInstance.post('/app/baseError/addBaseError', addData); + }; + + // 返回导入的地址 + static getImportUrl() { + return axiosInstance.defaults.baseURL + '/app/baseError/importBaseError' + }; + + // 获取导入的请求头 + static getHeaders() { + const token = new CookieUtils().getItem('wcsToken'); + if (token) { + return {Wcstoken: token}; + } + return {}; + }; + + // 删除特定类型的基础异常资料 + static deleteBaseError(equipmentType: number) { + return axiosInstance.delete('/app/baseError/deleteBaseErrorByEquipmentType', { + params: { + equipmentType: equipmentType + } + }); + }; + + // 删除特定id的基础异常资料 + static deleteBaseErrorById(id: number) { + return axiosInstance.delete('/app/baseError/deleteBaseErrorById', { + params: { + id: id + } + }); + }; + + // 修改基础异常资料 + static updateBaseError(updateData: IAppBaseErrorInfo) { + return axiosInstance.post('/app/baseError/updateBaseError', updateData); + }; + + // 获取异常基础资料 + static getBaseError(equipmentType: number, errorCode: string) { + return axiosInstance.get('/app/baseError/getBaseError', { + params: { + equipmentType: equipmentType, + errorCode: errorCode + } + }); + } + +} \ No newline at end of file diff --git a/wcs_web/src/api/config.ts b/wcs_web/src/api/config.ts new file mode 100644 index 0000000..c76db30 --- /dev/null +++ b/wcs_web/src/api/config.ts @@ -0,0 +1,28 @@ +import type {IConfigSearch} from "@/interface/page/config/IConfigSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IAppConfigTable} from "@/model/table/IAppConfigTable.ts"; + +export class ConfigApi { + + // 网页查询配置信息 + static queryConfig(searchData: IConfigSearch) { + return axiosInstance.post("/app/config/queryConfig", searchData); + }; + + // 更新配置信息 + static updateConfig(config: IAppConfigTable) { + return axiosInstance.post("/app/config/updateConfig", config); + }; + + // 重载配置 + static reloadConfig() { + return axiosInstance.put("/app/config/reloadConfig"); + }; + + // 获取配置信息 + static getConfig(configKey?: string) { + return axiosInstance.get("/app/system/queryConfigValue/" + configKey); + }; + + +} \ No newline at end of file diff --git a/wcs_web/src/api/convey.ts b/wcs_web/src/api/convey.ts new file mode 100644 index 0000000..d72b22a --- /dev/null +++ b/wcs_web/src/api/convey.ts @@ -0,0 +1,33 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IConveyLocationSearch} from "@/interface/page/convey/IConveyLocationSearch.ts"; +import type {IAppConveyLocation} from "@/model/table/IAppConveyLocation.ts"; + +export default class ConveyApi { + + // 分页查询 + static query(queryData: IConveyLocationSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post("/app/conveyLocation/queryConveyLocation", queryData, { + params: { + pageSize, + pageIndex + } + }); + }; + // 插入一条数据 + static addConveyLocation(data: IAppConveyLocation) { + return axiosInstance.post("/app/conveyLocation/addConveyLocation", data); + }; + // 修改一条数据 + static updateConveyLocation(data: IAppConveyLocation) { + return axiosInstance.post("/app/conveyLocation/updateConveyLocation", data); + }; + // 查询输送机状态 + static queryConveyStatus(locationId: string | undefined) { + return axiosInstance.get("/app/conveyLocation/queryConveyLocationStatus", { + params: { + conveyId: locationId + } + }); + }; + +} \ No newline at end of file diff --git a/wcs_web/src/api/conveyStand.ts b/wcs_web/src/api/conveyStand.ts new file mode 100644 index 0000000..f1749a7 --- /dev/null +++ b/wcs_web/src/api/conveyStand.ts @@ -0,0 +1,80 @@ +import type {IConveyPickStandSearch} from "@/interface/page/convey/IConveyPickStandSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IAppConveyPickStand} from "@/model/table/IAppConveyPickStand.ts"; +import type {IConveyCheckStandSearch} from "@/interface/page/convey/IConveyCheckStandSearch.ts"; + +export default class ConveyStandApi { + + // 分页查询捡选站台信息 + static queryPickStand (params: IConveyPickStandSearch, pageSize: number, pageIndex: number): Promise { + return axiosInstance.post('/app/conveyStand/queryPickStand', params, { + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }); + }; + // 添加捡选站台数据 + static addPickStand (params: IAppConveyPickStand): Promise { + return axiosInstance.post('/app/conveyStand/addConveyPickStand', params); + }; + // 删除捡选站台 + static deletePickStand (standId: string): Promise { + return axiosInstance.delete('/app/conveyStand/deleteConveyPickStand', { + params: { + standId: standId + } + }); + }; + // 修改捡选站台信息 + static updatePickStand (params: IAppConveyPickStand): Promise { + return axiosInstance.post('/app/conveyStand/updateConveyPickStand', params); + }; + + /** + * 分页查询复核站台信息 + * @param params + * @param pageSize + * @param pageIndex + */ + static queryCheckStand(params: IConveyCheckStandSearch, pageSize: number, pageIndex: number): Promise { + return axiosInstance.post('/app/conveyStand/queryCheckStand', params, { + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }); + }; + + /** + * 添加复核站台数据 + * @param params + */ + static addCheckStand(params: IAppConveyPickStand): Promise { + return axiosInstance.post('/app/conveyStand/addConveyCheckStand', params); + }; + + /** + * 删除复核站台 + * @param standId + */ + static deleteCheckStand(standId: string): Promise { + return axiosInstance.delete('/app/conveyStand/deleteConveyCheckStand', { + params: { + standId: standId + } + }); + }; + + /** + * 修改复核站台信息 + * @param params + */ + static updateCheckStand(params: IAppConveyPickStand): Promise { + return axiosInstance.post('/app/conveyStand/updateConveyCheckStand', params); + }; + + + + +} \ No newline at end of file diff --git a/wcs_web/src/api/conveyTask.ts b/wcs_web/src/api/conveyTask.ts new file mode 100644 index 0000000..4aa9f0c --- /dev/null +++ b/wcs_web/src/api/conveyTask.ts @@ -0,0 +1,89 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IConveyTaskQuery} from "@/interface/page/convey/IConveyTaskQuery.ts"; +import type {IAppConveyTask} from "@/model/table/IAppConveyTask.ts"; +import type {IConveyTaskReportReq} from "@/interface/page/convey/IConveyTaskReportReq.ts"; + +export default class ConveyTaskApi { + + // 分页查询 + static query(query: IConveyTaskQuery, pageSize: number, pageIndex: number): Promise { + return axiosInstance.post('/app/conveyTask/queryConveyTask', query,{ + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }); + }; + + // 分页查询 + static queryBak(query: IConveyTaskQuery, pageSize: number, pageIndex: number): Promise { + return axiosInstance.post('/app/conveyTask/queryConveyTaskBak', query,{ + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }); + }; + + // 新增 + static add(data: IAppConveyTask): Promise { + return axiosInstance.post('/app/conveyTask/addConveyTask', data); + }; + + // 修改状态 + static updateStatus(taskId: string, taskStatus: number | undefined): Promise { + return axiosInstance.put('/app/conveyTask/updateConveyTaskStatus', null, { + params: { + taskId: taskId, + taskStatus: taskStatus + } + }); + }; + + // 完成任务 + static complete(taskId: string | undefined, arriveLocation: string | undefined): Promise { + return axiosInstance.put('/app/conveyTask/completeConveyTask', null, { + params: { + taskId: taskId, + arriveLocation: arriveLocation + } + }); + }; + + // 取消任务 + static cancel(taskId: string | undefined): Promise { + return axiosInstance.delete('/app/conveyTask/cancelConveyTask', { + params: { + taskId: taskId + } + }); + }; + + // 上报任务完成 + static reportComplete(taskReportData: IConveyTaskReportReq): Promise { + return axiosInstance.post('/app/conveyTask/reporterConveyTaskComplete', taskReportData); + }; + + // 上报任务取消 + static reportCancel(taskReportData: IConveyTaskReportReq): Promise { + return axiosInstance.post('/app/conveyTask/reporterConveyTaskCancel', taskReportData); + }; + + // 上报任务完成 ---- 备份表 + static reportBakComplete(taskReportData: IConveyTaskReportReq): Promise { + return axiosInstance.post('/app/conveyTask/reporterConveyTaskBakComplete', taskReportData); + }; + + // 上报任务取消 ---- 备份表 + static reportBakCancel(taskReportData: IConveyTaskReportReq): Promise { + return axiosInstance.post('/app/conveyTask/reporterConveyTaskBakCancel', taskReportData); + }; + + // 导出备份表 + static exportBak(query: IConveyTaskQuery): Promise { + return axiosInstance.post('/app/conveyTask/exportConveyTaskBak', query, { + responseType: 'blob', + timeout: 30000 + }); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/dev.ts b/wcs_web/src/api/dev.ts new file mode 100644 index 0000000..95678c0 --- /dev/null +++ b/wcs_web/src/api/dev.ts @@ -0,0 +1,11 @@ +import axiosInstance from "@/api/axios.ts"; + +export default class DevApi { + + /** + * 重启应用 + */ + static restartApplication() { + return axiosInstance.put('/app/dev/restart') + } +} \ No newline at end of file diff --git a/wcs_web/src/api/etagBase.ts b/wcs_web/src/api/etagBase.ts new file mode 100644 index 0000000..48e1171 --- /dev/null +++ b/wcs_web/src/api/etagBase.ts @@ -0,0 +1,137 @@ +// 电子标签基础资料接口 +import type {IEtagControllerQuery} from "@/interface/page/etagController/IEtagControllerQuery.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IAppEtagController} from "@/model/table/IAppEtagController.ts"; +import type {IEtagTagQuery} from "@/interface/page/etagTag/IEtagTagQuery.ts"; +import type {IAppEtagTag} from "@/model/table/IAppEtagTag.ts"; +import type {IEtagLocationQuery} from "@/interface/page/etagLocation/IEtagLocationQuery.ts"; +import type {IAppEtagLocation} from "@/model/table/IAppEtagLocation.ts"; + +export default class EtagBaseApi { + + /** + * 获取电子标签控制器信息 + * @param pageIndex + * @param pageSize + * @param params + */ + public static getEtagControllerInfo(pageIndex: number, pageSize: number, params: IEtagControllerQuery) { + return axiosInstance.post('/app/etag/queryEtagController', params, { + params: { + pageIndex: pageIndex, + pageSize: pageSize + } + }); + }; + + /** + * 添加电子标签控制器信息 + * @param params + */ + public static addEtagControllerInfo(params: IAppEtagController) { + return axiosInstance.post('/app/etag/addEtagController', params); + }; + + /** + * 修改电子标签控制器信息 + * @param params + */ + public static updateEtagControllerInfo(params: IAppEtagController) { + return axiosInstance.put('/app/etag/updateEtagController', params); + }; + + /** + * 删除电子标签控制器信息 + * @param controllerId + */ + public static deleteEtagControllerInfo(controllerId: number| undefined) { + return axiosInstance.delete('/app/etag/deleteEtagController', { + params: { + controllerId: controllerId + } + }); + }; + + /** + * 获取电子标签小标签信息 + * @param pageIndex + * @param pageSize + * @param params + */ + public static getEtagTagInfo(pageIndex: number, pageSize: number, params: IEtagTagQuery) { + return axiosInstance.post('/app/etag/queryEtagTagInfo', params, { + params: { + pageIndex: pageIndex, + pageSize: pageSize + } + }); + }; + + /** + * 添加电子标签小标签信息 + * @param params + */ + public static addEtagTagInfo(params: IAppEtagTag) { + return axiosInstance.post('/app/etag/addEtagTagInfo', params); + }; + + /** + * 修改电子标签小标签信息 + * @param params + */ + public static updateEtagTagInfo(params: IAppEtagTag) { + return axiosInstance.put('/app/etag/updateEtagTagInfo', params); + }; + + /** + * 删除电子标签小标签信息 + * @param tagName + */ + public static deleteEtagTagInfo(tagName: string| undefined) { + return axiosInstance.delete('/app/etag/deleteEtagTagInfo', { + params: { + tagName: tagName + } + }); + }; + + /** + * 获取电子标签货位信息 + * @param pageIndex 页码 + * @param pageSize 每页数量 + * @param params 查询参数 + */ + public static getEtagLocationInfo(pageIndex: number, pageSize: number, params: IEtagLocationQuery) { + return axiosInstance.post('/app/etag/queryEtagLocation', params, { + params: { + pageIndex: pageIndex, + pageSize: pageSize + } + }); + }; + + /** + * 添加电子标签货位信息 + * @param params 添加参数 + */ + public static addEtagLocationInfo(params: IAppEtagLocation) { + return axiosInstance.post('/app/etag/addEtagLocation', params); + }; + + /** + * 修改电子标签货位信息 + * @param params 修改参数 + */ + public static updateEtagLocationInfo(params: IAppEtagLocation) { + return axiosInstance.put('/app/etag/updateEtagLocation', params); + }; + + /** + * 删除电子标签货位信息 + * @param recordId 货位ID + */ + public static deleteEtagLocationInfo(recordId: string| undefined) { + return axiosInstance.delete('/app/etag/deleteEtagLocation/' + recordId); + }; + +} \ No newline at end of file diff --git a/wcs_web/src/api/etagTask.ts b/wcs_web/src/api/etagTask.ts new file mode 100644 index 0000000..98de4ed --- /dev/null +++ b/wcs_web/src/api/etagTask.ts @@ -0,0 +1,38 @@ +// 电子标签任务接口 +import type {IEtagTaskQuery} from "@/interface/page/etagTask/IEtagTaskQuery.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IAppEtagTask} from "@/model/table/IAppEtagTask.ts"; + +export default class EtagTaskApi { + + // 查询电子标签任务接口 + static queryEtagTask(params: IEtagTaskQuery, pageIndex: number, pageSize: number) { + return axiosInstance.post('/app/etagTask/queryEtagTask', params, { + params: { + pageIndex: pageIndex, + pageSize: pageSize + } + }) + }; + + // 添加电子标签任务 + static addEtagTask(params: IAppEtagTask) { + return axiosInstance.post('/app/etagTask/addEtagTask', params) + }; + + // 修改电子标签任务 + static editEtagTask(params: IAppEtagTask) { + return axiosInstance.post('/app/etagTask/updateEtagTask', params) + }; + + + // 查询电子标签任务接口 ---- 备份表 + static queryEtagTaskBak(params: IEtagTaskQuery, pageIndex: number, pageSize: number) { + return axiosInstance.post('/app/etagTask/queryEtagTaskBak', params, { + params: { + pageIndex: pageIndex, + pageSize: pageSize + } + }) + }; +} \ No newline at end of file diff --git a/wcs_web/src/api/file.ts b/wcs_web/src/api/file.ts new file mode 100644 index 0000000..fb4b1cf --- /dev/null +++ b/wcs_web/src/api/file.ts @@ -0,0 +1,22 @@ +import axiosInstance from "@/api/axios.ts"; +import axios from "axios"; +import {CookieUtils} from "@/utils/CookieUtils.ts"; + +export default class FileApi { + + // 获取文件名称列表 + public static getFileNameList() { + return axiosInstance.get('/app/wcsFile/getFilesName'); + }; + + // 下载文件 + public static downloadFile(fileName: string) { + return axiosInstance.get('/app/wcsFile/downLoadFile', { + params: { + fileName: fileName + }, + responseType: 'blob', + timeout: 30000, + }); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/home.ts b/wcs_web/src/api/home.ts new file mode 100644 index 0000000..375a4bc --- /dev/null +++ b/wcs_web/src/api/home.ts @@ -0,0 +1,30 @@ +import axiosInstance from "@/api/axios.ts"; +import type {ISystemInfoVo} from "@/interface/page/home/ISystemInfoVo.ts"; + +export default class HomeApi { + + // 获取服务器数据 + static queryServeData() { + return axiosInstance.get('/app/system/querySystemInfo'); + }; + // 创建消息通知连接 + static createNoticeConnect() { + return new EventSource(axiosInstance.defaults.baseURL + '/app/system/acceptInfo') + }; + // 查询库存占用率 + static queryStockOccupancyRate() { + return axiosInstance.get('/app/system/queryStockUsage'); + }; + // 查询今天出入库数量 + static queryTodayInOutStock() { + return axiosInstance.get('/app/system/queryTodayInOutCount'); + }; + // 查询近七日设备故障数量 + static querySevenDaysDeviceFailure() { + return axiosInstance.get('/app/system/querySevenDaysDeviceFailure'); + }; + // 查询近七日出入库数量 + static querySevenDaysInOutStock() { + return axiosInstance.get('/app/system/querySevenDaysInOutCount'); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/led.ts b/wcs_web/src/api/led.ts new file mode 100644 index 0000000..1015e90 --- /dev/null +++ b/wcs_web/src/api/led.ts @@ -0,0 +1,23 @@ +import type {ILedBaseSearch} from "@/interface/page/led/ILedBaseSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IAppBaseLed} from "@/model/table/IAppBaseLed.ts"; + +export default class LedApi { + + // 查询LED + static queryLed(params: ILedBaseSearch) { + return axiosInstance.post('/app/led/queryLed', params); + }; + // 添加LED + static addBaseLed(params: IAppBaseLed) { + return axiosInstance.post('/app/led/addBaseLed', params); + }; + // 修改LED + static updateBaseLed(params: IAppBaseLed) { + return axiosInstance.post('/app/led/updateBaseLed', params); + }; + // 删除LED + static deleteBaseLed(id: string) { + return axiosInstance.delete('/app/led/deleteBaseLed/' + id); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/menu.ts b/wcs_web/src/api/menu.ts new file mode 100644 index 0000000..ed7b4f3 --- /dev/null +++ b/wcs_web/src/api/menu.ts @@ -0,0 +1,22 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IMenuSearch} from "@/interface/page/menu/IMenuSearch.ts"; +import type {IAppBaseMenu} from "@/model/table/IAppBaseMenu.ts"; + +export default class MenuApi { + // 模糊查询菜单 + static queryMenu(queryData: IMenuSearch) { + return axiosInstance.post("/app/menu/queryMenu", queryData); + } + // 添加菜单 + static addMenu(menuData: IAppBaseMenu) { + return axiosInstance.post("/app/menu/addMenu", menuData); + } + // 删除菜单 + static deleteWithMenuId(menuId: string) { + return axiosInstance.delete("/app/menu/deleteMenu/" + menuId); + } + // 更新菜单信息 + static updateMenu(menuData: IAppBaseMenu) { + return axiosInstance.post("/app/menu/updateMenu", menuData); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/plc.ts b/wcs_web/src/api/plc.ts new file mode 100644 index 0000000..ce2246c --- /dev/null +++ b/wcs_web/src/api/plc.ts @@ -0,0 +1,23 @@ +import type {IPlcSearch} from "@/interface/page/plc/IPlcSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IPlcTableVo} from "@/model/table/IPlcTableVo.ts"; + +export class PlcApi { + + // 查询PLC数据 + static queryPlc(query: IPlcSearch) { + return axiosInstance.post("app/plc/queryBasePlc", query); + }; + // 添加PLC数据 + static addPlc(data: IPlcTableVo) { + return axiosInstance.post("app/plc/addPlc", data); + }; + // 更新PLC数据 + static updatePlc(data: IPlcTableVo) { + return axiosInstance.post("app/plc/updatePlc", data); + }; + // 删除PLC + static deletePlc(plcId: number) { + return axiosInstance.delete("app/plc/deletePlc/" + plcId); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/quartz.ts b/wcs_web/src/api/quartz.ts new file mode 100644 index 0000000..0033856 --- /dev/null +++ b/wcs_web/src/api/quartz.ts @@ -0,0 +1,38 @@ +import type {IQuartzSearch} from "@/interface/page/quartz/IQuartzSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IQuartzTableData} from "@/model/table/IQuartzTableData.ts"; + +export default class QuartzApi { + + // 查询定时任务数据 + static query(queryData: IQuartzSearch) { + return axiosInstance.post("/app/quartz/query", queryData); + } + + // 添加定时任务数据 + static addQuartzConfig(addData: IQuartzTableData) { + return axiosInstance.post("/app/quartz/addQuartzConfig", addData); + } + + // 删除任务数据 + static deleteQuartzConfig(className: string) { + return axiosInstance.delete("/app/quartz/deleteQuartzConfig/" + className); + } + + // 停止一个定时任务 + static stopQuartzConfig(className: string) { + return axiosInstance.put("/app/quartz/stopQuartzJob/" + className); + } + + // 启动一个定时任务 + static startQuartzConfig(className: string) { + return axiosInstance.put("/app/quartz/startQuartzJob/" + className); + } + + // 更新定时任务数据 + static updateQuartzConfig(updateData: IQuartzTableData) { + return axiosInstance.post("/app/quartz/updateQuartzConfig", updateData); + } + + +} \ No newline at end of file diff --git a/wcs_web/src/api/recordApi.ts b/wcs_web/src/api/recordApi.ts new file mode 100644 index 0000000..3cd68fd --- /dev/null +++ b/wcs_web/src/api/recordApi.ts @@ -0,0 +1,25 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IRecordApiRequestSearch} from "@/interface/page/recordApi/IRecordApiRequestSearch.ts"; +import type {IRecordApiResponseData} from "@/model/table/IRecordApiResponseData.ts"; + +// 查询接口请求记录 +export default class RecordApi { + + static queryApiRequest(query: IRecordApiRequestSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post('/app/recordApi/queryApiRequestWithPage', query, { + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }) + }; + + static queryApiResponse(query: IRecordApiResponseData, pageSize: number, pageIndex: number) { + return axiosInstance.post('/app/recordApi/queryApiResponseWithPage', query, { + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }) + } +} \ No newline at end of file diff --git a/wcs_web/src/api/recordError.ts b/wcs_web/src/api/recordError.ts new file mode 100644 index 0000000..530007c --- /dev/null +++ b/wcs_web/src/api/recordError.ts @@ -0,0 +1,23 @@ +import type {IEquipmentErrorSearch} from "@/interface/page/recordEquipmentSearch/IEquipmentErrorSearch.ts"; +import axiosInstance from "@/api/axios.ts"; + +export default class RecordErrorApi { + + // 查询设备报警信息 + static queryEquipmentError(params: IEquipmentErrorSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post('/app/recordError/queryEquipmentError', params, { + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }) + }; + + // 导出设备错误信息 + static exportEquipmentError(params: IEquipmentErrorSearch) { + return axiosInstance.post('/app/recordError/exportEquipmentError', params, { + responseType: 'blob', + timeout: 30000 + }) + } +} \ No newline at end of file diff --git a/wcs_web/src/api/recordScan.ts b/wcs_web/src/api/recordScan.ts new file mode 100644 index 0000000..876a1db --- /dev/null +++ b/wcs_web/src/api/recordScan.ts @@ -0,0 +1,27 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IRecordScanSearch} from "@/interface/page/rocordScan/IRecordScanSearch.ts"; + +export default class RecordScanApi { + + // 分页查询扫码记录 + static query(query: IRecordScanSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post('/app/recordScan/queryWithPage', query, { + params: { + pageSize, + pageIndex + } + }) + }; + // 查询扫码率 + static queryScanRatio(query: IRecordScanSearch) { + return axiosInstance.post('/app/recordScan/queryScanRatio', query) + }; + // 下载扫码数据文件 + static downloadTask(query: IRecordScanSearch) { + return axiosInstance.post("/app/recordScan/downLoadRecordScan", query, { + responseType: 'blob', + timeout: 30000 + }) + }; + +} \ No newline at end of file diff --git a/wcs_web/src/api/siemensDb.ts b/wcs_web/src/api/siemensDb.ts new file mode 100644 index 0000000..393500c --- /dev/null +++ b/wcs_web/src/api/siemensDb.ts @@ -0,0 +1,56 @@ +import type {ISiemensDbSearch} from "@/interface/page/siemensDbManage/ISiemensDbSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IAppBaseDb} from "@/model/table/IAppBaseDb.ts"; + +export default class SiemensDbApi { + + /** + * 获取app基础数据库列表 + * @param pageIndex + * @param pageSize + * @param params + */ + public static async getAppBaseDb(pageIndex: number, pageSize: number, params: ISiemensDbSearch): Promise { + return await axiosInstance.post('/app/siemensDb/querySiemensDbByPage', params, { + params: { + pageIndex: pageIndex, + pageSize: pageSize + } + }); + }; + + /** + * 添加app基础数据库 + * @param params + */ + public static addSiemensDb(params: IAppBaseDb): Promise { + return axiosInstance.post('/app/siemensDb/addSiemensDb', params); + }; + + /** + * 修改app基础数据库 + * @param params + */ + public static updateSiemensDb(params: IAppBaseDb): Promise { + return axiosInstance.post('/app/siemensDb/updateSiemensDb', params); + }; + + /** + * 删除app基础数据库 + * @param dbName + */ + public static deleteSiemensDb(dbName: string): Promise { + return axiosInstance.delete('/app/siemensDb/deleteSiemensDb', { + params: { + dbName: dbName + } + }); + }; + + /** + * 重新加载数据库地址 + */ + public static reloadDbAddress(): Promise { + return axiosInstance.put('/app/siemensDb/reloadDbAddress'); + }; +} \ No newline at end of file diff --git a/wcs_web/src/api/stacker.ts b/wcs_web/src/api/stacker.ts new file mode 100644 index 0000000..ab6c688 --- /dev/null +++ b/wcs_web/src/api/stacker.ts @@ -0,0 +1,44 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IStackerInfoTableData} from "@/model/table/IStackerInfoTableData.ts"; +import type IStackerStandTableData from "@/model/table/IStackerStandTableData.ts"; + +export default class StackerApi { + + // 查询堆垛机信息 + static queryStackerInfo(stackerName: string) { + return axiosInstance.get("app/stacker/queryStackerInfo", { + params: { + stackerName: stackerName + } + }); + }; + // 插入一条数据 + static addStackerInfo(stackerInfo: IStackerInfoTableData) { + return axiosInstance.post("app/stacker/addStackerInfo", stackerInfo); + }; + // 更新一条数据 + static updateStackerInfo(stackerInfo: IStackerInfoTableData) { + return axiosInstance.post("app/stacker/updateStackerInfo", stackerInfo); + }; + // 查询站台信息 + static queryStandInfo(stackerId: number) { + return axiosInstance.get("app/stacker/queryStackerStand", { + params: { + stackerId: stackerId + } + }); + }; + // 插入或者更新一条站台数据 + static addOrUpdateStandInfo(standInfo: IStackerStandTableData) { + return axiosInstance.post("app/stacker/addOrUpdateStackerStand", standInfo); + }; + // 删除一条站台数据 + static deleteStandInfo(standId: string) { + return axiosInstance.delete("app/stacker/deleteWithStandId/" + standId); + }; + // 获取堆垛机运行信息 + static getStackerRunningInfo() { + return axiosInstance.get("app/stacker/getStackerRunningInfo"); + } + +} \ No newline at end of file diff --git a/wcs_web/src/api/stackerLocation.ts b/wcs_web/src/api/stackerLocation.ts new file mode 100644 index 0000000..de0ce75 --- /dev/null +++ b/wcs_web/src/api/stackerLocation.ts @@ -0,0 +1,58 @@ +import type IStackerLocationSearch from "@/interface/page/stackerLocation/IStackerLocationSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type IStackerLocationTableData from "@/model/table/IStackerLocationTableData.ts"; +import type IStackerLocationCreateParams from "@/interface/page/stackerLocation/IStackerLocationCreateParams.ts"; + +export default class StackerLocationApi { + + // 分页查询 + static queryStackerLocation(queryData: IStackerLocationSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post("/app/stackerLocation/queryStackerLocation", queryData, { + params: { + pageSize: pageSize, + pageIndex: pageIndex, + } + }); + }; + // 添加一个库位 + static addOneStackerLocation(data: IStackerLocationTableData) { + return axiosInstance.post("/app/stackerLocation/addStackerLocation", data); + }; + // 批量添加库位 + static addStackerLocationBatch(data: IStackerLocationCreateParams) { + return axiosInstance.post("/app/stackerLocation/addStackerLocations", data); + }; + // 下载货位信息 + static downloadStackerLocation(queryData: IStackerLocationSearch) { + return axiosInstance.post("/app/stackerLocation/downloadStackerLocation", queryData, { + responseType: "blob", + timeout: 30000 + }); + }; + // 更新站台信息 + static updateStackerLocation(data: IStackerLocationTableData) { + return axiosInstance.post("/app/stackerLocation/updateStackerLocation", data); + }; + // 根据巷道号查询货位信息 + static queryStackerLocationByStackerIdAndLaneId(stackerId: number, laneId: number) { + return axiosInstance.get("/app/stackerLocation/queryStackerLocationListByStackerIdAndLaneId", { + params: { + stackerId: stackerId, + laneId: laneId + } + }); + }; + // 获取堆垛机ID + static getStackerIdList() { + return axiosInstance.get("/app/stackerLocation/queryStackerLocationStackerIdList"); + }; + // 获取巷道ID + static getLaneIdList(stackerId: number) { + return axiosInstance.get("/app/stackerLocation/queryStackerLocationLaneList", { + params: { + stackerId: stackerId + } + }); + } + +} \ No newline at end of file diff --git a/wcs_web/src/api/stockComposeTask.ts b/wcs_web/src/api/stockComposeTask.ts new file mode 100644 index 0000000..3a64eb3 --- /dev/null +++ b/wcs_web/src/api/stockComposeTask.ts @@ -0,0 +1,100 @@ +import type {IComposeTaskSearch} from "@/interface/page/stockTask/IComposeTaskSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IComposeTaskTableData} from "@/model/table/IComposeTaskTableData.ts"; +import type {ReporterTaskStatusReq} from "@/interface/page/stockTask/IReporterTaskStatusReq.ts"; + +export default class StockComposeTaskApi { + + // 条件模糊查询,主查询 + static query(query: IComposeTaskSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post("/app/stockComposeTask/query", query, { + params: { + pageSize: pageSize, + pageIndex: pageIndex, + } + }); + }; + // 条件模糊查询,主查询 ---- 备份数据 + static queryBak(query: IComposeTaskSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post("/app/stockComposeTask/queryBak", query, { + params: { + pageSize: pageSize, + pageIndex: pageIndex, + }, + timeout: 30000 + }); + }; + // 添加 + static addTask(data: IComposeTaskTableData) { + return axiosInstance.post("/app/stockComposeTask/addTask", data); + }; + // 下载任务数据文件 + static downloadTask(query: IComposeTaskSearch) { + return axiosInstance.post("/app/stockComposeTask/downLoadTask", query, { + responseType: 'blob', + timeout: 30000 + }) + }; + // 下载任务数据文件 ---- 历史数据 + static downloadTaskBak(query: IComposeTaskSearch) { + return axiosInstance.post("/app/stockComposeTask/downLoadTaskBak", query, { + responseType: 'blob', + timeout: 30000 + }) + }; + // 取消任务 + static cancelTask(taskId: string) { + return axiosInstance.put("/app/stockComposeTask/cancelTask", null, { + params: { + taskId: taskId + } + }); + }; + // 完成任务 + static completeTask(taskId: string) { + return axiosInstance.put("/app/stockComposeTask/completeTask", null, { + params: { + taskId: taskId + } + }); + }; + // 重做任务 + static resetTask(taskId: string) { + return axiosInstance.put("/app/stockComposeTask/resetTask", null, { + params: { + taskId: taskId + } + }); + }; + // 上报任务完成 + static reportTaskComplete(reportData: ReporterTaskStatusReq) { + return axiosInstance.post("/app/stockComposeTask/reporterTaskCompleted", reportData); + }; + // 上报任务取消 + static reportTaskCancel(reportData: ReporterTaskStatusReq) { + return axiosInstance.post("/app/stockComposeTask/reporterTaskCancel", reportData); + }; + // 上报任务完成 ---- 历史数据 + static reportTaskBakComplete(reportData: ReporterTaskStatusReq) { + return axiosInstance.post("/app/stockComposeTask/reporterTaskBakCompleted", reportData, { + timeout: 30000 + }); + } + // 上报任务取消 ---- 历史数据 + static reportTaskBakCancel(reportData: ReporterTaskStatusReq) { + return axiosInstance.post("/app/stockComposeTask/reporterTaskBakCancel", reportData, { + timeout: 30000 + }); + }; + // 计算路线 + static calculateCourse(composeTaskId?: string) { + return axiosInstance.get("/app/stockComposeTask/queryCourseResult", { + params: { + composeTaskId: composeTaskId + } + }); + } + + + +} \ No newline at end of file diff --git a/wcs_web/src/api/stockScan.ts b/wcs_web/src/api/stockScan.ts new file mode 100644 index 0000000..5931fb4 --- /dev/null +++ b/wcs_web/src/api/stockScan.ts @@ -0,0 +1,41 @@ +import type {IStockScanSearch} from "@/interface/page/scan/IStockScanSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type {IAppStockScan} from "@/model/table/IAppStockScan.ts"; + +export default class StockScanApi { + + // 分页查询 + static query(query: IStockScanSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post('/app/stockScan/queryWithPage', query, { + params: { + pageSize: pageSize, + pageIndex: pageIndex + } + }) + }; + // 查询所有 + static queryAll() { + return axiosInstance.get('/app/stockScan/queryAll') + }; + // 查询所有扫码方法 + static queryAllScanMethod() { + return axiosInstance.get('/app/stockScan/queryBaseScanMethod'); + }; + // 插入扫码数据 + static insertStockScan(data: IAppStockScan) { + return axiosInstance.post('/app/stockScan/addStockScan', data); + }; + // 更新数据 + static updateStockScan(data: IAppStockScan) { + return axiosInstance.post('/app/stockScan/updateStockScan', data); + }; + // 删除数据 + static deleteStockScan(stockScanId: string | undefined) { + return axiosInstance.delete('/app/stockScan/deleteStockScan', { + params: { + stockScanId: stockScanId + } + }); + } + +} \ No newline at end of file diff --git a/wcs_web/src/api/stockSingleTask.ts b/wcs_web/src/api/stockSingleTask.ts new file mode 100644 index 0000000..cb11490 --- /dev/null +++ b/wcs_web/src/api/stockSingleTask.ts @@ -0,0 +1,60 @@ +import type ISingleTaskSearch from "@/interface/page/stockTask/ISingleTaskSearch.ts"; +import axiosInstance from "@/api/axios.ts"; +import type ISingleTaskTableData from "@/model/table/ISingleTaskTableData.ts"; + +export default class StockSingleTaskApi { + + // 分页查询当前任务 + static query(query: ISingleTaskSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post("/app/stockSingleTask/query", query, { + params: { + pageSize: pageSize, + pageIndex: pageIndex, + } + }); + }; + // 分页查询历史任务 + static queryBak(query: ISingleTaskSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post("/app/stockSingleTask/queryBak", query, { + params: { + pageSize: pageSize, + pageIndex: pageIndex, + } + }); + }; + // 下载任务数据文件 + static downloadTaskBak(query: ISingleTaskSearch) { + return axiosInstance.post("/app/stockSingleTask/downLoadBak", query, { + responseType: 'blob', + timeout: 30000 + }) + }; + // 添加任务 + static addTask(data: ISingleTaskTableData) { + return axiosInstance.post("/app/stockSingleTask/addSingleTask", data); + }; + // 更换设备任务号 + static newPlcTaskId(taskId: string) { + return axiosInstance.put("/app/stockSingleTask/newPlcTaskId/" + taskId); + }; + // 更新任务状态 + static updateTaskStatus(taskId: string, taskStatus: number) { + return axiosInstance.put("/app/stockSingleTask/updateTaskStatus", null, { + params: { + taskId: taskId, + taskStatus: taskStatus + } + }); + }; + // 完成任务 + static completeTask(taskId: string) { + return axiosInstance.put("/app/stockSingleTask/completeTask/" + taskId); + }; + // 取消任务 + static cancelTask(taskId: string) { + return axiosInstance.put("/app/stockSingleTask/cancelTask/" + taskId); + } + + + +} \ No newline at end of file diff --git a/wcs_web/src/api/trayConveyLocation.ts b/wcs_web/src/api/trayConveyLocation.ts new file mode 100644 index 0000000..0282db0 --- /dev/null +++ b/wcs_web/src/api/trayConveyLocation.ts @@ -0,0 +1,40 @@ +import axiosInstance from "@/api/axios.ts"; +import type {ITrayConveyLocationSearch} from "@/interface/page/trayConvey/ITrayConveyLocationSearch.ts"; +import type {ITrayConveyTableData} from "@/model/table/ITrayConveyTableData.ts"; + +export default class TrayConveyLocationApi { + + // 分页查询 + static query(query: ITrayConveyLocationSearch, pageSize: number, pageIndex: number) { + return axiosInstance.post("/app/trayConveyLocation/queryTrayConveyLocation", query, { + params: { + pageSize, + pageIndex + } + }); + }; + + // 新增 + static add(data: ITrayConveyTableData) { + return axiosInstance.post("/app/trayConveyLocation/addTrayConveyLocation", data); + }; + // 更新数据 + static update(data: ITrayConveyTableData) { + return axiosInstance.post("/app/trayConveyLocation/updateTrayConveyLocation", data); + }; + // 查询状态 + static queryTrayConveyStatus(locationId: string | undefined) { + return axiosInstance.get("/app/trayConveyLocation/queryTrayConveyStatus", { + params: { + conveyId: locationId + } + }); + }; + // 下载库位信息 + static downloadTrayConveyLocation(query: ITrayConveyLocationSearch) { + return axiosInstance.post("/app/trayConveyLocation/downloadTrayConveyLocation", query, { + responseType: "blob", + timeout: 30000 + }); + } +} \ No newline at end of file diff --git a/wcs_web/src/api/user.ts b/wcs_web/src/api/user.ts new file mode 100644 index 0000000..d5d0486 --- /dev/null +++ b/wcs_web/src/api/user.ts @@ -0,0 +1,48 @@ +import axiosInstance from "@/api/axios.ts"; +import type {ILoginUser} from "@/interface/page/user/ILoginUser.ts"; +import type {IUserSearch} from "@/interface/page/user/IUserSearch.ts"; +import type IUpdateUserData from "@/interface/page/user/IUpdateUserData.ts"; +import type IAppUserPo from "@/interface/page/user/IAppUserPo.ts"; +import type {ILocalUserData} from "@/interface/page/user/ILocalUserData.ts"; + +export default class UserApi { + + // 登录接口 + static login(user: ILoginUser) { + return axiosInstance.post("/app/user/login", user); + } + // 获取用户的权限 + static permission() { + return axiosInstance.get("/app/user/permission"); + } + // 查询用户列表 + static queryUserList(userSearch: IUserSearch) { + return axiosInstance.post("/app/user/queryUser", userSearch); + } + // 登出用户 + static loginOut(userId: string) { + return axiosInstance.put("/app/user/logoutUser/" + userId); + } + // 更新用户信息 + static updateUser(user: IUpdateUserData) { + return axiosInstance.post("/app/user/updateUser", user); + } + // 删除用户 + static deleteUser(userId: string) { + return axiosInstance.delete("/app/user/deleteUser/" + userId) + } + // 创建用户 + static createUser(user: IAppUserPo) { + return axiosInstance.post("/app/user/createUser", user); + } + // 查询用户菜单,简单版本 + static queryUserMenuPermissionSimpleTree() { + return axiosInstance.get("/app/user/queryUserMenuPermissionSimpleTree"); + } + // 修改自己的个人信息 + static updateSelfUser(user: ILocalUserData) { + return axiosInstance.post("/app/user/updateSelfUser", user); + } + + +} \ No newline at end of file diff --git a/wcs_web/src/api/userGroup.ts b/wcs_web/src/api/userGroup.ts new file mode 100644 index 0000000..342f58d --- /dev/null +++ b/wcs_web/src/api/userGroup.ts @@ -0,0 +1,36 @@ +import axiosInstance from "@/api/axios.ts"; +import type {IAppTableUserGroupVo} from "@/model/table/IAppTableUserGroupVo.ts"; +import type {IUpdatePermissionReq} from "@/interface/page/userGroup/IUpdatePermissionReq.ts"; + +// 用户组接口调用 +export default class UserGroupApi { + // 查询用户组级别比自己低的用户组 + static queryMinLevelUserGroup() { + return axiosInstance.get("/app/userGroup/queryMinLevelUserGroup"); + } + // 查询某一用户组的菜单权限 + static queryUserGroupPermission(userGroup: string) { + return axiosInstance.get("/app/userGroup/queryUserGroupPermission", { + params: { + userGroup: userGroup, + } + }); + } + // 添加用户组 + static addUserGroup(userGroup: IAppTableUserGroupVo) { + return axiosInstance.post("/app/userGroup/addUserGroup", userGroup); + } + // 删除用户组 + static deleteUserGroup(userGroup: string | undefined) { + return axiosInstance.delete("/app/userGroup/deleteUserGroup/" + userGroup); + } + // 更新用户组信息 + static updateUserGroup(userGroup: IAppTableUserGroupVo) { + return axiosInstance.post("/app/userGroup/updateUserGroup", userGroup); + } + // 更新用户组权限信息 + static updateUserGroupPermission(userGroupPermission: IUpdatePermissionReq) { + return axiosInstance.post("/app/userGroup/updateGroupPermission", userGroupPermission); + } + +} \ No newline at end of file diff --git a/wcs_web/src/assets/base.css b/wcs_web/src/assets/base.css new file mode 100644 index 0000000..8816868 --- /dev/null +++ b/wcs_web/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/wcs_web/src/assets/logo.svg b/wcs_web/src/assets/logo.svg new file mode 100644 index 0000000..7565660 --- /dev/null +++ b/wcs_web/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/wcs_web/src/assets/main.css b/wcs_web/src/assets/main.css new file mode 100644 index 0000000..36fb845 --- /dev/null +++ b/wcs_web/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/wcs_web/src/components/charts/ChartBar.vue b/wcs_web/src/components/charts/ChartBar.vue new file mode 100644 index 0000000..a7bb9dd --- /dev/null +++ b/wcs_web/src/components/charts/ChartBar.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/charts/ChartLine.vue b/wcs_web/src/components/charts/ChartLine.vue new file mode 100644 index 0000000..ad7f725 --- /dev/null +++ b/wcs_web/src/components/charts/ChartLine.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/charts/ChartPie.vue b/wcs_web/src/components/charts/ChartPie.vue new file mode 100644 index 0000000..35c0bda --- /dev/null +++ b/wcs_web/src/components/charts/ChartPie.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/custom/ConveyItem.vue b/wcs_web/src/components/custom/ConveyItem.vue new file mode 100644 index 0000000..aef697a --- /dev/null +++ b/wcs_web/src/components/custom/ConveyItem.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/custom/ConveyView.vue b/wcs_web/src/components/custom/ConveyView.vue new file mode 100644 index 0000000..96c0baf --- /dev/null +++ b/wcs_web/src/components/custom/ConveyView.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/custom/LanguageSwitch.vue b/wcs_web/src/components/custom/LanguageSwitch.vue new file mode 100644 index 0000000..be3cdb5 --- /dev/null +++ b/wcs_web/src/components/custom/LanguageSwitch.vue @@ -0,0 +1,36 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/custom/StackerLocationView.vue b/wcs_web/src/components/custom/StackerLocationView.vue new file mode 100644 index 0000000..7ad3c89 --- /dev/null +++ b/wcs_web/src/components/custom/StackerLocationView.vue @@ -0,0 +1,173 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/manage/AppDeveloper.vue b/wcs_web/src/components/manage/AppDeveloper.vue new file mode 100644 index 0000000..b6db97f --- /dev/null +++ b/wcs_web/src/components/manage/AppDeveloper.vue @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/api/AddApiBaseComponent.vue b/wcs_web/src/components/page/api/AddApiBaseComponent.vue new file mode 100644 index 0000000..59ba12c --- /dev/null +++ b/wcs_web/src/components/page/api/AddApiBaseComponent.vue @@ -0,0 +1,73 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/api/ApiBaseDetailComponent.vue b/wcs_web/src/components/page/api/ApiBaseDetailComponent.vue new file mode 100644 index 0000000..b2f8ff0 --- /dev/null +++ b/wcs_web/src/components/page/api/ApiBaseDetailComponent.vue @@ -0,0 +1,98 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/app/UserSetting.vue b/wcs_web/src/components/page/app/UserSetting.vue new file mode 100644 index 0000000..3909c25 --- /dev/null +++ b/wcs_web/src/components/page/app/UserSetting.vue @@ -0,0 +1,74 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/baseError/AddBaseError.vue b/wcs_web/src/components/page/baseError/AddBaseError.vue new file mode 100644 index 0000000..2d03c63 --- /dev/null +++ b/wcs_web/src/components/page/baseError/AddBaseError.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/baseError/BaseErrorDetail.vue b/wcs_web/src/components/page/baseError/BaseErrorDetail.vue new file mode 100644 index 0000000..89de5b3 --- /dev/null +++ b/wcs_web/src/components/page/baseError/BaseErrorDetail.vue @@ -0,0 +1,112 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/baseError/ImportBaseError.vue b/wcs_web/src/components/page/baseError/ImportBaseError.vue new file mode 100644 index 0000000..7516921 --- /dev/null +++ b/wcs_web/src/components/page/baseError/ImportBaseError.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/config/ConfigDetailComponent.vue b/wcs_web/src/components/page/config/ConfigDetailComponent.vue new file mode 100644 index 0000000..c948678 --- /dev/null +++ b/wcs_web/src/components/page/config/ConfigDetailComponent.vue @@ -0,0 +1,78 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/convey/AddConveyLocation.vue b/wcs_web/src/components/page/convey/AddConveyLocation.vue new file mode 100644 index 0000000..95324ae --- /dev/null +++ b/wcs_web/src/components/page/convey/AddConveyLocation.vue @@ -0,0 +1,123 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/convey/ConveyLocationDetail.vue b/wcs_web/src/components/page/convey/ConveyLocationDetail.vue new file mode 100644 index 0000000..ac90405 --- /dev/null +++ b/wcs_web/src/components/page/convey/ConveyLocationDetail.vue @@ -0,0 +1,167 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/conveyStand/AddCheckStand.vue b/wcs_web/src/components/page/conveyStand/AddCheckStand.vue new file mode 100644 index 0000000..9e6e80b --- /dev/null +++ b/wcs_web/src/components/page/conveyStand/AddCheckStand.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/conveyStand/AddPickStand.vue b/wcs_web/src/components/page/conveyStand/AddPickStand.vue new file mode 100644 index 0000000..0844774 --- /dev/null +++ b/wcs_web/src/components/page/conveyStand/AddPickStand.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/conveyStand/CheckStandDetail.vue b/wcs_web/src/components/page/conveyStand/CheckStandDetail.vue new file mode 100644 index 0000000..54b636a --- /dev/null +++ b/wcs_web/src/components/page/conveyStand/CheckStandDetail.vue @@ -0,0 +1,113 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/conveyStand/PickStandDetail.vue b/wcs_web/src/components/page/conveyStand/PickStandDetail.vue new file mode 100644 index 0000000..1d9cc01 --- /dev/null +++ b/wcs_web/src/components/page/conveyStand/PickStandDetail.vue @@ -0,0 +1,124 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/conveyTask/AddConveyTask.vue b/wcs_web/src/components/page/conveyTask/AddConveyTask.vue new file mode 100644 index 0000000..fdc837e --- /dev/null +++ b/wcs_web/src/components/page/conveyTask/AddConveyTask.vue @@ -0,0 +1,126 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/conveyTask/ConveyTaskDetail.vue b/wcs_web/src/components/page/conveyTask/ConveyTaskDetail.vue new file mode 100644 index 0000000..66a6569 --- /dev/null +++ b/wcs_web/src/components/page/conveyTask/ConveyTaskDetail.vue @@ -0,0 +1,247 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/conveyTask/ConveyTaskDetailBak.vue b/wcs_web/src/components/page/conveyTask/ConveyTaskDetailBak.vue new file mode 100644 index 0000000..6d1099f --- /dev/null +++ b/wcs_web/src/components/page/conveyTask/ConveyTaskDetailBak.vue @@ -0,0 +1,168 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagController/AddEtagController.vue b/wcs_web/src/components/page/etagController/AddEtagController.vue new file mode 100644 index 0000000..3cdbc0f --- /dev/null +++ b/wcs_web/src/components/page/etagController/AddEtagController.vue @@ -0,0 +1,80 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagController/DebugEtagController.vue b/wcs_web/src/components/page/etagController/DebugEtagController.vue new file mode 100644 index 0000000..2bf9276 --- /dev/null +++ b/wcs_web/src/components/page/etagController/DebugEtagController.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagController/EditEtagController.vue b/wcs_web/src/components/page/etagController/EditEtagController.vue new file mode 100644 index 0000000..52ab74c --- /dev/null +++ b/wcs_web/src/components/page/etagController/EditEtagController.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagLocation/AddEtagLocation.vue b/wcs_web/src/components/page/etagLocation/AddEtagLocation.vue new file mode 100644 index 0000000..cf92a40 --- /dev/null +++ b/wcs_web/src/components/page/etagLocation/AddEtagLocation.vue @@ -0,0 +1,89 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagLocation/EditEtagLocation.vue b/wcs_web/src/components/page/etagLocation/EditEtagLocation.vue new file mode 100644 index 0000000..0c55eff --- /dev/null +++ b/wcs_web/src/components/page/etagLocation/EditEtagLocation.vue @@ -0,0 +1,114 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagTag/AddEtagTag.vue b/wcs_web/src/components/page/etagTag/AddEtagTag.vue new file mode 100644 index 0000000..858412c --- /dev/null +++ b/wcs_web/src/components/page/etagTag/AddEtagTag.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagTag/EditEtagTag.vue b/wcs_web/src/components/page/etagTag/EditEtagTag.vue new file mode 100644 index 0000000..c03b62c --- /dev/null +++ b/wcs_web/src/components/page/etagTag/EditEtagTag.vue @@ -0,0 +1,118 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagTask/AddEtagTask.vue b/wcs_web/src/components/page/etagTask/AddEtagTask.vue new file mode 100644 index 0000000..0d55f6c --- /dev/null +++ b/wcs_web/src/components/page/etagTask/AddEtagTask.vue @@ -0,0 +1,107 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/etagTask/EditEtagTask.vue b/wcs_web/src/components/page/etagTask/EditEtagTask.vue new file mode 100644 index 0000000..66e3be1 --- /dev/null +++ b/wcs_web/src/components/page/etagTask/EditEtagTask.vue @@ -0,0 +1,146 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/led/AddLedComponent.vue b/wcs_web/src/components/page/led/AddLedComponent.vue new file mode 100644 index 0000000..dee082a --- /dev/null +++ b/wcs_web/src/components/page/led/AddLedComponent.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/led/LedDetailComponent.vue b/wcs_web/src/components/page/led/LedDetailComponent.vue new file mode 100644 index 0000000..55672d2 --- /dev/null +++ b/wcs_web/src/components/page/led/LedDetailComponent.vue @@ -0,0 +1,127 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/main/AsideComponent.vue b/wcs_web/src/components/page/main/AsideComponent.vue new file mode 100644 index 0000000..0c166de --- /dev/null +++ b/wcs_web/src/components/page/main/AsideComponent.vue @@ -0,0 +1,73 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/main/ContentComponent.vue b/wcs_web/src/components/page/main/ContentComponent.vue new file mode 100644 index 0000000..a08e047 --- /dev/null +++ b/wcs_web/src/components/page/main/ContentComponent.vue @@ -0,0 +1,101 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/menu/AddMenuComponent.vue b/wcs_web/src/components/page/menu/AddMenuComponent.vue new file mode 100644 index 0000000..4a83998 --- /dev/null +++ b/wcs_web/src/components/page/menu/AddMenuComponent.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/menu/MenuDetailComponent.vue b/wcs_web/src/components/page/menu/MenuDetailComponent.vue new file mode 100644 index 0000000..847875c --- /dev/null +++ b/wcs_web/src/components/page/menu/MenuDetailComponent.vue @@ -0,0 +1,107 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/plc/AddPlcComponent.vue b/wcs_web/src/components/page/plc/AddPlcComponent.vue new file mode 100644 index 0000000..8c33b61 --- /dev/null +++ b/wcs_web/src/components/page/plc/AddPlcComponent.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/plc/PlcDetailComponent.vue b/wcs_web/src/components/page/plc/PlcDetailComponent.vue new file mode 100644 index 0000000..2af55d8 --- /dev/null +++ b/wcs_web/src/components/page/plc/PlcDetailComponent.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/quartz/AddQuartzComponent.vue b/wcs_web/src/components/page/quartz/AddQuartzComponent.vue new file mode 100644 index 0000000..69ca67f --- /dev/null +++ b/wcs_web/src/components/page/quartz/AddQuartzComponent.vue @@ -0,0 +1,82 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/quartz/QuartzDetailComponent.vue b/wcs_web/src/components/page/quartz/QuartzDetailComponent.vue new file mode 100644 index 0000000..b555bbe --- /dev/null +++ b/wcs_web/src/components/page/quartz/QuartzDetailComponent.vue @@ -0,0 +1,142 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/recordApi/RecordApiRequestDetail.vue b/wcs_web/src/components/page/recordApi/RecordApiRequestDetail.vue new file mode 100644 index 0000000..c959f8c --- /dev/null +++ b/wcs_web/src/components/page/recordApi/RecordApiRequestDetail.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/recordApi/RecordApiResponseDetail.vue b/wcs_web/src/components/page/recordApi/RecordApiResponseDetail.vue new file mode 100644 index 0000000..577f417 --- /dev/null +++ b/wcs_web/src/components/page/recordApi/RecordApiResponseDetail.vue @@ -0,0 +1,98 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/recordEquipmentError/EquipmentErrorDetail.vue b/wcs_web/src/components/page/recordEquipmentError/EquipmentErrorDetail.vue new file mode 100644 index 0000000..e398c42 --- /dev/null +++ b/wcs_web/src/components/page/recordEquipmentError/EquipmentErrorDetail.vue @@ -0,0 +1,69 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/siemensDb/AddSiemensDb.vue b/wcs_web/src/components/page/siemensDb/AddSiemensDb.vue new file mode 100644 index 0000000..d636618 --- /dev/null +++ b/wcs_web/src/components/page/siemensDb/AddSiemensDb.vue @@ -0,0 +1,83 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/siemensDb/EditSiemensDb.vue b/wcs_web/src/components/page/siemensDb/EditSiemensDb.vue new file mode 100644 index 0000000..50276e1 --- /dev/null +++ b/wcs_web/src/components/page/siemensDb/EditSiemensDb.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stacker/AddStackerComponent.vue b/wcs_web/src/components/page/stacker/AddStackerComponent.vue new file mode 100644 index 0000000..d8ca1ee --- /dev/null +++ b/wcs_web/src/components/page/stacker/AddStackerComponent.vue @@ -0,0 +1,116 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stacker/StackerDetailComponent.vue b/wcs_web/src/components/page/stacker/StackerDetailComponent.vue new file mode 100644 index 0000000..1f32124 --- /dev/null +++ b/wcs_web/src/components/page/stacker/StackerDetailComponent.vue @@ -0,0 +1,111 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stacker/StackerRunningInfo.vue b/wcs_web/src/components/page/stacker/StackerRunningInfo.vue new file mode 100644 index 0000000..5092372 --- /dev/null +++ b/wcs_web/src/components/page/stacker/StackerRunningInfo.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stacker/StackerStandComponent.vue b/wcs_web/src/components/page/stacker/StackerStandComponent.vue new file mode 100644 index 0000000..eef43e0 --- /dev/null +++ b/wcs_web/src/components/page/stacker/StackerStandComponent.vue @@ -0,0 +1,293 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stackerLocation/AddStackerLocationComponent.vue b/wcs_web/src/components/page/stackerLocation/AddStackerLocationComponent.vue new file mode 100644 index 0000000..dc654a1 --- /dev/null +++ b/wcs_web/src/components/page/stackerLocation/AddStackerLocationComponent.vue @@ -0,0 +1,202 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stackerLocation/StackerLocationDetailComponent.vue b/wcs_web/src/components/page/stackerLocation/StackerLocationDetailComponent.vue new file mode 100644 index 0000000..3a55d5a --- /dev/null +++ b/wcs_web/src/components/page/stackerLocation/StackerLocationDetailComponent.vue @@ -0,0 +1,107 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stackerLocation/StackerLocationMap.vue b/wcs_web/src/components/page/stackerLocation/StackerLocationMap.vue new file mode 100644 index 0000000..9910ab4 --- /dev/null +++ b/wcs_web/src/components/page/stackerLocation/StackerLocationMap.vue @@ -0,0 +1,126 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stockComposeTask/AddStockComposeTaskComponent.vue b/wcs_web/src/components/page/stockComposeTask/AddStockComposeTaskComponent.vue new file mode 100644 index 0000000..50601c7 --- /dev/null +++ b/wcs_web/src/components/page/stockComposeTask/AddStockComposeTaskComponent.vue @@ -0,0 +1,93 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stockComposeTask/StockComposeTaskBakDetailComponent.vue b/wcs_web/src/components/page/stockComposeTask/StockComposeTaskBakDetailComponent.vue new file mode 100644 index 0000000..80122d0 --- /dev/null +++ b/wcs_web/src/components/page/stockComposeTask/StockComposeTaskBakDetailComponent.vue @@ -0,0 +1,189 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stockComposeTask/StockComposeTaskDetailComponent.vue b/wcs_web/src/components/page/stockComposeTask/StockComposeTaskDetailComponent.vue new file mode 100644 index 0000000..5590415 --- /dev/null +++ b/wcs_web/src/components/page/stockComposeTask/StockComposeTaskDetailComponent.vue @@ -0,0 +1,284 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stockScan/AddStockScan.vue b/wcs_web/src/components/page/stockScan/AddStockScan.vue new file mode 100644 index 0000000..72c5e20 --- /dev/null +++ b/wcs_web/src/components/page/stockScan/AddStockScan.vue @@ -0,0 +1,189 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stockScan/StockScanDetail.vue b/wcs_web/src/components/page/stockScan/StockScanDetail.vue new file mode 100644 index 0000000..fea7043 --- /dev/null +++ b/wcs_web/src/components/page/stockScan/StockScanDetail.vue @@ -0,0 +1,198 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stockSingleTask/AddStockSingleTaskComponent.vue b/wcs_web/src/components/page/stockSingleTask/AddStockSingleTaskComponent.vue new file mode 100644 index 0000000..42bd7e5 --- /dev/null +++ b/wcs_web/src/components/page/stockSingleTask/AddStockSingleTaskComponent.vue @@ -0,0 +1,101 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/stockSingleTask/StockSingleTaskDetailComponent.vue b/wcs_web/src/components/page/stockSingleTask/StockSingleTaskDetailComponent.vue new file mode 100644 index 0000000..4516545 --- /dev/null +++ b/wcs_web/src/components/page/stockSingleTask/StockSingleTaskDetailComponent.vue @@ -0,0 +1,217 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/trayConveyLocation/AddTrayConveyLocation.vue b/wcs_web/src/components/page/trayConveyLocation/AddTrayConveyLocation.vue new file mode 100644 index 0000000..b00b83d --- /dev/null +++ b/wcs_web/src/components/page/trayConveyLocation/AddTrayConveyLocation.vue @@ -0,0 +1,134 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/trayConveyLocation/TrayConveyLocationDetail.vue b/wcs_web/src/components/page/trayConveyLocation/TrayConveyLocationDetail.vue new file mode 100644 index 0000000..83f733e --- /dev/null +++ b/wcs_web/src/components/page/trayConveyLocation/TrayConveyLocationDetail.vue @@ -0,0 +1,176 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/user/AddUserComponent.vue b/wcs_web/src/components/page/user/AddUserComponent.vue new file mode 100644 index 0000000..d997bfe --- /dev/null +++ b/wcs_web/src/components/page/user/AddUserComponent.vue @@ -0,0 +1,114 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/user/UserDetailComponent.vue b/wcs_web/src/components/page/user/UserDetailComponent.vue new file mode 100644 index 0000000..40bf298 --- /dev/null +++ b/wcs_web/src/components/page/user/UserDetailComponent.vue @@ -0,0 +1,207 @@ + + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/userGroup/AddUserGroupComponent.vue b/wcs_web/src/components/page/userGroup/AddUserGroupComponent.vue new file mode 100644 index 0000000..433d5f8 --- /dev/null +++ b/wcs_web/src/components/page/userGroup/AddUserGroupComponent.vue @@ -0,0 +1,86 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/components/page/userGroup/EditUserGroupComponent.vue b/wcs_web/src/components/page/userGroup/EditUserGroupComponent.vue new file mode 100644 index 0000000..48883b8 --- /dev/null +++ b/wcs_web/src/components/page/userGroup/EditUserGroupComponent.vue @@ -0,0 +1,78 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/constant/SystemConfig.ts b/wcs_web/src/constant/SystemConfig.ts new file mode 100644 index 0000000..09a6944 --- /dev/null +++ b/wcs_web/src/constant/SystemConfig.ts @@ -0,0 +1,5 @@ +export default class SystemConfig { + + // 开发者账号名称 + static DEVELOPER_ID: string = "developer"; +} \ No newline at end of file diff --git a/wcs_web/src/constant/enums/AppServeResponseCodeEnum.ts b/wcs_web/src/constant/enums/AppServeResponseCodeEnum.ts new file mode 100644 index 0000000..547d9a4 --- /dev/null +++ b/wcs_web/src/constant/enums/AppServeResponseCodeEnum.ts @@ -0,0 +1,11 @@ +// API 响应枚举 +export enum AppServeResponseCodeEnum { + SUCCESS = 200, + DATA_REPEAT = 201, + FAIL = 400, + UNAUTHORIZED = 401, + FORBIDDEN = 403, + NOT_FOUND =404, + INTERNAL_SERVER_ERROR = 500, + SERVICE_UNAVAILABLE = 503 +} \ No newline at end of file diff --git a/wcs_web/src/interface/api/AppServeDataResponse.ts b/wcs_web/src/interface/api/AppServeDataResponse.ts new file mode 100644 index 0000000..60c28de --- /dev/null +++ b/wcs_web/src/interface/api/AppServeDataResponse.ts @@ -0,0 +1,6 @@ +import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts"; + +// 带数据的服务响应 +export interface AppServeDataResponse extends AppServeResponse { + data?: T; // 返回数据 +} \ No newline at end of file diff --git a/wcs_web/src/interface/api/AppServeResponse.ts b/wcs_web/src/interface/api/AppServeResponse.ts new file mode 100644 index 0000000..ac87452 --- /dev/null +++ b/wcs_web/src/interface/api/AppServeResponse.ts @@ -0,0 +1,5 @@ +// 应用服务的普通响应 +export interface AppServeResponse { + code: number; // 响应码 + msg: string; // 响应信息 +} \ No newline at end of file diff --git a/wcs_web/src/interface/api/PageDataResponse.ts b/wcs_web/src/interface/api/PageDataResponse.ts new file mode 100644 index 0000000..c9f02da --- /dev/null +++ b/wcs_web/src/interface/api/PageDataResponse.ts @@ -0,0 +1,7 @@ + +export interface PageDataResponse { + pageIndex?: number; + pageSize?: number; + totalCount?: number; + data?: T[] +} \ No newline at end of file diff --git a/wcs_web/src/interface/app/IAppMenuList.ts b/wcs_web/src/interface/app/IAppMenuList.ts new file mode 100644 index 0000000..d6d6a5a --- /dev/null +++ b/wcs_web/src/interface/app/IAppMenuList.ts @@ -0,0 +1,15 @@ +// 菜单接口 +export interface IAppMenuList { + MainMenuId: string, + mainMenuName: string, + MainMenuIcon: string, + minorMenu: IAppMinorMenuList[] + +} + +export interface IAppMinorMenuList { + minorMenuId: string, + minorMenuName: string, + minorMenuIcon: string, + routerName: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/app/IAppTabs.ts b/wcs_web/src/interface/app/IAppTabs.ts new file mode 100644 index 0000000..e834de8 --- /dev/null +++ b/wcs_web/src/interface/app/IAppTabs.ts @@ -0,0 +1,6 @@ +// 程序的tab数据 +export default interface IAppTabs { + tabName: string, + tabLabel: string, + tabRouterName: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/app/IMenuPermission.ts b/wcs_web/src/interface/app/IMenuPermission.ts new file mode 100644 index 0000000..7063a8b --- /dev/null +++ b/wcs_web/src/interface/app/IMenuPermission.ts @@ -0,0 +1,9 @@ +// pinia 用的菜单权限 +export interface IMenuPermission { + menuId?: string, + menuName?: string, + menuLevel?: number, + fatherMenuId?: string, + menuIco?: string, + routerName?: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/app/IPagination.ts b/wcs_web/src/interface/app/IPagination.ts new file mode 100644 index 0000000..b0b0b66 --- /dev/null +++ b/wcs_web/src/interface/app/IPagination.ts @@ -0,0 +1,6 @@ + +export interface IPagination { + total: number; + pageIndex: number; + pageSize: number; +} \ No newline at end of file diff --git a/wcs_web/src/interface/app/ITagStyle.ts b/wcs_web/src/interface/app/ITagStyle.ts new file mode 100644 index 0000000..2eeb572 --- /dev/null +++ b/wcs_web/src/interface/app/ITagStyle.ts @@ -0,0 +1,11 @@ +export interface IStringValueTagStyle { + value?: string, + type?: string, + label?: string, +} + +export interface INumberValueTagStyle { + value?: number, + type?: string, + label?: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/app/IThisUserInfo.ts b/wcs_web/src/interface/app/IThisUserInfo.ts new file mode 100644 index 0000000..bdd00ba --- /dev/null +++ b/wcs_web/src/interface/app/IThisUserInfo.ts @@ -0,0 +1,10 @@ +// 当前登录的用户 +export interface IThisUserInfo { + userId?: string, + userName?: string, + userLevel?: number, + userGroup?: string, + userGroupName?: string, + groupLevel?: number, + LastLoginTime?: Date | null, +} \ No newline at end of file diff --git a/wcs_web/src/interface/custom/IStackerLocationInfo.ts b/wcs_web/src/interface/custom/IStackerLocationInfo.ts new file mode 100644 index 0000000..817004a --- /dev/null +++ b/wcs_web/src/interface/custom/IStackerLocationInfo.ts @@ -0,0 +1,9 @@ +// 堆垛机位置信息 +export default interface IStackerLocationInfo { + locationId?: string, + row?: number, + line?: number, + layer?: number, + depth?: number, + status?: number, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/api/IApiQueryReq.ts b/wcs_web/src/interface/page/api/IApiQueryReq.ts new file mode 100644 index 0000000..9b42cff --- /dev/null +++ b/wcs_web/src/interface/page/api/IApiQueryReq.ts @@ -0,0 +1,5 @@ + +export interface IApiQueryReq { + apiKey?: string; + apiName?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/config/IConfigSearch.ts b/wcs_web/src/interface/page/config/IConfigSearch.ts new file mode 100644 index 0000000..0125c4f --- /dev/null +++ b/wcs_web/src/interface/page/config/IConfigSearch.ts @@ -0,0 +1,4 @@ +export interface IConfigSearch { + configKey?: string; + configName?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/convey/IConveyCheckStandSearch.ts b/wcs_web/src/interface/page/convey/IConveyCheckStandSearch.ts new file mode 100644 index 0000000..ba7b317 --- /dev/null +++ b/wcs_web/src/interface/page/convey/IConveyCheckStandSearch.ts @@ -0,0 +1,8 @@ +/** + * 查询输送线复核站台的查询参数 + */ +export interface IConveyCheckStandSearch { + standId? : string; + areaId? : string; + standStatus?: number; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/convey/IConveyLocationSearch.ts b/wcs_web/src/interface/page/convey/IConveyLocationSearch.ts new file mode 100644 index 0000000..ee0a5cd --- /dev/null +++ b/wcs_web/src/interface/page/convey/IConveyLocationSearch.ts @@ -0,0 +1,9 @@ + +export interface IConveyLocationSearch { + locationId?: string; + businessLocationId?: string; + locationName?: string; + locationStatus?: number; + locationType?: number; + areaId?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/convey/IConveyPickStandSearch.ts b/wcs_web/src/interface/page/convey/IConveyPickStandSearch.ts new file mode 100644 index 0000000..8903ced --- /dev/null +++ b/wcs_web/src/interface/page/convey/IConveyPickStandSearch.ts @@ -0,0 +1,8 @@ +// 查询输送线捡货站台的查询参数 +export interface IConveyPickStandSearch { + standId? : string; + areaId? : string; + standStatus?: number; + standType?: number; + +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/convey/IConveyTaskQuery.ts b/wcs_web/src/interface/page/convey/IConveyTaskQuery.ts new file mode 100644 index 0000000..d84ef61 --- /dev/null +++ b/wcs_web/src/interface/page/convey/IConveyTaskQuery.ts @@ -0,0 +1,12 @@ + +export interface IConveyTaskQuery { + taskId?: string, + vehicleNo?: string, + location?: string, + arriveLocation?: string, + plcTaskId?: string, + taskStatus?: number, + taskType?: number, + createTimeRange?: Date[], + arriveTimeRange?: Date[], +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/convey/IConveyTaskReportReq.ts b/wcs_web/src/interface/page/convey/IConveyTaskReportReq.ts new file mode 100644 index 0000000..d749bb9 --- /dev/null +++ b/wcs_web/src/interface/page/convey/IConveyTaskReportReq.ts @@ -0,0 +1,5 @@ + +export interface IConveyTaskReportReq { + taskId?: string; + arriveLocation?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/error/IErrorBaseSearch.ts b/wcs_web/src/interface/page/error/IErrorBaseSearch.ts new file mode 100644 index 0000000..66d5207 --- /dev/null +++ b/wcs_web/src/interface/page/error/IErrorBaseSearch.ts @@ -0,0 +1,8 @@ +// 报警基础资料搜索 +export interface IErrorBaseSearch { + equipmentType?: number; + code?: string; + errorType?: number; + errorLevel?: number; + message?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/etagController/IEtagControllerQuery.ts b/wcs_web/src/interface/page/etagController/IEtagControllerQuery.ts new file mode 100644 index 0000000..905078f --- /dev/null +++ b/wcs_web/src/interface/page/etagController/IEtagControllerQuery.ts @@ -0,0 +1,5 @@ +// 控制器查询参数 +export interface IEtagControllerQuery { + controllerName?: string; + ip?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/etagLocation/IEtagLocationQuery.ts b/wcs_web/src/interface/page/etagLocation/IEtagLocationQuery.ts new file mode 100644 index 0000000..383721a --- /dev/null +++ b/wcs_web/src/interface/page/etagLocation/IEtagLocationQuery.ts @@ -0,0 +1,9 @@ +/** + * 货位标签位置查询参数 + */ +export interface IEtagLocationQuery { + location?: string; // 货位号 + tagName?: string; // 标签名称 + locationType?: number; // 货位类型 + stand?: string; // 站台 +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/etagTag/IEtagTagQuery.ts b/wcs_web/src/interface/page/etagTag/IEtagTagQuery.ts new file mode 100644 index 0000000..e24c334 --- /dev/null +++ b/wcs_web/src/interface/page/etagTag/IEtagTagQuery.ts @@ -0,0 +1,12 @@ +/** + * 标签查询参数 + */ +export interface IEtagTagQuery { + controllerId?: number; // 控制器ID + tagName?: string; // 标签名称 + tagId?: number; // 标签编号 + tagType?: number; // 标签类型 + businessType?: number; // 业务类型 + tunnelNo?: string; // 巷道编号 + areaId?: string; // 区域号 +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/etagTask/IEtagTaskQuery.ts b/wcs_web/src/interface/page/etagTask/IEtagTaskQuery.ts new file mode 100644 index 0000000..18244ff --- /dev/null +++ b/wcs_web/src/interface/page/etagTask/IEtagTaskQuery.ts @@ -0,0 +1,12 @@ +/** + * 查询电子标签任务接口 + */ +export interface IEtagTaskQuery { + taskId?: string; // 任务ID + taskGroup?: string; // 任务组ID + taskType?: string; // 任务类型 + vehicleNo?: string; // 载具号 + goodsId?: string; // 商品ID + taskStatus?: string; // 任务状态 + createTime?: Date[]; // 创建时间 +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/fileManage/IFileNameList.ts b/wcs_web/src/interface/page/fileManage/IFileNameList.ts new file mode 100644 index 0000000..1b1fcb7 --- /dev/null +++ b/wcs_web/src/interface/page/fileManage/IFileNameList.ts @@ -0,0 +1,4 @@ +// 文件名称列表 +export interface IFileNameList { + fileName: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/ICpuDataVo.ts b/wcs_web/src/interface/page/home/ICpuDataVo.ts new file mode 100644 index 0000000..2d1b303 --- /dev/null +++ b/wcs_web/src/interface/page/home/ICpuDataVo.ts @@ -0,0 +1,9 @@ + +export interface ICpuDataVo { + + cpuCores?: number, + userUseRatio?: string, + systemUseRatio?: string, + totalUseRatio?: string, + freeRatio?: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/IDiskDataVo.ts b/wcs_web/src/interface/page/home/IDiskDataVo.ts new file mode 100644 index 0000000..0199c61 --- /dev/null +++ b/wcs_web/src/interface/page/home/IDiskDataVo.ts @@ -0,0 +1,8 @@ + +export interface IDiskDataVo { + diskPath?: string, + diskType?: string, + totalSize?: string, + freeSize?: string, + +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/IJvmDataVo.ts b/wcs_web/src/interface/page/home/IJvmDataVo.ts new file mode 100644 index 0000000..4fce83e --- /dev/null +++ b/wcs_web/src/interface/page/home/IJvmDataVo.ts @@ -0,0 +1,11 @@ + +export interface IJvmDataVo { + jvmName?: string, + javaVersion?: string, + startTime?: string, + runTime?: string, + jvmPath?: string, + startPath?: string, + startArgs?: string[], + +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/IMemoryDataVo.ts b/wcs_web/src/interface/page/home/IMemoryDataVo.ts new file mode 100644 index 0000000..250125f --- /dev/null +++ b/wcs_web/src/interface/page/home/IMemoryDataVo.ts @@ -0,0 +1,7 @@ + +export interface IMemoryDataVo { + total?: string, + used?: string, + free?: string, + usage?: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/IServeDataVo.ts b/wcs_web/src/interface/page/home/IServeDataVo.ts new file mode 100644 index 0000000..9c35435 --- /dev/null +++ b/wcs_web/src/interface/page/home/IServeDataVo.ts @@ -0,0 +1,7 @@ + +export interface IServeDataVo { + serveName?: string, + serveIp?: string, + systemName?: string, + systemVersion?: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/ISystemEventVo.ts b/wcs_web/src/interface/page/home/ISystemEventVo.ts new file mode 100644 index 0000000..cd288b4 --- /dev/null +++ b/wcs_web/src/interface/page/home/ISystemEventVo.ts @@ -0,0 +1,5 @@ + +export interface ISystemEventVo { + eventTime: string, + eventMsg: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/ISystemInfoVo.ts b/wcs_web/src/interface/page/home/ISystemInfoVo.ts new file mode 100644 index 0000000..60275d5 --- /dev/null +++ b/wcs_web/src/interface/page/home/ISystemInfoVo.ts @@ -0,0 +1,14 @@ +import type {IServeDataVo} from "@/interface/page/home/IServeDataVo.ts"; +import type {IMemoryDataVo} from "@/interface/page/home/IMemoryDataVo.ts"; +import type {ICpuDataVo} from "@/interface/page/home/ICpuDataVo.ts"; +import type {IDiskDataVo} from "@/interface/page/home/IDiskDataVo.ts"; +import type {IJvmDataVo} from "@/interface/page/home/IJvmDataVo.ts"; + +export interface ISystemInfoVo { + systemRunningTime?: string, + cpuData?: ICpuDataVo, + memoryData?: IMemoryDataVo, + diskData?: IDiskDataVo[], + serveData?: IServeDataVo, + jvmData?: IJvmDataVo, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/home/ISystemNotificationVo.ts b/wcs_web/src/interface/page/home/ISystemNotificationVo.ts new file mode 100644 index 0000000..40f4be1 --- /dev/null +++ b/wcs_web/src/interface/page/home/ISystemNotificationVo.ts @@ -0,0 +1,6 @@ +export interface ISystemNotificationVo { + title?: string, + message?: string, + type?: 'success'|'warning'|'info'|'error', + duration?: number +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/led/ILedBaseSearch.ts b/wcs_web/src/interface/page/led/ILedBaseSearch.ts new file mode 100644 index 0000000..22e1414 --- /dev/null +++ b/wcs_web/src/interface/page/led/ILedBaseSearch.ts @@ -0,0 +1,11 @@ +/** + * 查询LED基础资料的条件 + */ +export interface ILedBaseSearch { + + ledIp?: string; // led ip + location?: string; // led 位置 + ledBrand?: number; // led 品牌 + + +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/menu/IMenuSearch.ts b/wcs_web/src/interface/page/menu/IMenuSearch.ts new file mode 100644 index 0000000..2bb02c7 --- /dev/null +++ b/wcs_web/src/interface/page/menu/IMenuSearch.ts @@ -0,0 +1,6 @@ +// 菜单管理查询的数据类型 +export interface IMenuSearch { + menuId: string; + menuName: string; + menuLevel: number | null; + } \ No newline at end of file diff --git a/wcs_web/src/interface/page/plc/IPlcSearch.ts b/wcs_web/src/interface/page/plc/IPlcSearch.ts new file mode 100644 index 0000000..f6b1859 --- /dev/null +++ b/wcs_web/src/interface/page/plc/IPlcSearch.ts @@ -0,0 +1,4 @@ +export interface IPlcSearch { + plcName?: string; + plcType?: number; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/printCode/IPrintParams.ts b/wcs_web/src/interface/page/printCode/IPrintParams.ts new file mode 100644 index 0000000..0a9707a --- /dev/null +++ b/wcs_web/src/interface/page/printCode/IPrintParams.ts @@ -0,0 +1,13 @@ + +export interface IPrintParams { + + startString?: string; // 起始字符串 + endString?: string; // 结束字符串 + numberLength: number; // 编号长度 + startNo: number; // 起始编号 + tagCount: number; // 标签数量 + printCount: number; // 打印数量 + + + +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/quartz/IQuartzSearch.ts b/wcs_web/src/interface/page/quartz/IQuartzSearch.ts new file mode 100644 index 0000000..8e1d11d --- /dev/null +++ b/wcs_web/src/interface/page/quartz/IQuartzSearch.ts @@ -0,0 +1,5 @@ + +export interface IQuartzSearch { + className?: string; + jobDesc?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/recordApi/IRecordApiRequestSearch.ts b/wcs_web/src/interface/page/recordApi/IRecordApiRequestSearch.ts new file mode 100644 index 0000000..ffd1f57 --- /dev/null +++ b/wcs_web/src/interface/page/recordApi/IRecordApiRequestSearch.ts @@ -0,0 +1,6 @@ +// api请求记录查询参数 +export interface IRecordApiRequestSearch { + success?: number, + queryStr?: string, + requestTimes?: Date[], +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/recordApi/IRecordApiResponseSearch.ts b/wcs_web/src/interface/page/recordApi/IRecordApiResponseSearch.ts new file mode 100644 index 0000000..c01d272 --- /dev/null +++ b/wcs_web/src/interface/page/recordApi/IRecordApiResponseSearch.ts @@ -0,0 +1,6 @@ + +export interface IRecordApiResponseSearch { + path?: string, + queryStr?: string, + requestTimes?: Date[], +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/recordEquipmentSearch/IEquipmentErrorSearch.ts b/wcs_web/src/interface/page/recordEquipmentSearch/IEquipmentErrorSearch.ts new file mode 100644 index 0000000..34b0a49 --- /dev/null +++ b/wcs_web/src/interface/page/recordEquipmentSearch/IEquipmentErrorSearch.ts @@ -0,0 +1,7 @@ + +export interface IEquipmentErrorSearch { + equipmentType?: number; + equipmentId?: string; + errorCode?: string; + createTime?: Date[]; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/rocordScan/IRecordScanSearch.ts b/wcs_web/src/interface/page/rocordScan/IRecordScanSearch.ts new file mode 100644 index 0000000..6d2e3a0 --- /dev/null +++ b/wcs_web/src/interface/page/rocordScan/IRecordScanSearch.ts @@ -0,0 +1,6 @@ +// 扫码记录表搜索参数 +export interface IRecordScanSearch { + location?: string, + code?: string, + scanTimes?: Date[], +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/scan/IStockScanSearch.ts b/wcs_web/src/interface/page/scan/IStockScanSearch.ts new file mode 100644 index 0000000..c741d41 --- /dev/null +++ b/wcs_web/src/interface/page/scan/IStockScanSearch.ts @@ -0,0 +1,8 @@ + +export interface IStockScanSearch { + scanId?: string, + scanName?: string, + scanStatus?: number, + scanType?: number, + scanMethod?: string +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/siemensDbManage/ISiemensDbSearch.ts b/wcs_web/src/interface/page/siemensDbManage/ISiemensDbSearch.ts new file mode 100644 index 0000000..fc3e011 --- /dev/null +++ b/wcs_web/src/interface/page/siemensDbManage/ISiemensDbSearch.ts @@ -0,0 +1,6 @@ +// 西门子DB地址查询参数 +export interface ISiemensDbSearch { + dbName?: string | undefined; + dbAddress?: string; + plcId?: number; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/stacker/IStackerRunningInfo.ts b/wcs_web/src/interface/page/stacker/IStackerRunningInfo.ts new file mode 100644 index 0000000..7bc49f3 --- /dev/null +++ b/wcs_web/src/interface/page/stacker/IStackerRunningInfo.ts @@ -0,0 +1,12 @@ +/** + * 堆垛机运行信息 + */ +export interface IStackerRunningInfo { + stackerId?: number, + controlModel?: number, + deviceStatus?: number, + location?: string, + vehicleNo?: string, + plcTaskId?: number, + errorCode?: number, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/stackerLocation/IStackerLocationCreateParams.ts b/wcs_web/src/interface/page/stackerLocation/IStackerLocationCreateParams.ts new file mode 100644 index 0000000..db91a2c --- /dev/null +++ b/wcs_web/src/interface/page/stackerLocation/IStackerLocationCreateParams.ts @@ -0,0 +1,16 @@ +export default interface IStackerLocationCreateParams { + locationType?: number; + startString?: string; // 前置字符串 + laneId?: number; + machineId?: number; + lRow?: number; + lLineTotal?: number; + lLineOffset?: number; // 列偏移量 + lLineSkip?: string; + lLayerTotal?: number; + lLayerSkip?: string; + lDepthTotal?: number; + endString?: string; + locationTag?: string; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/stackerLocation/IStackerLocationSearch.ts b/wcs_web/src/interface/page/stackerLocation/IStackerLocationSearch.ts new file mode 100644 index 0000000..32f7d4f --- /dev/null +++ b/wcs_web/src/interface/page/stackerLocation/IStackerLocationSearch.ts @@ -0,0 +1,6 @@ +export default interface IStackerLocationSearch { + locationId?: number; + businessLocation?: string; + locationStatus?: number; + vehicleNo?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/stockTask/IComposeTaskSearch.ts b/wcs_web/src/interface/page/stockTask/IComposeTaskSearch.ts new file mode 100644 index 0000000..4c9cd56 --- /dev/null +++ b/wcs_web/src/interface/page/stockTask/IComposeTaskSearch.ts @@ -0,0 +1,13 @@ +export interface IComposeTaskSearch { + taskId?: string; + taskGroup?: string; + upperTaskId?: string; + vehicleNo?: string; + taskType?: number; + origin?: string; + destination?: string; + taskStatus?: number; + createTimeRange?: Date[]; + startTimeRange?: Date[]; + endTimeRange?: Date[]; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/stockTask/ICourseCalculateResult.ts b/wcs_web/src/interface/page/stockTask/ICourseCalculateResult.ts new file mode 100644 index 0000000..f4a613a --- /dev/null +++ b/wcs_web/src/interface/page/stockTask/ICourseCalculateResult.ts @@ -0,0 +1,14 @@ +/** + * 点位计算结果 + */ +export interface ICourseCalculateResult { + /** + * 点位 + */ + location?: string; + /** + * 点位类型 + */ + locationType?: string; + +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/stockTask/IReporterTaskStatusReq.ts b/wcs_web/src/interface/page/stockTask/IReporterTaskStatusReq.ts new file mode 100644 index 0000000..012e95a --- /dev/null +++ b/wcs_web/src/interface/page/stockTask/IReporterTaskStatusReq.ts @@ -0,0 +1,6 @@ +// 上报任务状态的请求 +export interface ReporterTaskStatusReq { + taskId?: string; + message?: string; + destination?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/stockTask/ISingleTaskSearch.ts b/wcs_web/src/interface/page/stockTask/ISingleTaskSearch.ts new file mode 100644 index 0000000..c5d5b3b --- /dev/null +++ b/wcs_web/src/interface/page/stockTask/ISingleTaskSearch.ts @@ -0,0 +1,14 @@ +export default interface ISingleTaskSearch { + taskId?: string; + taskGroup?: string; + plcTaskId?: string; + executeMachine?: number; + upperTaskId?: string; + vehicleNo?: string; + taskType?: number; + origin?: string; + destination?: string; + taskStatus?: number; + createTimeRange?: Date[]; + endTimeRange?: Date[]; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/trayConvey/IConveyPlcStatus.ts b/wcs_web/src/interface/page/trayConvey/IConveyPlcStatus.ts new file mode 100644 index 0000000..e1a287f --- /dev/null +++ b/wcs_web/src/interface/page/trayConvey/IConveyPlcStatus.ts @@ -0,0 +1,13 @@ +// 输送机状态数据,从PLC读取的 +export interface IConveyPlcStatus { + conveyNo?: number, // 输送机编号 + plcTaskId?: number, // PLC任务编号 + taskAllow?: number, // 允许任务 + controllerModel?: number, // 控制模式 + conveyStatus?: number, // 输送机状态 + haveAgv?: number, + vehicleSize?: number, // 运载尺寸 + vehicleWeight?: number, // 运载重量 + errorCode?: number, // 错误码 + vehicleCode?: string, // 条码 +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/trayConvey/ITrayConveyLocationSearch.ts b/wcs_web/src/interface/page/trayConvey/ITrayConveyLocationSearch.ts new file mode 100644 index 0000000..20c595a --- /dev/null +++ b/wcs_web/src/interface/page/trayConvey/ITrayConveyLocationSearch.ts @@ -0,0 +1,9 @@ +// 托盘库位查询参数 +export interface ITrayConveyLocationSearch { + locationId?: string; + businessLocationId?: string; + locationName?: string; + locationStatus?: number; + locationType?: number; + areaId?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/user/IAppUserPo.ts b/wcs_web/src/interface/page/user/IAppUserPo.ts new file mode 100644 index 0000000..3f4971d --- /dev/null +++ b/wcs_web/src/interface/page/user/IAppUserPo.ts @@ -0,0 +1,14 @@ +export default interface IAppUserPo { + userId?: string; + userName?: string; + userPwd?: string; + userStatus?: number; + userLevel?: number; + createTime?: Date; + updateTime?: Date; + userGroup?: string; + online?: number; + sex?: number; + photo?: string; + lastLoginTime?: Date; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/user/ILocalUserData.ts b/wcs_web/src/interface/page/user/ILocalUserData.ts new file mode 100644 index 0000000..1064449 --- /dev/null +++ b/wcs_web/src/interface/page/user/ILocalUserData.ts @@ -0,0 +1,9 @@ + +export interface ILocalUserData { + userId?: string; + userName?: string; + oldPwd?: string; + newPwd?: string; + sex?: number; + photo?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/user/ILoginResponse.ts b/wcs_web/src/interface/page/user/ILoginResponse.ts new file mode 100644 index 0000000..6096a66 --- /dev/null +++ b/wcs_web/src/interface/page/user/ILoginResponse.ts @@ -0,0 +1,9 @@ +// 登录响应的接口 +export interface ILoginResponse { + token?: string; + userId?: string; + userName?: string; + userLevel?: number; + userGroup?: string; + lastLoginTime?: Date | null; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/user/ILoginUser.ts b/wcs_web/src/interface/page/user/ILoginUser.ts new file mode 100644 index 0000000..089a565 --- /dev/null +++ b/wcs_web/src/interface/page/user/ILoginUser.ts @@ -0,0 +1,5 @@ +// 登录用户接口 +export interface ILoginUser { + userId: string, + password: string +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/user/IPermissionResponse.ts b/wcs_web/src/interface/page/user/IPermissionResponse.ts new file mode 100644 index 0000000..540afe8 --- /dev/null +++ b/wcs_web/src/interface/page/user/IPermissionResponse.ts @@ -0,0 +1,18 @@ +// 权限响应 +export interface IPermissionResponse { + userId: string, // 用户ID + userName: string, + userGroup: string, + userLevel?: number, + groupLevel: number, + userMenuPermission: IUserMenuPermission[] +} + +export interface IUserMenuPermission { + menuId: string, + menuName: string, + menuLevel: number, + fatherMenuId: string, + menuIco: string, + routerName: string, +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/user/IUpdateUserData.ts b/wcs_web/src/interface/page/user/IUpdateUserData.ts new file mode 100644 index 0000000..08cb14a --- /dev/null +++ b/wcs_web/src/interface/page/user/IUpdateUserData.ts @@ -0,0 +1,14 @@ +export default interface IUpdateUserData { + userId?: string; + userName?: string; + userPwd?: string; + userStatus?: number; + userLevel?: number; + createTime?: Date; + updateTime?: Date; + userGroup?: string; + online?: number; + sex?: number; + photo?: string; + lastLoginTime?: Date; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/user/IUserSearch.ts b/wcs_web/src/interface/page/user/IUserSearch.ts new file mode 100644 index 0000000..25a6180 --- /dev/null +++ b/wcs_web/src/interface/page/user/IUserSearch.ts @@ -0,0 +1,4 @@ +export interface IUserSearch { + userId?: string; + userName?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/userGroup/IGroupPermission.ts b/wcs_web/src/interface/page/userGroup/IGroupPermission.ts new file mode 100644 index 0000000..b07a205 --- /dev/null +++ b/wcs_web/src/interface/page/userGroup/IGroupPermission.ts @@ -0,0 +1,11 @@ + +export interface IGroupPermission { + menuId?: string; + menuName?: string; + children?: IGroupPermissionMinorMenu[]; +} + +export interface IGroupPermissionMinorMenu { + menuId?: string; + menuName?: string; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/userGroup/IQueryUserGroupPermissionData.ts b/wcs_web/src/interface/page/userGroup/IQueryUserGroupPermissionData.ts new file mode 100644 index 0000000..b2a486e --- /dev/null +++ b/wcs_web/src/interface/page/userGroup/IQueryUserGroupPermissionData.ts @@ -0,0 +1,12 @@ + +export interface IQueryUserGroupPermissionData { + menuId?: string; + menuName?: string; + menuLevel?: number; + fatherMenuId?: string; + menuStatus?: number; + menuIco?: string; + routerName?: string; + createTime?: Date; + updateTime?: Date; +} \ No newline at end of file diff --git a/wcs_web/src/interface/page/userGroup/IUpdatePermissionReq.ts b/wcs_web/src/interface/page/userGroup/IUpdatePermissionReq.ts new file mode 100644 index 0000000..efc7c32 --- /dev/null +++ b/wcs_web/src/interface/page/userGroup/IUpdatePermissionReq.ts @@ -0,0 +1,5 @@ + +export interface IUpdatePermissionReq{ + userGroup?: string; + permissionList?: string[]; +} \ No newline at end of file diff --git a/wcs_web/src/locale/en.ts b/wcs_web/src/locale/en.ts new file mode 100644 index 0000000..0f4da61 --- /dev/null +++ b/wcs_web/src/locale/en.ts @@ -0,0 +1,148 @@ +// 英文语言包 +export default { + app: { + applicationName: 'Warehouse Control System', + version: 'Version' + }, + login: { + username: 'UserName', + password: 'Password', + login: 'Login', + codePrinter: 'codePrinter', + loginWithOther: 'loginWithOther', + runningMessage: 'runningMessage' + }, + baseButton: { + cancel: 'Cancel', + confirm: 'Confirm', + close: 'Close', + reset: 'Reset', + resetInput: 'ResetInput', + save: 'Save', + edit: 'Edit', + delete: 'Delete', + add: 'Add', + addRecord: 'addRecord', + refresh: 'Reflush', + queryOrReflush: 'Query/Reflush', + query: 'Query', + detail: 'Detail', + export: 'Export', + import: 'Import', + download: 'download', + debug: 'debug', + }, + baseColName: { + id: 'ID', + createTime: 'CreateTime', + updateTime: 'UpdateTime', + remark: 'remark', + action: 'Action', + }, + baseTip: { + error: 'Error', + success: 'Success', + warning: 'Warning', + confirm: 'Confirm', + confirmTip: 'Are you sure?', + plcIdMatchedTip: 'this plcId must be contains as base plc', + isRequired: 'is required', + }, + mainPage: { + mainMenu: 'Main Menu', + homeTabName: 'Home', + systemRunningTime: 'SystemRunningTime', + cpuUsage: 'CpuUsage', + memoryUsage: 'MemoryUsage', + memoryUsageSize: 'memoryUsageSize', + serverName: 'serverName', + serverIp: 'serverIp', + serverSystemName: 'serverSystemName', + serverSystemVersion: 'serverSystemVersion' + }, + tabPage: { + stackerManage: { + title: 'StackerManage', + stackerName: 'StackerName', + standConfig: 'StandConfig', + addStacker: 'AddStacker', + stackerRunningInfo: 'Stacker Running Info' + }, + fileManage: { + title: 'FileManage', + tableCol: { + fileName: 'fileName' + } + }, + siemensDbManage: { + title: 'Siemens DB Manage', + dbName: 'dbName', + dbAddress: 'dbAddress', + plcId: 'plcId', + reloadDb: 'ReloadDB', + addSiemensDbBaseData: 'Add Siemens DB', + editSiemensDbBaseData: 'Edit Siemens DB', + }, + etagController: { + title: 'Etag Controller Manage', + controllerName: 'Controller Name', + controllerIp: 'Controller IP', + controllerId: 'Controller ID', + type: 'Type', + status: 'Status', + ip: 'IP', + port: 'Port', + addEtagController: 'Add Etag Controller', + editEtagController: 'Edit Etag Controller', + debugEtagController: 'Debug Etag Controller', + }, + etagTag: { // 电子标签ID管理 + title: 'Etag Tag Manage', + tagName: 'Tag Name', + tagId: 'Tag Id', + tagType: 'Tag Type', + businessType: 'Business Type', + controllerId: 'Controller Id', + areaId: 'Area Id', + tunnelNo: 'Tunnel No', + addEtagTag: 'Add Etag Tag', + editEtagTag: 'Edit Etag Tag', + }, + etagLocation: { // 电子标签位置管理 + title: 'Etag Location Manage', + recordId: 'Record Id', + location: 'Location', + tagName: 'Tag Name', + locationType: 'Location Type', + stand: 'Stand', + remark: 'Remark', + addEtagLocation: 'Add Etag Location', + editEtagLocation: 'Edit Etag Location', + }, + etagTask: { // 电子标签任务管理 + title: 'Etag Task Manage', + titleBak: 'History Etag Task Manage', + taskId: 'Task ID', + taskGroup: 'Task Group', + taskType: 'Task Type', + vehicleNo: 'Vehicle No.', + orderId: 'Order ID', + location: 'Location', + goodsId: 'Goods ID', + goodsName: 'Goods Name', + lightNum: 'Light Number', + confirmNum: 'Confirm Number', + taskStatus: 'Task Status', + lightModel: 'Light Model', + taskSource: 'Task Source', + createPerson: 'Create Person', + createTime: 'Create Time', + lightTime: 'Light Time', + confirmTime: 'Confirm Time', + confirmPerson: 'Confirm Person', + completeTime: 'Complete Time', + addEtagTask: 'Add Etag Task', + editEtagTask: 'Edit Etag Task' + } + } +} \ No newline at end of file diff --git a/wcs_web/src/locale/index.ts b/wcs_web/src/locale/index.ts new file mode 100644 index 0000000..1b762fe --- /dev/null +++ b/wcs_web/src/locale/index.ts @@ -0,0 +1,25 @@ +import { createI18n } from 'vue-i18n' + +// 自己的语言配置 +import enLocale from './en' +import zhLocale from './zh-cn' + +// 语言配置整合 +const messages = { + 'en':{ + ...enLocale + }, + 'zh-cn':{ + ...zhLocale + } +} + +// 创建 i18n +const i18n = createI18n({ + legacy: false, + globalInjection:true, // 全局模式,可以直接使用 $t + locale: 'zh-cn', + messages: messages +}) + +export default i18n \ No newline at end of file diff --git a/wcs_web/src/locale/zh-cn.ts b/wcs_web/src/locale/zh-cn.ts new file mode 100644 index 0000000..b0e90f2 --- /dev/null +++ b/wcs_web/src/locale/zh-cn.ts @@ -0,0 +1,149 @@ +// 简体中文语言包 +export default { + app: { + applicationName: 'WCS 设备控制系统', + version: '版本号' + }, + login: { + username: '用户名', + password: '密码', + login: '登 录', + codePrinter: '条码打印', + loginWithOther: '其他方式登录', + runningMessage: '运行信息' + }, + baseButton: { + cancel: '取消', + confirm: '确定', + close: '关闭', + reset: '重置', + resetInput: '重置输入', + save: '保存', + edit: '编辑', + delete: '删除', + add: '添加', + addRecord: '添加记录', + refresh: '刷新', + query: '查询', + queryOrReflush: '查询/刷新', + detail: '详情', + export: '导出', + import: '导入', + download: '下载', + debug: '调试', + }, + baseColName: { + id: '序号', + createTime: '创建时间', + updateTime: '更新时间', + remark: '备注', + action: '操作', + }, + baseTip: { + error: '错误', + success: '成功', + warning: '警告', + confirm: '确认', + confirmTip: '确定执行?', + plcIdMatchedTip: '该PlcId必须在Plc基础资料表内存在', + isRequired: '是必须项', + }, + mainPage: { + mainMenu: '主菜单', + homeTabName: '主页', + systemRunningTime: '系统运行时间', + cpuUsage: 'CPU使用率', + memoryUsage: '内存使用率', + memoryUsageSize: '内存使用量', + serverName: '服务器名称', + serverIp: '服务器IP', + serverSystemName: '服务器系统名称', + serverSystemVersion: '服务器系统版本' + }, + tabPage: { + stackerManage: { + title: '堆垛机管理', + stackerName: '堆垛机名称', + standConfig: '站台配置', + addStacker: '添加堆垛机', + stackerRunningInfo: '堆垛机运行信息' + }, + fileManage: { + title: '文件管理', + tableCol: { + fileName: '文件名' + } + }, + siemensDbManage: { + title: '西门子DB资料管理', + dbName: 'DB名称', + dbAddress: 'DB地址', + plcId: '所属PLC', + reloadDb: '重载DB配置', + addSiemensDbBaseData: '添加西门子DB基础资料', + editSiemensDbBaseData: '编辑西门子DB基础资料', + }, + etagController: { // 电子标签控制器管理 + title: '电子标签控制器管理', + controllerName: '控制器名称', + controllerIp: '控制器IP', + controllerId: '控制器ID', + type: '类型', + status: '状态', + ip: 'IP地址', + port: '端口号', + addEtagController: '添加电子标签控制器', + editEtagController: '编辑电子标签控制器', + debugEtagController: '调试电子标签控制器', + }, + etagTag: { // 电子标签ID管理 + title: '电子标签ID管理', + tagName: '标签名称', + tagId: '标签ID', + tagType: '标签类型', + businessType: '业务类型', + controllerId: '控制器ID', + areaId: '区域号', + tunnelNo: '巷道号', + addEtagTag: '添加电子标签ID', + editEtagTag: '编辑电子标签ID', + }, + etagLocation: { // 电子标签位置管理 + title: '电子标签货位管理', + recordId: '记录号', + location: '货位', + tagName: '标签名称', + locationType: '货位类型', + stand: '站台', + remark: '备注', + addEtagLocation: '添加电子标签货位', + editEtagLocation: '编辑电子标签货位', + }, + etagTask: { // 电子标签任务管理 + title: '电子标签任务管理', + titleBak: '电子标签任务管理【历史任务】', + taskId: '任务ID', + taskGroup: '任务组', + taskType: '任务类型', + vehicleNo: '载具号', + orderId: '订单号', + location: '货位', + goodsId: '物料编号', + goodsName: '物料名称', + lightNum: '点亮数量', + confirmNum: '确认数量', + taskStatus: '任务状态', + lightModel: '点亮模式', + taskSource: '任务来源', + createPerson: '创建人', + createTime: '创建时间', + lightTime: '点亮时间', + confirmTime: '确认时间', + confirmPerson: '确认人', + completeTime: '完成时间', + addEtagTask: '添加电子标签任务', + editEtagTask: '编辑电子标签任务', + report: '上报', + } + } +} \ No newline at end of file diff --git a/wcs_web/src/main.ts b/wcs_web/src/main.ts new file mode 100644 index 0000000..cb5ab84 --- /dev/null +++ b/wcs_web/src/main.ts @@ -0,0 +1,25 @@ +import './assets/main.css' +import 'element-plus/dist/index.css' +import ElementPlus from 'element-plus' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' +import i18n from '@/locale/index.ts' + +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' + +import App from './App.vue' +import router from './router' + +const app = createApp(App) +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} +app.use(ElementPlus) +const pinia = createPinia(); +pinia.use(piniaPluginPersistedstate) +app.use(pinia) +app.use(i18n) +app.use(router) + +app.mount('#app') diff --git a/wcs_web/src/model/charts/IBarPieLineDataItem.ts b/wcs_web/src/model/charts/IBarPieLineDataItem.ts new file mode 100644 index 0000000..082aaf8 --- /dev/null +++ b/wcs_web/src/model/charts/IBarPieLineDataItem.ts @@ -0,0 +1,5 @@ +// 饼图/简单柱状图/单折线图数据 项 +export interface IBarPieLineDataItem { + name: string; + value: number; +} \ No newline at end of file diff --git a/wcs_web/src/model/charts/IMultilineLineDataItem.ts b/wcs_web/src/model/charts/IMultilineLineDataItem.ts new file mode 100644 index 0000000..b9046b6 --- /dev/null +++ b/wcs_web/src/model/charts/IMultilineLineDataItem.ts @@ -0,0 +1,11 @@ +// 多条折线图的数据 +export interface IMultilineLineDataItem { + xDataList: string[]; + yDataList: IMultilineLineData[]; +} + +// 数据 +interface IMultilineLineData { + name: string; + data: number[]; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppBaseDb.ts b/wcs_web/src/model/table/IAppBaseDb.ts new file mode 100644 index 0000000..6f12a6b --- /dev/null +++ b/wcs_web/src/model/table/IAppBaseDb.ts @@ -0,0 +1,7 @@ + +export interface IAppBaseDb { + dbName?: string; + plcId?: number; + dbAddress?: string; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppBaseErrorInfo.ts b/wcs_web/src/model/table/IAppBaseErrorInfo.ts new file mode 100644 index 0000000..a46d485 --- /dev/null +++ b/wcs_web/src/model/table/IAppBaseErrorInfo.ts @@ -0,0 +1,11 @@ +// 报警基础资料 +export interface IAppBaseErrorInfo { + id?: number, + equipmentType?: number, + errCode?: string, + errLevel?: number, + errType?: number, + errMsg?: string, + suggest?: string, + remark?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppBaseLed.ts b/wcs_web/src/model/table/IAppBaseLed.ts new file mode 100644 index 0000000..b69e53a --- /dev/null +++ b/wcs_web/src/model/table/IAppBaseLed.ts @@ -0,0 +1,15 @@ +/** + * 基础LED数据表 + */ +export interface IAppBaseLed { + id?: string; // 主键 + ledIp?: string; // LED IP + ledBrand?: number; // LED品牌 + height?: number; // 高度 + width?: number; // 宽度 + colorType?: number; // 颜色类型 + location?: string; // 位置 + isExternal?: number; // 是否外部控制 + remark?: string; // 备注 + +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppBaseMenu.ts b/wcs_web/src/model/table/IAppBaseMenu.ts new file mode 100644 index 0000000..2e65c8a --- /dev/null +++ b/wcs_web/src/model/table/IAppBaseMenu.ts @@ -0,0 +1,12 @@ + +export interface IAppBaseMenu { + menuId?: string | null; + menuName?: string | null; + menuLevel?: number | null; + fatherMenuId?: string | null; + menuStatus?: number | null; + menuIco?: string | null; + routerName?: string | null; + createTime?: Date | null; + updateTime?: Date | null; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppBaseScanMethod.ts b/wcs_web/src/model/table/IAppBaseScanMethod.ts new file mode 100644 index 0000000..e867f72 --- /dev/null +++ b/wcs_web/src/model/table/IAppBaseScanMethod.ts @@ -0,0 +1,9 @@ + +export interface IAppBaseScanMethod { + methodId?: string, + methodName?: string, + methodMsg?: string, + param1Desc?: string, + param2Desc?: string, + param3Desc?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppConfigTable.ts b/wcs_web/src/model/table/IAppConfigTable.ts new file mode 100644 index 0000000..3b8a3a9 --- /dev/null +++ b/wcs_web/src/model/table/IAppConfigTable.ts @@ -0,0 +1,14 @@ + +export interface IAppConfigTable { + configKey?: string; + configName?: string; + configType?: number; + immediately?: number; + configValue?: string; + tagText?: string; + clientShow?: number; + valueType?: string; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppConveyCheckStand.ts b/wcs_web/src/model/table/IAppConveyCheckStand.ts new file mode 100644 index 0000000..b93c3b5 --- /dev/null +++ b/wcs_web/src/model/table/IAppConveyCheckStand.ts @@ -0,0 +1,14 @@ +/** + * 复核站台基础 + */ +export interface IAppConveyCheckStand { + standId?: string; + standName?: string; + plcId?: number; + standStatus?: number; + areaId?: string; + router?: number; + readArriveAddress?: string; + writeTaskAddress?: string; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppConveyLocation.ts b/wcs_web/src/model/table/IAppConveyLocation.ts new file mode 100644 index 0000000..a30005b --- /dev/null +++ b/wcs_web/src/model/table/IAppConveyLocation.ts @@ -0,0 +1,16 @@ +// 输送线点位数据模型 +export interface IAppConveyLocation { + locationId?: string; + businessLocationId?: string; + locationName?: string; + locationStatus?: number; + locationType?: number; + locationRouter?: number; + areaId?: string; + plcId?: number; + readStatusAddress?: string; + writeTaskAddress?: string; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppConveyPickStand.ts b/wcs_web/src/model/table/IAppConveyPickStand.ts new file mode 100644 index 0000000..2bdf6cd --- /dev/null +++ b/wcs_web/src/model/table/IAppConveyPickStand.ts @@ -0,0 +1,13 @@ +// 输送线捡货站台 +export interface IAppConveyPickStand { + standId?: string, + standName?: string, + plcId?: number, + areaId?: string, + standStatus?: number, + standType?: number, + router?: number, + readArriveAddress?: string, + writeTaskAddress?: string, + remark?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppConveyTask.ts b/wcs_web/src/model/table/IAppConveyTask.ts new file mode 100644 index 0000000..0acd380 --- /dev/null +++ b/wcs_web/src/model/table/IAppConveyTask.ts @@ -0,0 +1,23 @@ +export interface IAppConveyTask { + taskId?: string, + taskGroup?: string, + taskType?: number, + vehicleNo?: string, + orderId?: string, + location?: string, + size?: string, + weight?: number, + length?: number, + width?: number, + height?: number, + taskStatus?: number, + taskSource?: number, + createPerson?: string, + createTime?: Date, + updateTime?: Date, + plcId?: number, + arriveLocation?: string, + arriveTime?: Date, + completeTime?: Date, + remark?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppEtagController.ts b/wcs_web/src/model/table/IAppEtagController.ts new file mode 100644 index 0000000..7bb55fb --- /dev/null +++ b/wcs_web/src/model/table/IAppEtagController.ts @@ -0,0 +1,12 @@ +// 电子标签控制器 +export interface IAppEtagController { + controllerId?: number; + controllerName?: string; + controllerType?: string; + controllerStatus?: number; + ip?: string; + port?: number; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppEtagLocation.ts b/wcs_web/src/model/table/IAppEtagLocation.ts new file mode 100644 index 0000000..51db7bb --- /dev/null +++ b/wcs_web/src/model/table/IAppEtagLocation.ts @@ -0,0 +1,12 @@ +/** + * 电子标签货位表 + */ +export interface IAppEtagLocation { + recordId?: string; + location?: string; + tagName?: string; + locationType?: number; + stand?: string; + remark?: string; + +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppEtagTag.ts b/wcs_web/src/model/table/IAppEtagTag.ts new file mode 100644 index 0000000..1c27437 --- /dev/null +++ b/wcs_web/src/model/table/IAppEtagTag.ts @@ -0,0 +1,13 @@ +/** + * 电子标签标签信息表 + */ +export interface IAppEtagTag { + tagName?: string; + controllerId?: number; + tagId?: number; + tagType?: number; + businessType?: number; + tunnelNo?: string; + areaId?: string; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppEtagTask.ts b/wcs_web/src/model/table/IAppEtagTask.ts new file mode 100644 index 0000000..b62c139 --- /dev/null +++ b/wcs_web/src/model/table/IAppEtagTask.ts @@ -0,0 +1,23 @@ +// 电子标签任务表 +export interface IAppEtagTask { + taskId?: string; // 任务ID + taskGroup?: string; // 任务组ID + taskType?: number; // 任务类型 + vehicleNo?: string; // 载具号 + orderId?: string; // 订单ID + location?: string; // 位置 + goodsId?: string; // 商品ID + goodsName?: string; // 商品名称 + lightNum?: number; // 点亮数量 + confirmNum?: number; // 确认数量 + taskStatus?: number; // 任务状态 + lightModel?: number; // 点亮模式 + taskSource?: string; // 任务来源 + createPerson?: string; // 创建人 + createTime?: Date; // 创建时间 + lightTime?: Date; // 点亮时间 + confirmTime?: Date; // 确认时间 + confirmPerson?: string; // 确认人 + completeTime?: Date; // 完成时间 + remark?: string; // 备注 +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppStockScan.ts b/wcs_web/src/model/table/IAppStockScan.ts new file mode 100644 index 0000000..e37e270 --- /dev/null +++ b/wcs_web/src/model/table/IAppStockScan.ts @@ -0,0 +1,17 @@ +export interface IAppStockScan { + scanId?: string, + scanName?: string, + scanStatus?: number, + scanType?: number, + scanMethod?: string, + param1?: string, + param2?: string, + param3?: string, + plcId?: number, + readStatusAddress?: string, + writeTaskAddress?: string, + ledNo?: number, + createTime?: Date, + updateTime?: Date, + remark?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppTableUserGroupVo.ts b/wcs_web/src/model/table/IAppTableUserGroupVo.ts new file mode 100644 index 0000000..71683d6 --- /dev/null +++ b/wcs_web/src/model/table/IAppTableUserGroupVo.ts @@ -0,0 +1,9 @@ +// 基本 ---- 返回用户组表的数据 +export interface IAppTableUserGroupVo { + userGroup?: string; + groupName?: string; + groupLevel?: number; + groupStatus?: number; + createTime?: Date; + updateTime?: Date; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IAppTableUserVo.ts b/wcs_web/src/model/table/IAppTableUserVo.ts new file mode 100644 index 0000000..266a678 --- /dev/null +++ b/wcs_web/src/model/table/IAppTableUserVo.ts @@ -0,0 +1,13 @@ +export interface IAppTableUserVo { + userId?: string; + userName?: string; + userStatus?: number; + userLevel?: number; + createTime?: Date; + updateTime?: Date; + userGroup?: string; + online?: number; + sex?: number; + photo?: string; + lastLoginTime?: Date; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IBaseApiData.ts b/wcs_web/src/model/table/IBaseApiData.ts new file mode 100644 index 0000000..097d55f --- /dev/null +++ b/wcs_web/src/model/table/IBaseApiData.ts @@ -0,0 +1,9 @@ + +export interface IBaseApiData { + apiKey?: string, + apiName?: string, + rootKey?: string, + address?: string, + tag?: string, + remark?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IComposeTaskTableData.ts b/wcs_web/src/model/table/IComposeTaskTableData.ts new file mode 100644 index 0000000..6fd6497 --- /dev/null +++ b/wcs_web/src/model/table/IComposeTaskTableData.ts @@ -0,0 +1,23 @@ +export interface IComposeTaskTableData { + taskId?: string; + taskGroup?: string; + upperTaskId?: string; + taskType?: number; + origin?: string; + destination?: string; + taskStatus?: number; + stepStatus?: number; + canCancel?: number; + priority?: number; + vehicleNo?: string; + vehicleSize?: number; + weight?: number; + createTime?: Date; + updateTime?: Date; + startTime?: Date; + completeTime?: Date; + endTime?: Date; + taskSource?: string; + createPerson?: string; + taskMsg?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IEquipmentErrorVo.ts b/wcs_web/src/model/table/IEquipmentErrorVo.ts new file mode 100644 index 0000000..346e9b9 --- /dev/null +++ b/wcs_web/src/model/table/IEquipmentErrorVo.ts @@ -0,0 +1,13 @@ +// 设备报警信息 +export interface IEquipmentErrorVo { + id?: string, + equipmentType?: number, + equipmentName?: string, + equipmentId?: string, + errorCode?: string, + errorLevel?: number, + errorType?: number, + errorMsg?: string, + createTime?: Date, + recoverTime?: Date, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IPlcTableVo.ts b/wcs_web/src/model/table/IPlcTableVo.ts new file mode 100644 index 0000000..36fa819 --- /dev/null +++ b/wcs_web/src/model/table/IPlcTableVo.ts @@ -0,0 +1,14 @@ +export interface IPlcTableVo { + plcId?: number; + plcName?: string; + plcType?: number; + plcVersion?: string; + plcStatus?: number; + ip?: string; + port?: number; + slot?: number; + rack?: number; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IQuartzTableData.ts b/wcs_web/src/model/table/IQuartzTableData.ts new file mode 100644 index 0000000..66bb866 --- /dev/null +++ b/wcs_web/src/model/table/IQuartzTableData.ts @@ -0,0 +1,9 @@ +export interface IQuartzTableData { + className?: string; + jobDesc?: string; + status?: number; + cron?: string; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IRecordApiRequestData.ts b/wcs_web/src/model/table/IRecordApiRequestData.ts new file mode 100644 index 0000000..80b0428 --- /dev/null +++ b/wcs_web/src/model/table/IRecordApiRequestData.ts @@ -0,0 +1,15 @@ +// API 请求记录表 +export interface IRecordApiRequestData { + recordId?: string, + apiKey?: string, + requestUrl?: string, + success?: number, + method?: string, + urlParam?: string, + requestMsg?: string, + responseMsg?: string, + requestTime?: Date, + responseTime?: Date, + useTime?: number, + errMsg?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IRecordApiResponseData.ts b/wcs_web/src/model/table/IRecordApiResponseData.ts new file mode 100644 index 0000000..d5dcfb1 --- /dev/null +++ b/wcs_web/src/model/table/IRecordApiResponseData.ts @@ -0,0 +1,15 @@ +export interface IRecordApiResponseData { + recordId?: string, + path?: string, + method?: string, + responseCode?: number, + mediaType?: string, + clientAddress?: string, + urlParam?: string, + requestMsg?: string, + responseMsg?: string, + requestTime?: Date, + responseTime?: Date, + useTime?: number, + errMsg?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IRecordScanData.ts b/wcs_web/src/model/table/IRecordScanData.ts new file mode 100644 index 0000000..9da629d --- /dev/null +++ b/wcs_web/src/model/table/IRecordScanData.ts @@ -0,0 +1,13 @@ +// 扫码记录表数据 +export interface IRecordScanData { + recordId?: string, + location?: string, + code?: string, + size?: string, + weight?: number, + length?: number, + width?: number, + height?: number, + scanTime?: Date, + remark?: string, +} \ No newline at end of file diff --git a/wcs_web/src/model/table/ISingleTaskTableData.ts b/wcs_web/src/model/table/ISingleTaskTableData.ts new file mode 100644 index 0000000..061a1f1 --- /dev/null +++ b/wcs_web/src/model/table/ISingleTaskTableData.ts @@ -0,0 +1,25 @@ +export default interface ISingleTaskTableData { + taskId?: string; + taskGroup?: string; + plcTaskId?: number; + upperTaskId?: string; + executeMachine?: number; + taskType?: number; + origin?: string; + destination?: string; + composeDestination?: string; + taskStatus?: number; + canCancel?: number; + priority?: number; + vehicleNo?: string; + vehicleSize?: number; + weight?: number; + createTime?: Date; + updateTime?: Date; + startTime?: Date; + completeTime?: Date; + endTime?: Date; + taskSource?: string; + createPerson?: string; + taskMsg?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IStackerInfoTableData.ts b/wcs_web/src/model/table/IStackerInfoTableData.ts new file mode 100644 index 0000000..1b371e1 --- /dev/null +++ b/wcs_web/src/model/table/IStackerInfoTableData.ts @@ -0,0 +1,18 @@ +export interface IStackerInfoTableData { + stackerId?: number; + plcId?: number; + stackerName?: string; + stackerStatus?: number; + forkStatus?: string; + allowIn?: number; + allowOut?: number; + allowMove?: number; + actionBeat?: string; + readStatusAddress?: string; + writeTaskAddress?: string; + taskConfirmAddress?: string; + taskStatusAddress?: string; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IStackerLocationTableData.ts b/wcs_web/src/model/table/IStackerLocationTableData.ts new file mode 100644 index 0000000..44a220f --- /dev/null +++ b/wcs_web/src/model/table/IStackerLocationTableData.ts @@ -0,0 +1,17 @@ +export default interface IStackerLocationTableData { + locationId?: string; + locationStatus?: number; + businessLocation?: string; + locationType?: number; + laneId?: number; + machineId?: number; + lRow?: number; + lLine?: number; + lLayer?: number; + lDepth?: number; + locationTag?: string; + vehicleNo?: string; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/model/table/IStackerStandTableData.ts b/wcs_web/src/model/table/IStackerStandTableData.ts new file mode 100644 index 0000000..a0b3822 --- /dev/null +++ b/wcs_web/src/model/table/IStackerStandTableData.ts @@ -0,0 +1,20 @@ +export default interface IStackerStandTableData { + standId?: string, + stackerId?: number, + plcId?: number, + standName?: string, + standStatus?: number, + laneId?: number, + standLocation?: string, + standXyz?: string, + areaId?: string, + allowIn?: number, + inType?: number, + allowOut?: number, + outType?: number, + readStatusAddress?: string, + writeTaskAddress?: string, + createTime?: Date, + updateTime?: Date + remark?: string +} \ No newline at end of file diff --git a/wcs_web/src/model/table/ITrayConveyTableData.ts b/wcs_web/src/model/table/ITrayConveyTableData.ts new file mode 100644 index 0000000..0f8ab51 --- /dev/null +++ b/wcs_web/src/model/table/ITrayConveyTableData.ts @@ -0,0 +1,17 @@ +// 托盘线管理的表格 数据 +export interface ITrayConveyTableData { + id?: string; + locationId?: string; + businessLocationId?: string; + locationName?: string; + locationStatus?: number; + locationType?: number; + plcId?: number; + locationXyz?: string; + areaId?: string; + readStatusAddress?: string; + writeTaskAddress?: string; + createTime?: Date; + updateTime?: Date; + remark?: string; +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/ConveyLocationTypeFormatter.ts b/wcs_web/src/plugin/formatter/ConveyLocationTypeFormatter.ts new file mode 100644 index 0000000..4890731 --- /dev/null +++ b/wcs_web/src/plugin/formatter/ConveyLocationTypeFormatter.ts @@ -0,0 +1,26 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export class ConveyLocationTypeFormatter { + locationType: INumberValueTagStyle[] = [ + {value: 0, label: '普通点', type: 'info'}, + {value: 1, label: '入库口', type: 'success'}, + {value: 2, label: '出库口', type: 'warning'}, + {value: 3, label: '捡选站台', type: 'primary'}, + {value: 4, label: '复核台', type: 'success'}, + {value: 5, label: '发货口', type: 'warning'}, + ]; + + conveyLocationTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.locationType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + + + + + + +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/ConveyPickStandTypeFormatter.ts b/wcs_web/src/plugin/formatter/ConveyPickStandTypeFormatter.ts new file mode 100644 index 0000000..747c2ec --- /dev/null +++ b/wcs_web/src/plugin/formatter/ConveyPickStandTypeFormatter.ts @@ -0,0 +1,17 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export class ConveyPickStandTypeFormatter { + + pickStandType: INumberValueTagStyle[] = [ + {value: 0, label: '箱式线站台', type: 'primary'}, + {value: 1, label: '托盘线站台', type: 'success'}, + ]; + + conveyPickStandTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.pickStandType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/ConveyTaskStatusFormatter.ts b/wcs_web/src/plugin/formatter/ConveyTaskStatusFormatter.ts new file mode 100644 index 0000000..ac03db4 --- /dev/null +++ b/wcs_web/src/plugin/formatter/ConveyTaskStatusFormatter.ts @@ -0,0 +1,22 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class ConveyTaskStatusFormatter { + + taskStatus: INumberValueTagStyle[] = [ + {value: 0, label: '新创建', type: 'info'}, + {value: 1, label: '已打印', type: 'warning'}, + {value: 2, label: '输送中', type: 'primary'}, + {value: 3, label: '已到达', type: 'success'}, + {value: 4, label: '任务异常', type: 'danger'}, + {value: 5, label: '任务超时', type: 'danger'}, + {value: 6, label: '任务取消', type: 'danger'}, + ]; + + conveyTaskStatusFormatter(value: any): INumberValueTagStyle { + const findResult = this.taskStatus.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/ConveyTaskTypeFormatter.ts b/wcs_web/src/plugin/formatter/ConveyTaskTypeFormatter.ts new file mode 100644 index 0000000..08c700b --- /dev/null +++ b/wcs_web/src/plugin/formatter/ConveyTaskTypeFormatter.ts @@ -0,0 +1,19 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class ConveyTaskTypeFormatter { + + taskType: INumberValueTagStyle[] = [ + {value: 1, label: '捡选任务', type: 'success'}, + {value: 2, label: '复核任务', type: 'warning'}, + {value: 3, label: '发货任务', type: 'primary'}, + {value: 4, label: '补货任务', type: 'info'}, + ]; + + conveyTaskTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.taskType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/ErrorBaseEquipmentTypeFormatter.ts b/wcs_web/src/plugin/formatter/ErrorBaseEquipmentTypeFormatter.ts new file mode 100644 index 0000000..b3d2fda --- /dev/null +++ b/wcs_web/src/plugin/formatter/ErrorBaseEquipmentTypeFormatter.ts @@ -0,0 +1,23 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +// 报警信息基础资料设备类型格式化 +export default class ErrorBaseEquipmentTypeFormatter { + + equipmentType: INumberValueTagStyle[] = [ + {value: 0, label: "堆垛机", type: "primary"}, + {value: 1, label: "托盘线", type: "info"}, + {value: 2, label: "箱式线", type: "success"}, + {value: 3, label: "小车", type: "warning"}, + ]; + + errorBaseEquipmentTypeFormatter(value: any): INumberValueTagStyle { + if(value == null) { + return {value: -1, label: '?', type: 'danger'}; + } + const findResult = this.equipmentType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/ErrorLevelFormatter.ts b/wcs_web/src/plugin/formatter/ErrorLevelFormatter.ts new file mode 100644 index 0000000..26164af --- /dev/null +++ b/wcs_web/src/plugin/formatter/ErrorLevelFormatter.ts @@ -0,0 +1,23 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +// 报警等级 +export default class ErrorLevelFormatter { + + errorLevel: INumberValueTagStyle[] = [ + {value: 0, label: '普通', type: 'info'}, + {value: 1, label: '注意', type: 'primary'}, + {value: 2, label: '紧急', type: 'warning'}, + {value: 3, label: '致命', type: 'danger'}, + ]; + + errorLevelTagStyleFormatter(value: any): INumberValueTagStyle { + if(!value) { + return {value: -1, label: '?', type: 'danger'}; + } + const findResult = this.errorLevel.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/ErrorTypeFormatter.ts b/wcs_web/src/plugin/formatter/ErrorTypeFormatter.ts new file mode 100644 index 0000000..c2ad520 --- /dev/null +++ b/wcs_web/src/plugin/formatter/ErrorTypeFormatter.ts @@ -0,0 +1,22 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +// 错误类型 +export default class ErrorTypeFormatter { + + errorType: INumberValueTagStyle[] = [ + {value: 0, label: '通讯异常', type: 'info'}, + {value: 1, label: '电源异常', type: 'danger'}, + {value: 2, label: '硬件异常', type: 'warning'}, + ]; + + errorTypeTagStyleFormatter(value: any): INumberValueTagStyle { + if(!value) { + return {value: -1, label: '?', type: 'danger'}; + } + const findResult = this.errorType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/EtagLocationTypeFormatter.ts b/wcs_web/src/plugin/formatter/EtagLocationTypeFormatter.ts new file mode 100644 index 0000000..39f61c6 --- /dev/null +++ b/wcs_web/src/plugin/formatter/EtagLocationTypeFormatter.ts @@ -0,0 +1,20 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +/** + * 电子标签货位类型 + */ +export default class EtagLocationTypeFormatter { + + etagLocationType: INumberValueTagStyle[] = [ + {value: 0, label: '捡货', type: 'primary'}, + {value: 1, label: '补货', type: 'success'} + ]; + + etagLocationTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.etagLocationType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value, label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/EtagTagBusinessTypeFormatter.ts b/wcs_web/src/plugin/formatter/EtagTagBusinessTypeFormatter.ts new file mode 100644 index 0000000..2cf72f7 --- /dev/null +++ b/wcs_web/src/plugin/formatter/EtagTagBusinessTypeFormatter.ts @@ -0,0 +1,34 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +/** + * 电子标签小标签的业务类型 + */ +export default class EtagTagBusinessTypeFormatter { + + tagBusinessType: INumberValueTagStyle[] = [ + { + value: 0, + type: 'info', + label: '普通' + }, + { + value: 1, + type: 'warning', + label: '区域标签' + }, + { + value: 2, + type: 'success', + label: '巷道灯' + } + ]; + + tagBusinessTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.tagBusinessType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/EtagTagTypeFormatter.ts b/wcs_web/src/plugin/formatter/EtagTagTypeFormatter.ts new file mode 100644 index 0000000..ceb7566 --- /dev/null +++ b/wcs_web/src/plugin/formatter/EtagTagTypeFormatter.ts @@ -0,0 +1,21 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class EtagTagTypeFormatter { + + etagTagType: INumberValueTagStyle[] = [ + {value: 1, label: '3位数字带按钮', type: 'warning'}, + {value: 2, label: '7位数字带按钮', type: 'primary'}, + {value: 3, label: '扫描枪', type: 'info'}, + {value: 4, label: '单色灯', type: 'success'}, + {value: 5, label: '12位数字英文带按钮', type: 'warning'}, + {value: 6, label: '12位数字中文带按钮', type: 'primary'}, + ]; + + etagTagTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.etagTagType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value, label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/EtagTaskLightModelFormatter.ts b/wcs_web/src/plugin/formatter/EtagTaskLightModelFormatter.ts new file mode 100644 index 0000000..bcb2f50 --- /dev/null +++ b/wcs_web/src/plugin/formatter/EtagTaskLightModelFormatter.ts @@ -0,0 +1,18 @@ +// 电子标签任务点亮模式 +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class EtagTaskLightModelFormatter { + + etagTaskLightModel: INumberValueTagStyle[] = [ + {value: 1, type: 'primary', label: '立即点亮'}, + {value: 2, type: 'warning', label: '需要激活'}, + ]; + + etagTaskLightModelFormatter(value: any): INumberValueTagStyle { + const findResult = this.etagTaskLightModel.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value, label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/EtagTaskStatusFormatter.ts b/wcs_web/src/plugin/formatter/EtagTaskStatusFormatter.ts new file mode 100644 index 0000000..52ae781 --- /dev/null +++ b/wcs_web/src/plugin/formatter/EtagTaskStatusFormatter.ts @@ -0,0 +1,23 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +/** + * 电子标签任务状态表 + */ +export default class EtagTaskStatusFormatter { + + etagTaskStatus: INumberValueTagStyle[] = [ + {value: 0, label: '待激活', type: 'info'}, + {value: 1, label: '待点亮', type: 'primary'}, + {value: 2, label: '点亮中', type: 'success'}, + {value: 3, label: '已确认', type: 'warning'}, + {value: 4, label: '异常', type: 'danger'}, + ]; + + etagTaskStatusFormatter(value: any): INumberValueTagStyle { + const findResult = this.etagTaskStatus.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value, label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/EtagTaskTypeFormatter.ts b/wcs_web/src/plugin/formatter/EtagTaskTypeFormatter.ts new file mode 100644 index 0000000..ba64561 --- /dev/null +++ b/wcs_web/src/plugin/formatter/EtagTaskTypeFormatter.ts @@ -0,0 +1,20 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export class EtagTaskTypeFormatter { + + etagTaskType: INumberValueTagStyle[] = [ + {value: 1, label: '捡货', type: 'success'}, + {value: 2, label: '上架', type: 'primary'}, + {value: 3, label: '盘点', type: 'warning'}, + {value: 4, label: '清点', type: 'info'}, + {value: 5, label: '其他', type: 'danger'}, + ]; + + etagTaskTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.etagTaskType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value, label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/LedBrandFormatter.ts b/wcs_web/src/plugin/formatter/LedBrandFormatter.ts new file mode 100644 index 0000000..163534b --- /dev/null +++ b/wcs_web/src/plugin/formatter/LedBrandFormatter.ts @@ -0,0 +1,19 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +/** + * LED品牌格式化器 + */ +export default class LedBrandFormatter { + + ledBrand: INumberValueTagStyle[] = [ + {value: 0, label: '灵信', type: 'primary'} + ]; + + ledBrandFormatter(value: any): INumberValueTagStyle { + const findResult = this.ledBrand.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value, label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/LedColorTypeFormatter.ts b/wcs_web/src/plugin/formatter/LedColorTypeFormatter.ts new file mode 100644 index 0000000..c094318 --- /dev/null +++ b/wcs_web/src/plugin/formatter/LedColorTypeFormatter.ts @@ -0,0 +1,21 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +/** + * LED 颜色类型 + */ +export default class LedColorTypeFormatter { + + ledColorType: INumberValueTagStyle[] = [ + {value: 1, label: '单色', type: 'primary'}, + {value: 2, label: '双色', type: 'success'}, + {value: 3, label: '三色/多色', type: 'warning'}, + ]; + + ledColorTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.ledColorType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value, label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/MenuTagStyleFormatter.ts b/wcs_web/src/plugin/formatter/MenuTagStyleFormatter.ts new file mode 100644 index 0000000..918aeae --- /dev/null +++ b/wcs_web/src/plugin/formatter/MenuTagStyleFormatter.ts @@ -0,0 +1,32 @@ +import type {IStringValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class MenuTagStyleFormatter { + + menuLevelTagStyle: IStringValueTagStyle[] = [ + {value: '1', label: '一级菜单', type: 'primary'}, + {value: '2', label: '二级菜单', type: 'info'}, + ]; + + menuStatusTagStyle: IStringValueTagStyle[] = [ + {value: '1', label: '启用', type: 'success'}, + {value: '0', label: '停用', type: 'danger'}, + ] + + // 格式化菜单等级的tag + menuLevelTagStyleFormatter(value: any) : IStringValueTagStyle { + const findResult = this.menuLevelTagStyle.find(f => f.value === value.toString()); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + // 格式化菜单状态的tag + menuStatusTagStyleFormatter(value: any) : IStringValueTagStyle { + const findResult = this.menuStatusTagStyle.find(f => f.value === value.toString()); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/PlcTypeFormatter.ts b/wcs_web/src/plugin/formatter/PlcTypeFormatter.ts new file mode 100644 index 0000000..a9a2c4f --- /dev/null +++ b/wcs_web/src/plugin/formatter/PlcTypeFormatter.ts @@ -0,0 +1,16 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class PlcTypeFormatter { + + plcTypeTagStyle: INumberValueTagStyle[] = [ + {value: 1, label: '西门子S7', type: 'primary'}, + ]; + + plcTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.plcTypeTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/PrintCodeTypeFormatter.ts b/wcs_web/src/plugin/formatter/PrintCodeTypeFormatter.ts new file mode 100644 index 0000000..2b6d41c --- /dev/null +++ b/wcs_web/src/plugin/formatter/PrintCodeTypeFormatter.ts @@ -0,0 +1,10 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +// 打印条码的格式 +export default class PrintCodeTypeFormatter { + + codeType: INumberValueTagStyle[] = [ + {value: 0, label: 'Code128', type: 'primary'}, + {value: 1, label: 'QRCode', type: 'success'}, + ] +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StackerInTypeFormatter.ts b/wcs_web/src/plugin/formatter/StackerInTypeFormatter.ts new file mode 100644 index 0000000..fdfbf6f --- /dev/null +++ b/wcs_web/src/plugin/formatter/StackerInTypeFormatter.ts @@ -0,0 +1,18 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StackerInTypeFormatter { + + inTypeTagStyle: INumberValueTagStyle[] = [ + {value: 0, label: '立即入库', type: 'primary'}, + {value: 1, label: '验证条码入库', type: 'success'} + ]; + + inTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.inTypeTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StackerLocationStatusFormatter.ts b/wcs_web/src/plugin/formatter/StackerLocationStatusFormatter.ts new file mode 100644 index 0000000..56d32b0 --- /dev/null +++ b/wcs_web/src/plugin/formatter/StackerLocationStatusFormatter.ts @@ -0,0 +1,47 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StackerLocationStatusFormatter { + + forbiddenCode: number = 9; + emptyCode: number = 0; + + stackerLocationStatusTagStyle : INumberValueTagStyle[] = [ + { + value: this.emptyCode, + type: "success", + label: "空闲", + }, + { + value: 1, + type: "primary", + label: "入库中", + }, + { + value: 2, + type: "info", + label: "出库中", + }, + { + value: 3, + type: "warning", + label: "占用", + }, + { + value: this.forbiddenCode, + type: "danger", + label: "禁用", + }, + ]; + + + + stackerLocationStatusTagStyleFormatter(value: any) : INumberValueTagStyle { + const findResult = this.stackerLocationStatusTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + + +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StockComposeStepStatusFormatter.ts b/wcs_web/src/plugin/formatter/StockComposeStepStatusFormatter.ts new file mode 100644 index 0000000..7207c69 --- /dev/null +++ b/wcs_web/src/plugin/formatter/StockComposeStepStatusFormatter.ts @@ -0,0 +1,32 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StockComposeStepStatusFormatter { + + stepStatusTagStyle: INumberValueTagStyle[] = [ + {value: 0, label: '待执行', type: 'info'}, + {value: 1, label: '执行中', type: 'primary'}, + {value: 3, label: '任务完成', type: 'success'}, + {value: 4, label: '任务取消', type: 'danger'}, + {value: 5, label: '任务异常', type: 'danger'}, + {value: 6, label: '离开起点', type: 'primary'}, + {value: 7, label: '到达终点', type: 'warning'}, + ]; + + stockComposeStepStatusFormatter(value: any): INumberValueTagStyle { + const findResult = this.stepStatusTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + +} + +// 分步状态: +// 0-待执行 +// 1-执行中 +// 3-任务完成 +// 4-任务取消 +// 5-任务异常 +// 6-离开起点 +// 7-到达终点 \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StockComposeTaskStatusFormatter.ts b/wcs_web/src/plugin/formatter/StockComposeTaskStatusFormatter.ts new file mode 100644 index 0000000..d2b086f --- /dev/null +++ b/wcs_web/src/plugin/formatter/StockComposeTaskStatusFormatter.ts @@ -0,0 +1,22 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StockComposeTaskStatusFormatter { + + taskStatusTagStyle: INumberValueTagStyle[] = [ + {value: 0, label: '待执行', type: 'info'}, + {value: 1, label: '排队中', type: 'info'}, + {value: 2, label: '执行中', type: 'primary'}, + {value: 3, label: '任务完成', type: 'success'}, + {value: 4, label: '任务取消', type: 'danger'}, + {value: 5, label: '任务异常', type: 'danger'}, + {value: 6, label: '任务超时', type: 'warning'}, + ]; + + stockComposeTaskStatusFormatter(value: any): INumberValueTagStyle { + const findResult = this.taskStatusTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} diff --git a/wcs_web/src/plugin/formatter/StockComposeTaskTypeFormatter.ts b/wcs_web/src/plugin/formatter/StockComposeTaskTypeFormatter.ts new file mode 100644 index 0000000..0898f67 --- /dev/null +++ b/wcs_web/src/plugin/formatter/StockComposeTaskTypeFormatter.ts @@ -0,0 +1,21 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StockComposeTaskTypeFormatter { + + taskTypeTagStyle: INumberValueTagStyle[] = [ + {value: 0, label: '自动', type: 'info'}, + {value: 1, label: '入库', type: 'success'}, + {value: 2, label: '出库', type: 'warning'}, + {value: 9, label: '移库', type: 'primary'}, + {value: 3, label: '输送搬运', type: 'info'} + ]; + + stockComposeTaskTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.taskTypeTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StockScanTypeFormatter.ts b/wcs_web/src/plugin/formatter/StockScanTypeFormatter.ts new file mode 100644 index 0000000..7950439 --- /dev/null +++ b/wcs_web/src/plugin/formatter/StockScanTypeFormatter.ts @@ -0,0 +1,17 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export class StockScanTypeFormatter { + + scanType: INumberValueTagStyle[] = [ + {value: 0, label: 'PLC 转发', type: 'primary'}, + {value: 1, label: 'TCP 直连', type: 'success'} + ]; + + stockScanTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.scanType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StockSingleTaskExecuteMachineFormatter.ts b/wcs_web/src/plugin/formatter/StockSingleTaskExecuteMachineFormatter.ts new file mode 100644 index 0000000..d6a6215 --- /dev/null +++ b/wcs_web/src/plugin/formatter/StockSingleTaskExecuteMachineFormatter.ts @@ -0,0 +1,20 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StockSingleTaskExecuteMachineFormatter { + + stockSingleTaskExecuteMachineTagStyle: INumberValueTagStyle[] = [ + {value: 1, label: '堆垛机', type: 'primary'}, + {value: 2, label: '输送线', type: 'info'}, + {value: 3, label: '四项车', type: 'success'}, + {value: 4, label: '货柜', type: 'warning'}, + {value: 5, label: 'RGV', type: 'danger'}, + {value: 6, label: 'AGV', type: 'warning'}, + ]; + stockSingleTaskExecuteMachineFormatter(value: any): INumberValueTagStyle { + const findResult = this.stockSingleTaskExecuteMachineTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StockSingleTaskStatusFormatter.ts b/wcs_web/src/plugin/formatter/StockSingleTaskStatusFormatter.ts new file mode 100644 index 0000000..aba8864 --- /dev/null +++ b/wcs_web/src/plugin/formatter/StockSingleTaskStatusFormatter.ts @@ -0,0 +1,22 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StockSingleTaskStatusFormatter { + + taskStatusTagStyle: INumberValueTagStyle[] = [ + {value: 0, label: '待执行', type: 'info'}, + {value: 1, label: '排队中', type: 'info'}, + {value: 2, label: '执行中', type: 'primary'}, + {value: 3, label: '任务完成', type: 'success'}, + {value: 4, label: '任务取消', type: 'danger'}, + {value: 5, label: '任务异常', type: 'danger'}, + {value: 6, label: '任务超时', type: 'warning'}, + ]; + + stockSingleTaskStatusFormatter(value: any): INumberValueTagStyle { + const findResult = this.taskStatusTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/StockSingleTaskTypeFormatter.ts b/wcs_web/src/plugin/formatter/StockSingleTaskTypeFormatter.ts new file mode 100644 index 0000000..4004944 --- /dev/null +++ b/wcs_web/src/plugin/formatter/StockSingleTaskTypeFormatter.ts @@ -0,0 +1,28 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class StockSingleTaskTypeFormatter { + + taskTypeTagStyle: INumberValueTagStyle[] = [ + {value: 0, label: '自动', type: 'info'}, + {value: 1, label: '入库', type: 'success'}, + {value: 2, label: '出库', type: 'warning'}, + {value: 9, label: '移库', type: 'primary'}, + {value: 4, label: '输送入库', type: 'info'}, + {value: 5, label: '输送出库', type: 'info'}, + {value: 6, label: '输送移动', type: 'info'}, + {value: 7, label: '输送线捡选', type: 'info'}, + {value: 8, label: '输送线复核', type: 'info'}, + {value: 11, label: 'AGV搬运', type: 'info'}, + {value: 10, label: '穿梭车任务', type: 'info'} + + + ]; + + stockSingleTaskTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.taskTypeTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/TrayConveyLocationTypeFormatter.ts b/wcs_web/src/plugin/formatter/TrayConveyLocationTypeFormatter.ts new file mode 100644 index 0000000..e5d57d2 --- /dev/null +++ b/wcs_web/src/plugin/formatter/TrayConveyLocationTypeFormatter.ts @@ -0,0 +1,17 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class TrayConveyLocationTypeFormatter { + + locationType: INumberValueTagStyle[] = [ + {value: 0, label: '普通点', type: 'primary'}, + {value: 1, label: '任务点', type: 'warning'} + ]; + + trayConveyLocationTypeFormatter(value: any): INumberValueTagStyle { + const findResult = this.locationType.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/TrueFalseTagStyleFormatter.ts b/wcs_web/src/plugin/formatter/TrueFalseTagStyleFormatter.ts new file mode 100644 index 0000000..31f488b --- /dev/null +++ b/wcs_web/src/plugin/formatter/TrueFalseTagStyleFormatter.ts @@ -0,0 +1,33 @@ +import type {INumberValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class TrueFalseTagStyleFormatter { + + trueFalseTagStyle: INumberValueTagStyle[] = [ + {value: 1, label: '是', type: 'success'}, + {value: 0, label: '否', type: 'warning'}, + ]; + + canUseTagStyle: INumberValueTagStyle[] = [ + {value: 1, label: '启用', type: 'success'}, + {value: 0, label: '停用', type: 'warning'}, + ]; + + // 格式化是否启用的tag + canUseTagStyleFormatter(value: any) : INumberValueTagStyle { + const findResult = this.canUseTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + }; + + // 格式化是否的tag + yesOrNoTagStyleFormatter(value: any) : INumberValueTagStyle { + const findResult = this.trueFalseTagStyle.find(f => f.value == value); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + } + +} \ No newline at end of file diff --git a/wcs_web/src/plugin/formatter/UserTagStyleFormatter.ts b/wcs_web/src/plugin/formatter/UserTagStyleFormatter.ts new file mode 100644 index 0000000..2b675f6 --- /dev/null +++ b/wcs_web/src/plugin/formatter/UserTagStyleFormatter.ts @@ -0,0 +1,62 @@ +import type {IStringValueTagStyle} from "@/interface/app/ITagStyle.ts"; + +export default class UserTagStyleFormatter { + + userStatusTagStyle: IStringValueTagStyle[] = [ + {value: '0', label: '待激活', type: 'info'}, + {value: '1', label: '正常', type: 'success'}, + {value: '3', label: '冻结', type: 'warning'}, + {value: '4', label: '禁用', type: 'danger'}, + ]; + + userLevelTagStyle: IStringValueTagStyle[] = [ + {value: '0', label: '普通', type: 'info'}, + {value: '1', label: '中级', type: 'success'}, + {value: '3', label: '高级', type: 'warning'}, + {value: '4', label: '顶级', type: 'danger'}, + ]; + + userOnlineTagStyle: IStringValueTagStyle[] = [ + {value: '0', label: '离线', type: 'info'}, + {value: '1', label: '在线', type: 'success'}, + ]; + + userSexTagStyle: IStringValueTagStyle[] = [ + {value: '0', label: '保密', type: 'info'}, + {value: '1', label: '男', type: 'primary'}, + {value: '2', label: '女', type: 'success'}, + ] + + // 格式化用户状态 + userStatusTagStyleFormatter(value: any) : IStringValueTagStyle { + const findResult = this.userStatusTagStyle.find(f => f.value === value.toString()); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + }; + // 格式化用户等级 + userLevelTagStyleFormatter(value: any) : IStringValueTagStyle { + const findResult = this.userLevelTagStyle.find(f => f.value === value.toString()); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + }; + // 格式化在线离线信息 + userOnlineTagStyleFormatter(value: any) : IStringValueTagStyle { + const findResult = this.userOnlineTagStyle.find(f => f.value === value.toString()); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + }; + // 格式化用户性别 + userSexTagStyleFormatter(value: any) : IStringValueTagStyle { + const findResult = this.userSexTagStyle.find(f => f.value === value.toString()); + if (findResult) { + return findResult; + } + return {value: value.toString(), label: '?' + value.toString(), type: 'danger'}; + }; +} \ No newline at end of file diff --git a/wcs_web/src/router/index.ts b/wcs_web/src/router/index.ts new file mode 100644 index 0000000..a4559f8 --- /dev/null +++ b/wcs_web/src/router/index.ts @@ -0,0 +1,79 @@ +import { createRouter, createWebHistory } from 'vue-router' +import {CookieUtils} from "@/utils/CookieUtils.ts"; +import {userStore} from "@/stores/user.ts"; +//import {menuStore} from "@/stores/menu.ts"; + +//const noPermissionRouterName = ['main','home','error']; + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { path: '/', redirect: 'login' }, + { path: '/login', name: 'login', component: () => import('@/views/layout/LoginView.vue') }, + { path: '/printCode', name: 'printCodePage', component: () => import('@/views/layout/PrintCodePage.vue') }, + { path: '/home', name: 'homePage', component: () => import('@/views/layout/HomeViewPage.vue') }, + { path: '/wcs', name: 'main', component: () => import('@/views/layout/MainView.vue'), + children: [ + { path: 'home', name: 'home', component: () => import('@/views/tabs/HomeView.vue') }, + { path: 'error', name: 'error', component: () => import('@/views/tabs/Error404View.vue') }, + { path: 'menuManage', name: 'menuManage', component: () => import('@/views/tabs/MenuManage.vue') }, + { path: 'userGroupManage', name: 'userGroupManage', component: () => import('@/views/tabs/UserGroupManage.vue') }, + { path: 'userManage', name: 'userManage', component: () => import('@/views/tabs/UserManage.vue') }, + { path: 'localUserManage', name: 'localUserManage', component: () => import('@/views/tabs/LocalUserManage.vue') }, + { path: 'configManage', name: 'configManage', component: () => import('@/views/tabs/ConfigManage.vue') }, + { path: 'quartzManage', name: 'quartzManage', component: () => import('@/views/tabs/QuartzManage.vue') }, + { path: 'stockComposeTask', name: 'stockComposeTask', component: () => import('@/views/tabs/StockComposeTask.vue') }, + { path: 'stockComposeTaskBak', name: 'stockComposeTaskBak', component: () => import('@/views/tabs/StockComposeTaskBak.vue') }, + { path: 'plcManage', name: 'plcManage', component: () => import('@/views/tabs/PlcManage.vue') }, + { path: 'stackerManage', name: 'stackerManage', component: () => import('@/views/tabs/StackerManage.vue') }, + { path: 'stackerLocationManage', name: 'stackerLocationManage', component: () => import('@/views/tabs/StackerLocationManage.vue') }, + { path: 'stockSingleTask', name: 'stockSingleTask', component: () => import('@/views/tabs/StockSingleTask.vue') }, + { path: 'stockSingleTaskBak', name: 'stockSingleTaskBak', component: () => import('@/views/tabs/StockSingleTaskBak.vue') }, + { path: 'trayConveyManage', name: 'trayConveyManage', component: () => import('@/views/tabs/TrayConveyManage.vue')}, + { path: 'conveyLocationManage', name: 'conveyLocationManage', component: () => import('@/views/tabs/ConveyLocationManage.vue')}, + { path: 'stockScanManage', name: 'stockScanManage', component: () => import('@/views/tabs/StockScanManage.vue') }, + { path: 'recordScan', name: 'recordScan', component: () => import('@/views/tabs/RecordScan.vue') }, + { path: 'recordApiRequest', name: 'recordApiRequest', component: () => import('@/views/tabs/RecordApiRequest.vue') }, + { path: 'recordApiResponse', name: 'recordApiResponse', component: () => import('@/views/tabs/RecordApiResponse.vue') }, + { path: 'apiInfoManage', name: 'apiInfoManage', component: () => import('@/views/tabs/ApiInfoManage.vue') }, + { path: 'printCode', name: 'printCode', component: () => import('@/views/tabs/PrintCode.vue') }, + { path: 'conveyTask', name: 'conveyTask', component: () => import('@/views/tabs/ConveyTask.vue') }, + { path: 'conveyTaskBak', name: 'conveyTaskBak', component: () => import('@/views/tabs/ConveyTaskBak.vue') }, + { path: 'conveyPickStand', name: 'conveyPickStand', component: () => import('@/views/tabs/ConveyPickStand.vue')}, + { path: 'conveyCheckStand', name: 'conveyCheckStand', component: () => import('@/views/tabs/ConveyCheckStand.vue')}, + { path: 'baseError', name: 'baseError', component: () => import('@/views/tabs/ErrorBase.vue')}, + { path: 'equipmentError', name: 'equipmentError', component: () => import('@/views/tabs/RecordEquipmentError.vue')}, + { path: 'ledManage', name: 'ledManage', component: () => import('@/views/tabs/LedBaseManage.vue')}, + { path: 'fileManage', name: 'fileManage', component: () => import('@/views/tabs/FileManage.vue')}, + { path: 'siemensDbManage', name: 'siemensDbManage', component: () => import('@/views/tabs/SiemensDbManage.vue')}, + { path: 'etagController', name: 'etagController', component: () => import('@/views/tabs/EtagController.vue')}, + { path: 'etagTag', name: 'etagTag', component: () => import('@/views/tabs/EtagTag.vue')}, + { path: 'etagLocation', name: 'etagLocation', component: () => import('@/views/tabs/EtagLocation.vue')}, + { path: 'etagTask', name: 'etagTask', component: () => import('@/views/tabs/EtagTask.vue')}, + { path: 'etagTagBak', name: 'etagTagBak', component: () => import('@/views/tabs/EtagTaskBak.vue')}, + ] } + + ], +}) + +router.beforeEach((to, from, next) => { + if(to.path === '/login' || to.path === '/printCode' || to.path === '/home') { + new CookieUtils().clear(); + next(); + return; + } + + const token = new CookieUtils().getItem('wcsToken'); + const userStoreInstance = userStore(); + //const menuStoreInstance = menuStore(); + //const toName = to.name?.toString(); + // if (token && userStoreInstance.getUserInfo().userId != null + // && (menuStoreInstance.getUserMenuWithRouterName(toName) || noPermissionRouterName.find(f=>f.toString() == toName))) { + if (token && userStoreInstance.getUserInfo().userId != null) { + next(); + return; + } + router.push('/login').then(r => {}); +}) + +export default router diff --git a/wcs_web/src/stores/app.ts b/wcs_web/src/stores/app.ts new file mode 100644 index 0000000..d5945c6 --- /dev/null +++ b/wcs_web/src/stores/app.ts @@ -0,0 +1,23 @@ +import {defineStore} from "pinia"; +import {ref} from "vue"; + + +export const appStore = defineStore('app', () => { + + let customerName = ref(''); + + function setCustomerName(name: string) { + customerName.value = name; + } + function getCustomerName() { + return customerName.value; + } + + return {customerName, setCustomerName, getCustomerName}; + + +}, { + persist: { + key: 'app', + } +}) \ No newline at end of file diff --git a/wcs_web/src/stores/counter.ts b/wcs_web/src/stores/counter.ts new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/wcs_web/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/wcs_web/src/stores/menu.ts b/wcs_web/src/stores/menu.ts new file mode 100644 index 0000000..9f6eef7 --- /dev/null +++ b/wcs_web/src/stores/menu.ts @@ -0,0 +1,41 @@ +import {defineStore} from "pinia"; +import type {IAppMenuList, IAppMinorMenuList} from "@/interface/app/IAppMenuList.ts"; +import {computed, reactive, ref} from "vue"; +import type {IUserMenuPermission} from "@/interface/page/user/IPermissionResponse.ts"; + +export const menuStore = defineStore('menu', + () => { + let appMenu = ref([]); + let userMenu = ref([]); + const returnMenu = computed(() => appMenu); + let selectMenu = ref(''); + function clearMenu(): void { + appMenu.value = []; + } + function setMenu(menu: IAppMenuList[]): void { + appMenu.value = menu; + } + function getMenu(): IAppMenuList[] { + return appMenu.value; + } + function resetSelectMenu(): void { + selectMenu.value = ''; + } + function setSelectedMenu(menu: string): void { + selectMenu.value = menu; + } + function setUserMenu(needUserMenu: IUserMenuPermission[]): void { + userMenu.value = needUserMenu; + } + function getUserMenuWithRouterName(routerName: string | undefined): IUserMenuPermission| undefined { + return userMenu.value.find(item => item.routerName == routerName); + } + function getUserMenuWithId(menuId: string | undefined): IUserMenuPermission| undefined { + return userMenu.value.find(item => item.menuId == menuId); + } + return {appMenu, returnMenu, selectMenu, clearMenu, setMenu, getMenu, resetSelectMenu, setSelectedMenu,setUserMenu, getUserMenuWithRouterName,getUserMenuWithId}; + }, { + persist: { + key: 'menu', + } + }) \ No newline at end of file diff --git a/wcs_web/src/stores/tabs.ts b/wcs_web/src/stores/tabs.ts new file mode 100644 index 0000000..e420d85 --- /dev/null +++ b/wcs_web/src/stores/tabs.ts @@ -0,0 +1,33 @@ +import {defineStore} from "pinia"; +import {ref} from "vue"; +import type IAppTabs from "@/interface/app/IAppTabs.ts"; + + +export const tabsStore = defineStore('tabs', () => { + let selectTab = ref('appHome'); + let appTabs = ref([]); + function setSelectTab(tabName: string) { + selectTab.value = tabName; + } + function addAppTab(tabs: IAppTabs) { + appTabs.value.push(tabs); + } + function removeAppTabWithTableName(tabName: string) { + const tab = appTabs.value.find(item => item.tabName == tabName); + if (tab) { + appTabs.value.splice(appTabs.value.indexOf(tab), 1); + } + } + function getAppTab(tabName: string) { + return appTabs.value.find(item => item.tabName == tabName); + } + function resetAppTabs() { + appTabs.value = []; + selectTab.value = 'appHome'; + } + return {selectTab, appTabs, setSelectTab, addAppTab, removeAppTabWithTableName, getAppTab,resetAppTabs}; +}, { + persist: { + key: 'tabs', + } +}) \ No newline at end of file diff --git a/wcs_web/src/stores/user.ts b/wcs_web/src/stores/user.ts new file mode 100644 index 0000000..4408c9c --- /dev/null +++ b/wcs_web/src/stores/user.ts @@ -0,0 +1,46 @@ +import {reactive, ref} from 'vue' +import { defineStore } from 'pinia' +import type {IThisUserInfo} from "@/interface/app/IThisUserInfo.ts"; +import type {IMenuPermission} from "@/interface/app/IMenuPermission.ts"; + +export const userStore = defineStore('user', () => { + let thisLoginInfo = ref({ }); + + let menuPermission = ref([]) + + // 设置用户信息 + function getUserInfo(): IThisUserInfo { + return thisLoginInfo.value; + } + // 获取用户信息 + function setUserInfo(user: IThisUserInfo): void { + thisLoginInfo.value = user; + } + + // 清除菜单信息 + function clearMenuPermission(): void { + menuPermission.value = []; + } + // 设置菜单信息 + function setMenuPermission(menuPermissions: IMenuPermission[]): void { + menuPermission.value = menuPermissions; + } + // 获取菜单信息 + function getMenuPermissions(): IMenuPermission[] { + return menuPermission.value; + } + // 判断路由名称是否存在 + function checkMenuPermission(menuRouterName: string): boolean { + if(!menuRouterName) return false; + if(!menuPermission || menuPermission.value.length < 1) return false; + const menu = menuPermission.value.find((item: IMenuPermission) => item.routerName == menuRouterName); + return menu != undefined; + } + + return {thisLoginInfo, menuPermission, getUserInfo, setUserInfo, clearMenuPermission, setMenuPermission, checkMenuPermission, getMenuPermissions}; + +}, { + persist: { + key: 'user', + } +}) \ No newline at end of file diff --git a/wcs_web/src/utils/CookieUtils.ts b/wcs_web/src/utils/CookieUtils.ts new file mode 100644 index 0000000..8a910e8 --- /dev/null +++ b/wcs_web/src/utils/CookieUtils.ts @@ -0,0 +1,82 @@ +/** 配置 */ +interface Options { + /** key前缀 */ + prefix?: string; +} +/** 默认配置 */ +const defaultOptions: Options = { + prefix: "" +}; + +class CookieUtils { + + private readonly prefix: string; + + constructor(options: Options = defaultOptions) { + const { prefix } = options; + this.prefix = prefix ?? ""; + } + + /** + * @description: 设置cookie + * @param {string} key 键 + * @param {any} value 值 + * @param {number} expires 过期时间s小时,不传默认1年有效 + */ + public setItem(key: string, value: string | number, expires?: number): void { + const timestamp = Date.now(); + if (typeof expires === "number") { + expires = timestamp + expires * 60 * 60 * 1000; + } else { + expires = timestamp + 365 * 24 * 60 * 60 * 1000; + } + document.cookie = `${this.prefix}${key}=${value};expires=${new Date(expires).toUTCString()}`; + } + + /** + * @description: 获取cookie + * @param {string} key 键 + */ + public getItem(key: string): string | undefined { + const cookies = document.cookie.split("; "); + let val: string | undefined = undefined; + cookies.find((item) => { + const [k, v] = item.split("="); + if (k === `${this.prefix}${key}`) { + val = v; + return true; + } + return false; + }); + + return val; + } + + /** + * @description: 删除指定key的cookie + * @param {string} key 键 + * @Date: 2023-05-17 18:32:56 + * @Author: mulingyuer + */ + public removeItem(key: string): void { + this.setItem(key, "", -1); + } + + /** + * @description: 清空所有cookie + * @Date: 2023-05-17 23:13:04 + * @Author: mulingyuer + */ + public clear(): void { + const cookies = document.cookie.split("; "); + cookies.forEach((item) => { + const [k] = item.split("="); + this.removeItem(k); + }); + } +} + +const cookieStorage = new CookieUtils(); + +export default cookieStorage; +export { CookieUtils }; \ No newline at end of file diff --git a/wcs_web/src/utils/FormatterUtils.ts b/wcs_web/src/utils/FormatterUtils.ts new file mode 100644 index 0000000..07f0403 --- /dev/null +++ b/wcs_web/src/utils/FormatterUtils.ts @@ -0,0 +1,36 @@ +import moment from "moment"; + +export class FormatterUtils { + static formatTime(timeString: string): string { + if (timeString === null || timeString === '') { + return '' + } + try { + return moment(timeString).format('yyyy-MM-DD HH:mm:ss') + }catch { + return timeString + } + } + + static formatCellValueTime(row:any, column:any, cellValue:any) { + if (cellValue === null || cellValue === '') { + return '' + } + try { + return moment(cellValue).format('yyyy-MM-DD HH:mm:ss') + }catch { + return cellValue + } + } + + static formatterStringToJson(json: string | undefined) { + if (json == undefined || json.trim() === '') { + return '' + } + try { + return JSON.parse(json) + } catch (error) { + return json + } + } +} \ No newline at end of file diff --git a/wcs_web/src/utils/MessageUtils.ts b/wcs_web/src/utils/MessageUtils.ts new file mode 100644 index 0000000..cab7470 --- /dev/null +++ b/wcs_web/src/utils/MessageUtils.ts @@ -0,0 +1,138 @@ +import {ElLoading, ElMessage, ElMessageBox, ElNotification, type MessageBoxData} from 'element-plus' +import type {LoadingInstance} from "element-plus/es/components/loading/src/loading"; + +export default class MessageUtils { + + // 顶部消息框 ---- 成功 + static successMessage(msg: string) : void { + ElMessage({ + message: msg, + type: 'success', + }); + } + + // 顶部消息框 ---- 警告 + static warningMessage(msg: string) : void { + ElMessage({ + message: msg, + type: 'warning', + }); + } + + + // 通知 + static showNotification(title: string, message: string, type: 'success'|'warning'|'info'|'error', duration: number) { + switch (type) { + case 'success': + this.showSuccessNotification(title, message, duration); + break; + case 'warning': + this.showWarningNotification(title, message, duration); + break; + case 'info': + this.showInfoNotification(title, message, duration); + break; + case 'error': + this.showErrorNotification(title, message, duration); + break; + default: + this.showInfoNotification(title, message, duration); + } + } + + static showSuccessNotification(title: string, message: string, duration: number) { + ElNotification({ + title: title, + message: message, + type: 'success', + duration: duration + }); + } + + static showWarningNotification(title: string, message: string, duration: number) { + ElNotification({ + title: title, + message: message, + type: 'warning', + duration: duration + }); + } + + static showInfoNotification(title: string, message: string, duration: number) { + ElNotification({ + title: title, + message: message, + type: 'info', + duration: duration + }); + } + + static showErrorNotification(title: string, message: string, duration: number) { + ElNotification({ + title: title, + message: message, + type: 'error', + duration: duration + }); + } + + // 顶部消息框 ---- 错误 + static errMessage(msg: string) : void { + ElMessage({ + message: msg, + grouping: true, + type: 'error', + }); + } + + // 顶部消息框 ---- 普通 + static infoMessage(msg: string) : void { + ElMessage(msg); + } + + // 消息弹窗 ---- 普通 + static infoMessageBox(msg: string, title: string) : void { + ElMessageBox.alert(msg, title).then(r => {}).catch(c => {}); + } + + // 成功的消息弹窗 ---- 成功 + static successMessageBox(msg: string, title: string) : void { + ElMessageBox.alert(msg, title, { + type: 'success' + }).then(r => {}).catch(c => {}); + } + + // 警告的消息弹窗 ---- 警告 + static warningMessageBox(msg: string, title: string = '警告') : void { + ElMessageBox.alert(msg, title, { + type: 'warning' + }).then(r => {}).catch(c => {}); + } + + // 错误的消息弹窗 ---- 错误 + static errMessageBox(msg: string, title: string = '发生异常') : void { + ElMessageBox.alert(msg, title, { + type: 'error' + }).then(r => {}).catch(c => {}); + } + + // 确认的消息弹窗 + static confirmMessageBox(msg: string, title: string, confirmButtonText: string = '确认', cancelButtonText: string = '取消') : Promise { + return ElMessageBox.confirm(msg, title, { + confirmButtonText: confirmButtonText, + cancelButtonText: cancelButtonText, + type: 'warning', + } + ); + } + + // 加载框 + static loading(msg: string = "请稍后") : LoadingInstance { + return ElLoading.service({ + lock: true, + text: msg, + background: 'rgba(0, 0, 0, 0.7)', + }) + } + +} \ No newline at end of file diff --git a/wcs_web/src/utils/StringUtils.ts b/wcs_web/src/utils/StringUtils.ts new file mode 100644 index 0000000..a5c93ab --- /dev/null +++ b/wcs_web/src/utils/StringUtils.ts @@ -0,0 +1,27 @@ +import { Md5 } from 'ts-md5'; + +// 字符串工具类 +export default class StringUtils { + + // 检查字符串是否为空 + static isNullOrEmpty(value: string | undefined): boolean { + return value == undefined || false || value === ''; + } + + // 计算字符串 md5 值 + static getPwdMd5(value: string) { + let ms5Result = 'WCS'; + let length = 200; + while (ms5Result.length < length) { + let mdsOnceValue : string = ''; + if(ms5Result == "WCS") { + mdsOnceValue = Md5.hashStr(value); + ms5Result = ms5Result + mdsOnceValue; + } else { + mdsOnceValue = Md5.hashStr(ms5Result); + ms5Result = ms5Result + mdsOnceValue; + } + } + return ms5Result.toUpperCase(); + } +} \ No newline at end of file diff --git a/wcs_web/src/views/layout/HomeViewPage.vue b/wcs_web/src/views/layout/HomeViewPage.vue new file mode 100644 index 0000000..9563fd8 --- /dev/null +++ b/wcs_web/src/views/layout/HomeViewPage.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/layout/LoginView.vue b/wcs_web/src/views/layout/LoginView.vue new file mode 100644 index 0000000..bd8a6d0 --- /dev/null +++ b/wcs_web/src/views/layout/LoginView.vue @@ -0,0 +1,171 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/layout/MainView.vue b/wcs_web/src/views/layout/MainView.vue new file mode 100644 index 0000000..ed557af --- /dev/null +++ b/wcs_web/src/views/layout/MainView.vue @@ -0,0 +1,134 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/layout/PrintCodePage.vue b/wcs_web/src/views/layout/PrintCodePage.vue new file mode 100644 index 0000000..fcdb0fd --- /dev/null +++ b/wcs_web/src/views/layout/PrintCodePage.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ApiInfoManage.vue b/wcs_web/src/views/tabs/ApiInfoManage.vue new file mode 100644 index 0000000..67ca444 --- /dev/null +++ b/wcs_web/src/views/tabs/ApiInfoManage.vue @@ -0,0 +1,145 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ConfigManage.vue b/wcs_web/src/views/tabs/ConfigManage.vue new file mode 100644 index 0000000..dc819e6 --- /dev/null +++ b/wcs_web/src/views/tabs/ConfigManage.vue @@ -0,0 +1,138 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ConveyCheckStand.vue b/wcs_web/src/views/tabs/ConveyCheckStand.vue new file mode 100644 index 0000000..88be691 --- /dev/null +++ b/wcs_web/src/views/tabs/ConveyCheckStand.vue @@ -0,0 +1,146 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ConveyLocationManage.vue b/wcs_web/src/views/tabs/ConveyLocationManage.vue new file mode 100644 index 0000000..e068d0a --- /dev/null +++ b/wcs_web/src/views/tabs/ConveyLocationManage.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ConveyPickStand.vue b/wcs_web/src/views/tabs/ConveyPickStand.vue new file mode 100644 index 0000000..f05f6c6 --- /dev/null +++ b/wcs_web/src/views/tabs/ConveyPickStand.vue @@ -0,0 +1,163 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ConveyTask.vue b/wcs_web/src/views/tabs/ConveyTask.vue new file mode 100644 index 0000000..dd06d53 --- /dev/null +++ b/wcs_web/src/views/tabs/ConveyTask.vue @@ -0,0 +1,200 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ConveyTaskBak.vue b/wcs_web/src/views/tabs/ConveyTaskBak.vue new file mode 100644 index 0000000..a3dcd77 --- /dev/null +++ b/wcs_web/src/views/tabs/ConveyTaskBak.vue @@ -0,0 +1,211 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/Error404View.vue b/wcs_web/src/views/tabs/Error404View.vue new file mode 100644 index 0000000..329d6b1 --- /dev/null +++ b/wcs_web/src/views/tabs/Error404View.vue @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/ErrorBase.vue b/wcs_web/src/views/tabs/ErrorBase.vue new file mode 100644 index 0000000..a9cb800 --- /dev/null +++ b/wcs_web/src/views/tabs/ErrorBase.vue @@ -0,0 +1,179 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/EtagController.vue b/wcs_web/src/views/tabs/EtagController.vue new file mode 100644 index 0000000..cb88b85 --- /dev/null +++ b/wcs_web/src/views/tabs/EtagController.vue @@ -0,0 +1,160 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/EtagLocation.vue b/wcs_web/src/views/tabs/EtagLocation.vue new file mode 100644 index 0000000..9e3873d --- /dev/null +++ b/wcs_web/src/views/tabs/EtagLocation.vue @@ -0,0 +1,144 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/EtagTag.vue b/wcs_web/src/views/tabs/EtagTag.vue new file mode 100644 index 0000000..04ca4f1 --- /dev/null +++ b/wcs_web/src/views/tabs/EtagTag.vue @@ -0,0 +1,163 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/EtagTask.vue b/wcs_web/src/views/tabs/EtagTask.vue new file mode 100644 index 0000000..435d9dd --- /dev/null +++ b/wcs_web/src/views/tabs/EtagTask.vue @@ -0,0 +1,205 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/EtagTaskBak.vue b/wcs_web/src/views/tabs/EtagTaskBak.vue new file mode 100644 index 0000000..af17fda --- /dev/null +++ b/wcs_web/src/views/tabs/EtagTaskBak.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/FileManage.vue b/wcs_web/src/views/tabs/FileManage.vue new file mode 100644 index 0000000..6d2960c --- /dev/null +++ b/wcs_web/src/views/tabs/FileManage.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/HomeView.vue b/wcs_web/src/views/tabs/HomeView.vue new file mode 100644 index 0000000..ce41af0 --- /dev/null +++ b/wcs_web/src/views/tabs/HomeView.vue @@ -0,0 +1,407 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/LedBaseManage.vue b/wcs_web/src/views/tabs/LedBaseManage.vue new file mode 100644 index 0000000..72a5563 --- /dev/null +++ b/wcs_web/src/views/tabs/LedBaseManage.vue @@ -0,0 +1,140 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/LocalUserManage.vue b/wcs_web/src/views/tabs/LocalUserManage.vue new file mode 100644 index 0000000..83591e0 --- /dev/null +++ b/wcs_web/src/views/tabs/LocalUserManage.vue @@ -0,0 +1,80 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/MenuManage.vue b/wcs_web/src/views/tabs/MenuManage.vue new file mode 100644 index 0000000..9ab2dfb --- /dev/null +++ b/wcs_web/src/views/tabs/MenuManage.vue @@ -0,0 +1,159 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/PlcManage.vue b/wcs_web/src/views/tabs/PlcManage.vue new file mode 100644 index 0000000..5aba12a --- /dev/null +++ b/wcs_web/src/views/tabs/PlcManage.vue @@ -0,0 +1,155 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/PrintCode.vue b/wcs_web/src/views/tabs/PrintCode.vue new file mode 100644 index 0000000..47de1a5 --- /dev/null +++ b/wcs_web/src/views/tabs/PrintCode.vue @@ -0,0 +1,168 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/QuartzManage.vue b/wcs_web/src/views/tabs/QuartzManage.vue new file mode 100644 index 0000000..d3f46bb --- /dev/null +++ b/wcs_web/src/views/tabs/QuartzManage.vue @@ -0,0 +1,138 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/RecordApiRequest.vue b/wcs_web/src/views/tabs/RecordApiRequest.vue new file mode 100644 index 0000000..4ca28e1 --- /dev/null +++ b/wcs_web/src/views/tabs/RecordApiRequest.vue @@ -0,0 +1,170 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/RecordApiResponse.vue b/wcs_web/src/views/tabs/RecordApiResponse.vue new file mode 100644 index 0000000..9683204 --- /dev/null +++ b/wcs_web/src/views/tabs/RecordApiResponse.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/RecordEquipmentError.vue b/wcs_web/src/views/tabs/RecordEquipmentError.vue new file mode 100644 index 0000000..b9014f4 --- /dev/null +++ b/wcs_web/src/views/tabs/RecordEquipmentError.vue @@ -0,0 +1,175 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/RecordScan.vue b/wcs_web/src/views/tabs/RecordScan.vue new file mode 100644 index 0000000..50d15ec --- /dev/null +++ b/wcs_web/src/views/tabs/RecordScan.vue @@ -0,0 +1,216 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/SiemensDbManage.vue b/wcs_web/src/views/tabs/SiemensDbManage.vue new file mode 100644 index 0000000..6126f46 --- /dev/null +++ b/wcs_web/src/views/tabs/SiemensDbManage.vue @@ -0,0 +1,145 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/StackerLocationManage.vue b/wcs_web/src/views/tabs/StackerLocationManage.vue new file mode 100644 index 0000000..80328d2 --- /dev/null +++ b/wcs_web/src/views/tabs/StackerLocationManage.vue @@ -0,0 +1,209 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/StackerManage.vue b/wcs_web/src/views/tabs/StackerManage.vue new file mode 100644 index 0000000..452efa5 --- /dev/null +++ b/wcs_web/src/views/tabs/StackerManage.vue @@ -0,0 +1,203 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/StockComposeTask.vue b/wcs_web/src/views/tabs/StockComposeTask.vue new file mode 100644 index 0000000..ba52ef0 --- /dev/null +++ b/wcs_web/src/views/tabs/StockComposeTask.vue @@ -0,0 +1,247 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/StockComposeTaskBak.vue b/wcs_web/src/views/tabs/StockComposeTaskBak.vue new file mode 100644 index 0000000..c52b290 --- /dev/null +++ b/wcs_web/src/views/tabs/StockComposeTaskBak.vue @@ -0,0 +1,254 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/StockScanManage.vue b/wcs_web/src/views/tabs/StockScanManage.vue new file mode 100644 index 0000000..5484a4c --- /dev/null +++ b/wcs_web/src/views/tabs/StockScanManage.vue @@ -0,0 +1,200 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/StockSingleTask.vue b/wcs_web/src/views/tabs/StockSingleTask.vue new file mode 100644 index 0000000..9a29761 --- /dev/null +++ b/wcs_web/src/views/tabs/StockSingleTask.vue @@ -0,0 +1,260 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/StockSingleTaskBak.vue b/wcs_web/src/views/tabs/StockSingleTaskBak.vue new file mode 100644 index 0000000..d42fa32 --- /dev/null +++ b/wcs_web/src/views/tabs/StockSingleTaskBak.vue @@ -0,0 +1,225 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/TrayConveyManage.vue b/wcs_web/src/views/tabs/TrayConveyManage.vue new file mode 100644 index 0000000..293c39b --- /dev/null +++ b/wcs_web/src/views/tabs/TrayConveyManage.vue @@ -0,0 +1,219 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/UserGroupManage.vue b/wcs_web/src/views/tabs/UserGroupManage.vue new file mode 100644 index 0000000..9098938 --- /dev/null +++ b/wcs_web/src/views/tabs/UserGroupManage.vue @@ -0,0 +1,260 @@ +// 用户组及权限管理 + + + + + \ No newline at end of file diff --git a/wcs_web/src/views/tabs/UserManage.vue b/wcs_web/src/views/tabs/UserManage.vue new file mode 100644 index 0000000..2c22eed --- /dev/null +++ b/wcs_web/src/views/tabs/UserManage.vue @@ -0,0 +1,166 @@ + + + + + \ No newline at end of file diff --git a/wcs_web/tsconfig.app.json b/wcs_web/tsconfig.app.json new file mode 100644 index 0000000..913b8f2 --- /dev/null +++ b/wcs_web/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/wcs_web/tsconfig.json b/wcs_web/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/wcs_web/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/wcs_web/tsconfig.node.json b/wcs_web/tsconfig.node.json new file mode 100644 index 0000000..a83dfc9 --- /dev/null +++ b/wcs_web/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/wcs_web/vite.config.ts b/wcs_web/vite.config.ts new file mode 100644 index 0000000..d49d708 --- /dev/null +++ b/wcs_web/vite.config.ts @@ -0,0 +1,20 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueJsx from '@vitejs/plugin-vue-jsx' +import vueDevTools from 'vite-plugin-vue-devtools' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueJsx(), + vueDevTools(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, +})

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