diff --git a/lms/nladmin-system/README.md b/lms/nladmin-system/README.md
index 1f39690..efbcf20 100644
--- a/lms/nladmin-system/README.md
+++ b/lms/nladmin-system/README.md
@@ -1,531 +1 @@
-# 荣力-马钢
-
-```java
-├── cockpit
-│ ├── controller
-│ │ └── CockPitController.java
-│ └── service
-│ ├── CockpitService.java
-│ ├── dao
-│ │ ├── PersonnelMonthlyProductionVo.java
-│ │ ├── PressProductHeaderVo.java
-│ │ ├── ProductTaskVo.java
-│ │ └── ShiftProductionVo.java
-│ ├── impl
-│ │ └── CockpitServiceImpl.java
-│ └── mapper
-│ ├── CockPitMapper.java
-│ └── CockPitMapper.xml
-├── das
-│ ├── device
-│ │ ├── check
-│ │ │ ├── controller
-│ │ │ │ └── DasDeviceCheckRecordController.java
-│ │ │ └── service
-│ │ │ ├── dao
-│ │ │ │ ├── DasDeviceCheckRecord.java
-│ │ │ │ └── mapper
-│ │ │ │ ├── DasDeviceCheckRecordMapper.java
-│ │ │ │ └── DasDeviceCheckRecordMapper.xml
-│ │ │ ├── dto
-│ │ │ │ ├── DasDeviceCheckRecordDto.java
-│ │ │ │ └── DasDeviceCheckRecordQuery.java
-│ │ │ ├── IDasDeviceCheckRecordService.java
-│ │ │ └── impl
-│ │ │ └── DasDeviceCheckRecordServiceImpl.java
-│ │ └── operation
-│ │ ├── controller
-│ │ │ └── DasDeviceOperationRecordController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── DasDeviceOperationRecord.java
-│ │ │ └── mapper
-│ │ │ ├── DasDeviceOperationRecordMapper.java
-│ │ │ └── DasDeviceOperationRecordMapper.xml
-│ │ ├── dto
-│ │ │ ├── DasDeviceOperationRecordDto.java
-│ │ │ └── DasDeviceOperationRecordQuery.java
-│ │ ├── IDasDeviceOperationRecordService.java
-│ │ └── impl
-│ │ └── DasDeviceOperationRecordServiceImpl.java
-│ └── inspection
-│ ├── controller
-│ │ └── DasQualityInspectionController.java
-│ └── service
-│ ├── dao
-│ │ ├── DasQualityInspection.java
-│ │ └── mapper
-│ │ ├── DasQualityInspectionMapper.java
-│ │ └── DasQualityInspectionMapper.xml
-│ ├── dto
-│ │ ├── DasQualityInspectionDto.java
-│ │ └── DasQualityInspectionQuery.java
-│ ├── IDasQualityInspectionService.java
-│ └── impl
-│ └── DasQualityInspectionServiceImpl.java
-├── database
-│ ├── brick
-│ │ ├── controller
-│ │ │ └── MdBaseBrickInfoController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── MdBaseBrickInfoMapper.java
-│ │ │ │ └── MdBaseBrickInfoMapper.xml
-│ │ │ └── MdBaseBrickInfo.java
-│ │ ├── dto
-│ │ │ ├── MdBaseBrickInfoDto.java
-│ │ │ └── MdBaseBrickInfoQuery.java
-│ │ ├── IMdBaseBrickInfoService.java
-│ │ └── impl
-│ │ └── MdBaseBrickInfoServiceImpl.java
-│ ├── classification
-│ │ ├── controller
-│ │ │ └── MdBaseClassstandardController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── MdBaseClassstandardMapper.java
-│ │ │ │ └── MdBaseClassstandardMapper.xml
-│ │ │ └── MdBaseClassstandard.java
-│ │ ├── dto
-│ │ │ ├── MdBaseClassstandardDto.java
-│ │ │ ├── MdBaseClassstandardQuery.java
-│ │ │ └── MdBaseClassstandardTrees.java
-│ │ ├── IMdBaseClassstandardService.java
-│ │ └── impl
-│ │ └── MdBaseClassstandardServiceImpl.java
-│ ├── material
-│ │ ├── controller
-│ │ │ └── MdBaseMaterialController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── MdBaseMaterialMapper.java
-│ │ │ │ └── MdBaseMaterialMapper.xml
-│ │ │ └── MdBaseMaterial.java
-│ │ ├── dto
-│ │ │ ├── MdBaseMaterialDto.java
-│ │ │ └── MdBaseMaterialQuery.java
-│ │ ├── IMdBaseMaterialService.java
-│ │ └── impl
-│ │ └── MdBaseMaterialServiceImpl.java
-│ ├── vehicle
-│ │ ├── controller
-│ │ │ └── MdBaseVehicleController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── MdBaseVehicleMapper.java
-│ │ │ │ └── MdBaseVehicleMapper.xml
-│ │ │ └── MdBaseVehicle.java
-│ │ ├── dto
-│ │ │ ├── MdBaseVehicleDto.java
-│ │ │ └── MdBaseVehicleQuery.java
-│ │ ├── IMdBaseVehicleService.java
-│ │ └── impl
-│ │ └── MdBaseVehicleServiceImpl.java
-│ └── workshop
-│ ├── controller
-│ │ └── MdBaseWorkshopController.java
-│ └── service
-│ ├── dao
-│ │ ├── mapper
-│ │ │ ├── MdBaseWorkshopMapper.java
-│ │ │ └── MdBaseWorkshopMapper.xml
-│ │ └── MdBaseWorkshop.java
-│ ├── dto
-│ │ ├── MdBaseWorkshopDto.java
-│ │ └── MdBaseWorkshopQuery.java
-│ ├── IMdBaseWorkshopService.java
-│ └── impl
-│ └── MdBaseWorkshopServiceImpl.java
-├── ext
-│ ├── acs
-│ │ ├── controller
-│ │ │ └── AcsToWmsController.java
-│ │ └── service
-│ │ ├── AcsToWmsService.java
-│ │ ├── dto
-│ │ │ ├── BrickInfoDto.java
-│ │ │ ├── PalletizeDto.java
-│ │ │ ├── Resp.java
-│ │ │ ├── ResultForAcs.java
-│ │ │ ├── SignalData.java
-│ │ │ └── to
-│ │ │ ├── acs
-│ │ │ │ ├── ApplyTaskResponse.java
-│ │ │ │ ├── CancelTaskRequest.java
-│ │ │ │ ├── DeviceInfoDto.java
-│ │ │ │ ├── FeedBackTaskStatusResponse.java
-│ │ │ │ ├── GetPalletizeResponse.java
-│ │ │ │ ├── GrabResponse.java
-│ │ │ │ ├── IssueAcsRequest.java
-│ │ │ │ └── PutActionRequest.java
-│ │ │ ├── BaseRequest.java
-│ │ │ ├── BaseResponse.java
-│ │ │ └── wms
-│ │ │ ├── AcsResponse.java
-│ │ │ ├── ApplyDeviceDto.java
-│ │ │ ├── ApplySignalStatusRequest.java
-│ │ │ ├── ApplyTaskRequest.java
-│ │ │ ├── CancelTaskResponse.java
-│ │ │ ├── FeedBackSplitPalletStationRequest.java
-│ │ │ ├── FeedBackTaskStatusRequest.java
-│ │ │ ├── GetPalletizeRequest.java
-│ │ │ ├── GrabRequest.java
-│ │ │ └── PutActionResponse.java
-│ │ ├── impl
-│ │ │ ├── AcsToWmsServiceImpl.java
-│ │ │ └── WmsToAcsServiceImpl.java
-│ │ └── WmsToAcsService.java
-│ ├── mes
-│ │ ├── autotask
-│ │ │ ├── AutoSaveGdyInfo.java
-│ │ │ ├── AutoSaveProductionInfo.java
-│ │ │ └── AutoSaveWaitGdyInfo.java
-│ │ ├── controller
-│ │ │ └── MesToWmsController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ └── mapper
-│ │ │ ├── MesRequestMapper.java
-│ │ │ └── MesRequestMapper.xml
-│ │ ├── dto
-│ │ │ ├── MesGdyInfoDto.java
-│ │ │ ├── MesGdyInfoWaitDto.java
-│ │ │ ├── MesGdyMaterialInDto.java
-│ │ │ ├── MesGdyMaterialOutDto.java
-│ │ │ ├── MesMudConsumptionDto.java
-│ │ │ ├── MesProductDataDto.java
-│ │ │ ├── MesSemiProductionInfo.java
-│ │ │ ├── MesSemiProductionInfoInDto.java
-│ │ │ ├── MesSemiProductionInfoOutDto.java
-│ │ │ ├── MesUnusedDto.java
-│ │ │ ├── MesWorkOrderDto.java
-│ │ │ └── ResultForMes.java
-│ │ ├── impl
-│ │ │ ├── MesToWmsServiceImpl.java
-│ │ │ └── WmsToMesServiceImpl.java
-│ │ ├── MesToWmsService.java
-│ │ └── WmsToMesService.java
-│ ├── mms
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── dto
-│ │ │ │ └── RequestMaterialDto.java
-│ │ │ └── mapper
-│ │ │ ├── MmsRequestMapper.java
-│ │ │ └── MmsRequestMapper.xml
-│ │ ├── impl
-│ │ │ └── WmsToMmsServiceImpl.java
-│ │ └── WmsToMmsService.java
-│ └── record
-│ ├── controller
-│ │ └── SysInteractRecordController.java
-│ └── service
-│ ├── dao
-│ │ ├── mapper
-│ │ │ ├── SysInteractRecordMapper.java
-│ │ │ └── SysInteractRecordMapper.xml
-│ │ └── SysInteractRecord.java
-│ ├── dto
-│ │ ├── SysInteractRecordDto.java
-│ │ └── SysInteractRecordQuery.java
-│ ├── impl
-│ │ └── SysInteractRecordServiceImpl.java
-│ └── ISysInteractRecordService.java
-├── pda
-│ ├── controller
-│ │ └── PdaController.java
-│ └── service
-│ ├── dao
-│ │ ├── dto
-│ │ │ ├── BlendingMoveDto.java
-│ │ │ ├── ForcedRestingDto.java
-│ │ │ ├── ManualGroupDto.java
-│ │ │ ├── ManualResidueInDto.java
-│ │ │ ├── ManualSortingDto.java
-│ │ │ └── VehicleBindingDto.java
-│ │ ├── mapper
-│ │ │ ├── PdaMapper.java
-│ │ │ └── PdaMapper.xml
-│ │ └── vo
-│ │ ├── DropdownListVo.java
-│ │ ├── ManualWorkOrderVo.java
-│ │ ├── PdaResponseVo.java
-│ │ ├── StandTimeShowVo.java
-│ │ └── TaskShowVo.java
-│ ├── impl
-│ │ ├── backup
-│ │ └── PdaServiceImpl.java
-│ └── PdaService.java
-├── pdm
-│ ├── consumption
-│ │ ├── controller
-│ │ │ └── PdmBdMudConsumptionController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── PdmBdMudConsumptionMapper.java
-│ │ │ │ └── PdmBdMudConsumptionMapper.xml
-│ │ │ └── PdmBdMudConsumption.java
-│ │ ├── dto
-│ │ │ ├── PdmBdMudConsumptionDto.java
-│ │ │ └── PdmBdMudConsumptionQuery.java
-│ │ ├── impl
-│ │ │ └── PdmBdMudConsumptionServiceImpl.java
-│ │ └── IPdmBdMudConsumptionService.java
-│ ├── record
-│ │ ├── controller
-│ │ │ └── PdmBdRequestMaterialRecordController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── PdmBdRequestMaterialRecordMapper.java
-│ │ │ │ └── PdmBdRequestMaterialRecordMapper.xml
-│ │ │ └── PdmBdRequestMaterialRecord.java
-│ │ ├── dto
-│ │ │ ├── PdmBdRequestMaterialRecordDto.java
-│ │ │ └── PdmBdRequestMaterialRecordQuery.java
-│ │ ├── impl
-│ │ │ └── PdmBdRequestMaterialRecordServiceImpl.java
-│ │ └── IPdmBdRequestMaterialRecordService.java
-│ ├── residue
-│ │ ├── controller
-│ │ │ └── PdmBdMaterialResidueController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── PdmBdMaterialResidueMapper.java
-│ │ │ │ └── PdmBdMaterialResidueMapper.xml
-│ │ │ └── PdmBdMaterialResidue.java
-│ │ ├── dto
-│ │ │ ├── PdmBdMaterialResidueDto.java
-│ │ │ └── PdmBdMaterialResidueQuery.java
-│ │ ├── impl
-│ │ │ └── PdmBdMaterialResidueServiceImpl.java
-│ │ └── IPdmBdMaterialResidueService.java
-│ ├── track
-│ │ ├── controller
-│ │ │ └── PdmBdProductionProcessTrackingController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── PdmBdProductionProcessTrackingMapper.java
-│ │ │ │ └── PdmBdProductionProcessTrackingMapper.xml
-│ │ │ └── PdmBdProductionProcessTracking.java
-│ │ ├── dto
-│ │ │ ├── PdmBdProductionProcessTrackingDto.java
-│ │ │ └── PdmBdProductionProcessTrackingQuery.java
-│ │ ├── impl
-│ │ │ └── PdmBdProductionProcessTrackingServiceImpl.java
-│ │ └── IPdmBdProductionProcessTrackingService.java
-│ ├── vehiclebiding
-│ │ ├── controller
-│ │ │ └── PdmBdVehicleBindingController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── PdmBdVehicleBindingMapper.java
-│ │ │ │ └── PdmBdVehicleBindingMapper.xml
-│ │ │ └── PdmBdVehicleBinding.java
-│ │ ├── dto
-│ │ │ ├── PdmBdVehicleBindingDto.java
-│ │ │ └── PdmBdVehicleBindingQuery.java
-│ │ ├── impl
-│ │ │ └── PdmBdVehicleBindingServiceImpl.java
-│ │ └── IPdmBdVehicleBindingService.java
-│ └── workorder
-│ ├── controller
-│ │ └── PdmBdWorkorderController.java
-│ └── service
-│ ├── dao
-│ │ ├── mapper
-│ │ │ ├── PdmBdWorkorderMapper.java
-│ │ │ └── PdmBdWorkorderMapper.xml
-│ │ ├── PdmBdWorkorder.java
-│ │ └── vo
-│ │ └── AcsWorkOrderVo.java
-│ ├── dto
-│ │ ├── PdmBdWorkorderDto.java
-│ │ └── PdmBdWorkorderQuery.java
-│ ├── impl
-│ │ └── PdmBdWorkorderServiceImpl.java
-│ └── IPdmBdWorkorderService.java
-├── report
-│ ├── controller
-│ │ └── ReportController.java
-│ └── service
-│ ├── dao
-│ │ ├── mapper
-│ │ │ ├── ReportMapper.java
-│ │ │ └── ReportMapper.xml
-│ │ └── vo
-│ │ ├── IOKilnReportVo.java
-│ │ └── MaterialTimeoutVo.java
-│ ├── impl
-│ │ └── ReportServiceImpl.java
-│ └── ReportService.java
-├── sch
-│ ├── group
-│ │ ├── controller
-│ │ │ └── SchBaseVehiclematerialgroupController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── SchBaseVehiclematerialgroupMapper.java
-│ │ │ │ └── SchBaseVehiclematerialgroupMapper.xml
-│ │ │ └── SchBaseVehiclematerialgroup.java
-│ │ ├── dto
-│ │ │ ├── SchBaseVehiclematerialgroupDto.java
-│ │ │ └── SchBaseVehiclematerialgroupQuery.java
-│ │ ├── impl
-│ │ │ └── SchBaseVehiclematerialgroupServiceImpl.java
-│ │ └── ISchBaseVehiclematerialgroupService.java
-│ ├── interactivelog
-│ │ ├── controller
-│ │ │ └── SchBaseAcsandlmsinteractivelogController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── SchBaseAcsandlmsinteractivelogMapper.java
-│ │ │ │ └── SchBaseAcsandlmsinteractivelogMapper.xml
-│ │ │ └── SchBaseAcsandlmsinteractivelog.java
-│ │ ├── dto
-│ │ │ ├── SchBaseAcsandlmsinteractivelogDto.java
-│ │ │ └── SchBaseAcsandlmsinteractivelogQuery.java
-│ │ ├── impl
-│ │ │ └── SchBaseAcsandlmsinteractivelogServiceImpl.java
-│ │ └── ISchBaseAcsandlmsinteractivelogService.java
-│ ├── point
-│ │ ├── controller
-│ │ │ └── SchBasePointController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── SchBasePointMapper.java
-│ │ │ │ └── SchBasePointMapper.xml
-│ │ │ └── SchBasePoint.java
-│ │ ├── dto
-│ │ │ ├── SchBasePointDto.java
-│ │ │ └── SchBasePointQuery.java
-│ │ ├── impl
-│ │ │ └── SchBasePointServiceImpl.java
-│ │ └── ISchBasePointService.java
-│ ├── region
-│ │ ├── controller
-│ │ │ └── SchBaseRegionController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── SchBaseRegionMapper.java
-│ │ │ │ └── SchBaseRegionMapper.xml
-│ │ │ └── SchBaseRegion.java
-│ │ ├── dto
-│ │ │ ├── SchBaseRegionDto.java
-│ │ │ └── SchBaseRegionQuery.java
-│ │ ├── impl
-│ │ │ └── SchBaseRegionServiceImpl.java
-│ │ └── ISchBaseRegionService.java
-│ ├── task
-│ │ ├── controller
-│ │ │ ├── SchBaseTaskconfigController.java
-│ │ │ └── SchBaseTaskController.java
-│ │ └── service
-│ │ ├── dao
-│ │ │ ├── mapper
-│ │ │ │ ├── SchBaseTaskconfigMapper.java
-│ │ │ │ ├── SchBaseTaskconfigMapper.xml
-│ │ │ │ ├── SchBaseTaskMapper.java
-│ │ │ │ └── SchBaseTaskMapper.xml
-│ │ │ ├── SchBaseTask.java
-│ │ │ └── SchBaseTaskconfig.java
-│ │ ├── dto
-│ │ │ ├── SchBaseTaskconfigDto.java
-│ │ │ ├── SchBaseTaskconfigQuery.java
-│ │ │ ├── SchBaseTaskDto.java
-│ │ │ └── SchBaseTaskQuery.java
-│ │ ├── impl
-│ │ │ ├── SchBaseTaskconfigServiceImpl.java
-│ │ │ └── SchBaseTaskServiceImpl.java
-│ │ ├── ISchBaseTaskconfigService.java
-│ │ └── ISchBaseTaskService.java
-│ └── task_manage
-│ ├── AbstractTask.java
-│ ├── AcsTaskDto.java
-│ ├── AutoCreateTask.java
-│ ├── enums
-│ │ ├── GroupBindMaterialStatusEnum.java
-│ │ ├── GroupStatusEnum.java
-│ │ ├── NoticeTypeEnum.java
-│ │ ├── PointStatusEnum.java
-│ │ ├── TaskDirectionEnum.java
-│ │ ├── TaskFinishedTypeEnum.java
-│ │ └── WorkOrderStatusEnum.java
-│ ├── GeneralDefinition.java
-│ └── task
-│ ├── AcsUtil.java
-│ ├── core
-│ │ ├── TaskApplyDto.java
-│ │ ├── TaskApplyType.java
-│ │ ├── TaskDto.java
-│ │ ├── TaskOperateType.java
-│ │ └── TaskStatus.java
-│ ├── TaskFactory.java
-│ ├── TaskListType.java
-│ ├── tasks
-│ │ ├── auto
-│ │ │ └── RYKQLTask.java
-│ │ ├── dtk
-│ │ │ ├── CTQKTask.java
-│ │ │ ├── DTSKTask.java
-│ │ │ └── mapper
-│ │ │ ├── DTKMapper.java
-│ │ │ └── DTKMapper.xml
-│ │ ├── fj
-│ │ │ ├── FJMKTask.java
-│ │ │ ├── FJQKTask.java
-│ │ │ ├── FJQLTask.java
-│ │ │ ├── FJRKTask.java
-│ │ │ ├── FJSKTask.java
-│ │ │ ├── FJSLTask.java
-│ │ │ └── mapper
-│ │ │ ├── FJMapper.java
-│ │ │ └── FJMapper.xml
-│ │ ├── hn
-│ │ │ ├── HNMLTask.java
-│ │ │ ├── HNQKTask.java
-│ │ │ └── mapper
-│ │ │ ├── HNMapper.java
-│ │ │ └── HNMapper.xml
-│ │ ├── yao
-│ │ │ ├── CYZCTask.java
-│ │ │ └── GZYQLTask.java
-│ │ └── yz
-│ │ ├── backup.txt
-│ │ ├── mapper
-│ │ │ ├── YZMapper.java
-│ │ │ └── YZMapper.xml
-│ │ ├── YZQKTask.java
-│ │ ├── YZQLTask.java
-│ │ ├── YZSKTask.java
-│ │ └── YZSLTask.java
-│ ├── TaskServiceImpl.java
-│ └── TaskType.java
-└── util
- ├── CommonUtils.java
- ├── DatabaseBackup.java
- ├── MainConfig.java
- ├── MesUtils.java
- ├── MyEventListener.java
- ├── MyListener.java
- ├── OracleJDBCExample.java
- ├── PointUtils.java
- ├── TaskUtils.java
- ├── test
- │ └── mapper
- │ ├── TestMapper.java
- │ └── TestMapper.xml
- ├── TreePrinter.java
- └── XmlFormatter.java
+# 兰州二期LMS
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java
new file mode 100644
index 0000000..852afd0
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java
@@ -0,0 +1,33 @@
+package org.nl.config.language;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.LocaleResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Locale;
+
+/*
+ * @author ZZQ
+ * @Date 2023/11/13 09:36
+ */
+@Component
+public class InitLocaleResolver implements LocaleResolver {
+ @Override
+ public Locale resolveLocale(HttpServletRequest request) {
+ String header = request.getHeader("Accept-Language");
+ if (StringUtils.isNotEmpty(header)){
+ String[] split = header.split(",");
+ String[] lang = split[0].split("-");
+ //印尼的ISO标准国家代码为id-ID
+ return new Locale(lang[0], lang[1]==null?"ID":lang[1]);
+ }
+ return Locale.getDefault();
+ }
+
+ @Override
+ public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+ }
+}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/LanguageUtil.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/LanguageUtil.java
new file mode 100644
index 0000000..435b2f2
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/LanguageUtil.java
@@ -0,0 +1,22 @@
+package org.nl.config.language;
+
+import org.apache.commons.lang3.StringUtils;
+import org.nl.config.SpringContextHolder;
+import org.springframework.context.MessageSource;
+import org.springframework.context.i18n.LocaleContextHolder;
+
+/*
+ * @author ZZQ
+ * @Date 2023/11/13 09:45
+ */
+public class LanguageUtil {
+
+ public static String msg(String code,String...args){
+ MessageSource bean = SpringContextHolder.getBean(MessageSource.class);
+ if (StringUtils.isEmpty(code)){
+ return "参数不能为空";
+ }
+ String message = bean.getMessage(code, args, LocaleContextHolder.getLocale());
+ return message;
+ }
+}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/LanguageTest.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/LanguageTest.java
new file mode 100644
index 0000000..e372128
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/LanguageTest.java
@@ -0,0 +1,23 @@
+package org.nl.wms;
+
+/*
+ * @author ZZQ
+ * @Date 2023/11/13 10:10
+ */
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import org.nl.config.language.LanguageUtil;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/langest")
+public class LanguageTest {
+
+ @GetMapping("/code")
+ @SaIgnore
+ public String language(String code){
+ return LanguageUtil.msg(code,"");
+ }
+}
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev3.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev3.yml
new file mode 100644
index 0000000..1562b69
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev3.yml
@@ -0,0 +1,179 @@
+server:
+ port: 8011
+#配置数据源
+spring:
+ messages:
+ basename: language/login/login,language/error/error
+ autoconfigure:
+ exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+ datasource:
+ dynamic:
+ primary: mysql
+ datasource:
+ mysql:
+ driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lz_lms_tow}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
+ username: ${DB_USER:root}
+ password: ${DB_PWD:942464Yy}
+# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:rtmg_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
+# username: ${DB_USER:root}
+# password: ${DB_PWD:12356}
+ type: com.alibaba.druid.pool.DruidDataSource
+ oracle:
+ driver-class-name: oracle.jdbc.OracleDriver
+ url: jdbc:oracle:thin:@172.27.37.66:1521:RTMES
+ username: ${DB_USER:LMSTELCOM}
+ password: ${DB_PWD:LMSTELCOM_6463}
+ type: com.alibaba.druid.pool.DruidDataSource
+ sqlserver:
+ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ url: jdbc:sqlserver://10.93.41.2\WINCC;DatabaseName=马钢_RH
+ username: ${DB_USER:sa}
+ password: ${DB_PWD:123}
+ type: com.alibaba.druid.pool.DruidDataSource
+ redis:
+ #数据库索引
+ host: ${REDIS_HOST:127.0.0.1}
+ port: ${REDIS_PORT:6379}
+ password: ${REDIS_PWD:}
+ redisson:
+ config: |
+ threads: 4
+ nettyThreads: 4
+ singleServerConfig:
+ database: 15
+ connectionMinimumIdleSize: 8
+ connectionPoolSize: 8
+ address: redis://127.0.0.1:6379
+ idleConnectionTimeout: 10000
+ timeout: 3000
+# 登录相关配置
+login:
+ # 登录缓存
+ cache-enable: true
+ # 是否限制单用户登录
+ single-login: false
+ # 验证码
+ login-code:
+ # 验证码类型配置 查看 LoginProperties 类
+ code-type: arithmetic
+ # 登录图形验证码有效时间/分钟
+ expiration: 2
+ # 验证码高度
+ width: 111
+ # 验证码宽度
+ heigth: 36
+ # 内容长度
+ length: 2
+ # 字体名称,为空则使用默认字体,如遇到线上乱码,设置其他字体即可
+ font-name:
+ # 字体大小
+ font-size: 25
+
+#jwt
+jwt:
+ header: Authorization
+ # 令牌前缀
+ token-start-with: Bearer
+ # 必须使用最少88位的Base64对该令牌进行编码
+ base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
+ # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
+ token-validity-in-seconds: 7200000
+ # 在线用户key
+ online-key: online-token-
+ # 验证码
+ code-key: code-key-
+ # token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
+ detect: 1800000
+ # 续期时间范围,默认 1小时,这里单位毫秒
+ renew: 3600000
+
+# IP 本地解析
+ip:
+ local-parsing: true
+
+#是否允许生成代码,生产环境设置为false
+generator:
+ enabled: false
+
+#如果生产环境要开启swagger,需要配置请求地址
+#springfox:
+# documentation:
+# swagger:
+# v2:
+# host: # 接口域名或外网ip
+
+#是否开启 swagger-ui
+swagger:
+ enabled: false
+
+# 文件存储路径
+file:
+ mac:
+ path: ~/file/
+ avatar: ~/avatar/
+ linux:
+ path: /home/eladmin/file/
+ avatar: /home/eladmin/avatar/
+ windows:
+ path: C:\eladmin\file\
+ avatar: C:\eladmin\avatar\
+ # 文件大小 /M
+ maxSize: 100
+ avatarMaxSize:
+logging:
+ file:
+ path: /Users/mima0000/Desktop/app
+ config: classpath:logback-spring.xml
+
+# Sa-Token配置
+sa-token:
+ # token 名称 (同时也是cookie名称)
+ token-name: Authorization
+ # token 有效期,单位s 默认30天, -1代表永不过期
+ timeout: 2592000
+ # token 临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
+ activity-timeout: -1
+ # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
+ is-concurrent: true
+ # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
+ is-share: false
+ # token风格
+ token-style: random-128
+ # 是否输出操作日志
+ is-log: false
+ jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq
+ # token 前缀
+ token-prefix: Bearer
+ sso:
+ # Ticket有效期 (单位: 秒),默认五分钟
+ ticket-timeout: 300
+ # 所有允许的授权回调地址
+ allow-url: "*"
+ # 是否打开单点注销功能
+ is-slo: true
+
+ # ------- SSO-模式三相关配置 (下面的配置在SSO模式三并且 is-slo=true 时打开)
+ # 是否打开模式三
+ isHttp: true
+ # 接口调用秘钥(用于SSO模式三的单点注销功能)
+ secretkey: kQwIOrYvnXmSDkwEiFngrKidMcdrgKor
+ # ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明)
+ is-read-cookie: true
+ is-print: false
+ # 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口
+ token-session-check-login: false
+ alone-redis:
+ # Redis数据库索引(默认为0)
+ database: 1
+ # Redis服务器地址
+ host: 127.0.0.1
+ # Redis服务器连接端口
+ port: 6379
+ # Redis服务器连接密码(默认为空)
+ password:
+ # 连接超时时间
+ timeout: 10s
+lucene:
+ index:
+ path: /Users/mima0000/Desktop/lucene/index
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml
index fdfd1b8..4db167d 100644
--- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml
@@ -10,7 +10,7 @@ spring:
datasource:
mysql:
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
- url: jdbc:log4jdbc:mysql://${DB_HOST:10.93.41.198}:${DB_PORT:3306}/${DB_NAME:rl_mg_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
+ url: jdbc:log4jdbc:mysql://${DB_HOST:10.93.41.198}:${DB_PORT:3306}/${DB_NAME:lz_lms_two}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
password: ${DB_PWD:123456}
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:rtmg_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application.yml
index b559a01..add0608 100644
--- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application.yml
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application.yml
@@ -42,7 +42,7 @@ spring:
freemarker:
check-template-location: false
profiles:
- active: prod
+ active: dev3
jackson:
time-zone: GMT+8
data:
@@ -123,7 +123,7 @@ mybatis-plus:
configuration:
map-underscore-to-camel-case: false
jdbc-type-for-null: null
- # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations:
- classpath:org.nl.**.mapper/*.xml
global-config:
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error.properties
new file mode 100644
index 0000000..e69de29
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_en_US.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_en_US.properties
new file mode 100644
index 0000000..e69de29
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_id_ID.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_id_ID.properties
new file mode 100644
index 0000000..e69de29
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_zh_CN.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/error/error_zh_CN.properties
new file mode 100644
index 0000000..e69de29
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login.properties
new file mode 100644
index 0000000..84892ba
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login.properties
@@ -0,0 +1 @@
+code=default
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_en_US.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_en_US.properties
new file mode 100644
index 0000000..64b961f
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_en_US.properties
@@ -0,0 +1 @@
+code=us
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_id_ID.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_id_ID.properties
new file mode 100644
index 0000000..d1e4375
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_id_ID.properties
@@ -0,0 +1 @@
+code=yinni
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_zh_CN.properties b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_zh_CN.properties
new file mode 100644
index 0000000..da111f8
--- /dev/null
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/language/login/login_zh_CN.properties
@@ -0,0 +1 @@
+code=cn
diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml
index b060ded..9669db5 100644
--- a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml
+++ b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml
@@ -104,6 +104,49 @@ https://juejin.cn/post/6844903775631572999
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lms/nladmin-ui/README.md b/lms/nladmin-ui/README.md
index 352b6d7..780dc5d 100644
--- a/lms/nladmin-ui/README.md
+++ b/lms/nladmin-ui/README.md
@@ -1,2 +1,2 @@
-# 武汉新锐MES前端
+# 兰州二期LMS前端