1
zhang
2026-01-07 5d24f639d62119f4c661e7f04ac7cc5b0f5ce827
1
248个文件已删除
3个文件已添加
26个文件已修改
30560 ■■■■■ 已修改文件
.gitignore 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/WrkMast.java 469 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ConsoleController.java 318 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CrnController.java 522 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CtuController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MonitorController.java 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/NewsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/SiteController.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/requestParam/StationRequestParam.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/responseParam/StationResponseParam.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/dto/AxisBean.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/dto/WorkChartAxis.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/enums/CrnStatusType.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/enums/RgvStatusType.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/enums/WorkNoType.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/param/AskStaParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/param/CrnDemoParam.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/param/SystemSwitchParam.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/param/TaskReportParam.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/BarcodeDataVo.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/CommandLogVo.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/CrnLatestDataVo.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/LocChartPie.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/RgvMsgTableVo.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/ScaleDataVo.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasCrnError.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasCrnOpt.java 334 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasCrnp.java 436 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasDevp.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasErrLog.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasPlcerror.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasRgv.java 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasRgvErr.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasRgvMap.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasRgvOpt.java 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasWrkIotype.java 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasWrkStatus.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocDetl.java 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocMast.java 272 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/MatCode.java 593 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/RowLastno.java 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/StaDesc.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WaitPakin.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkDetl.java 387 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkLastno.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMast.java 459 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMastSta.java 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasCrnErrorMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasCrnOptMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasRgvErrMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasRgvMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasWrkIotypeMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasWrkStatusMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocMastMapper.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/MatCodeMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WaitPakinMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasCrnOptService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasCrnpService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasRgvErrService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasRgvMapService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasRgvOptService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasRgvService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocMastService.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MatCodeService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/RowLastnoService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkDetlService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkMastService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasCrnOptServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasRgvErrServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 3120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MatCodeServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/RouteUtils.java 314 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/VersionUtils.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/CodeBuilder.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/Main.java 454 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/config/AdminInterceptor.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/entity/Parameter.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/LocTypeDto.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/MatDto.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/PageParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/PowerDto.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/StartupDto.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/WmsService.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/CollectionUtils.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/RedisUtil.java 596 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/excel/EnInitData.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/excel/EnInitDataListener.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/excel/ExcelUtils.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/AuthController.java 328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/BaseController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/FileController.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/RouterController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/CrnThread.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/RgvThread2.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/ServerBootstrap.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/Slave.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnFingerPosType.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnForkPosType.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnLiftPosType.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnModeType.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnStatusType.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnTaskModeType.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/IoModeType.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/RgvModeType.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/RgvStatusType.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/RgvTaskModeType.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/RouteCollectCountType.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/CrnSlave.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/LedSlave.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/RgvSlave.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/command/CrnCommand.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/command/LedCommand.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/command/RgvCommand.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnError1.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnError2.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnError3.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnError4.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnError5.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnError6.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnProtocol.java 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnTemp1.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/RgvProtocol.java 231 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/AbstractInboundHandler.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/HandlerInitializer.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/OnlineServer.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/cache/ChannelAttrKey.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/cache/ChannelCache.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/constant/Constant.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/domain/ChPackage.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/handle/PackageServerHandler.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/handle/ProtectorHandler.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/handle/ProtocolDecoder.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/handle/ProtocolEncoder.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/properties/TcpProperties.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/properties/SlaveProperties.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/LedThread.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/MelsecCrnThread.java 476 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/RgvThread.java 573 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensCrnThread.java 740 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/ApiController.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/ConfigController.java 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/HomeController.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/HostController.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/OperateLogController.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/PermissionController.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/ResourceController.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/RoleController.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/UserController.java 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/UserLoginController.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/Api.java 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/Config.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/Host.java 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/OperateLog.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/Permission.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/Resource.java 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/Role.java 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/RolePermission.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/RoleResource.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/User.java 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/UserLogin.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/ApiMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/ConfigMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/HostMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/OperateLogMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/PermissionMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/ResourceMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/RoleMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/RolePermissionMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/RoleResourceMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/UserLoginMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/mapper/UserMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/ApiService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/ConfigService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/HostService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/OperateLogService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/PermissionService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/ResourceService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/RolePermissionService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/RoleResourceService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/RoleService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/UserLoginService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/UserService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/ApiServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/HostServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/OperateLogServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/PermissionServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/ResourceServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/RolePermissionServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/RoleResourceServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/RoleServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/service/impl/UserServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasCrnErrorMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasCrnpMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasDevpMapper.xml 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasPlcerrorMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasRgvErrMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasRgvMapMapper.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasRgvMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasRgvOptMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasWrkIotypeMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasWrkStatusMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ConfigMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/HostMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocMastMapper.xml 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/MatCodeMapper.xml 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OperateLogMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/PermissionMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ResourceMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RoleMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RolePermissionMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RoleResourceMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RowLastnoMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/StaDescMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/UserLoginMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/UserMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WaitPakinMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlMapper.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkLastnoMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastStaMapper.xml 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console-old.html 1229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console.html 767 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/crn.html 637 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/index.html 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/indexTV.html 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/led.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/login.html 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/monitor/img/banner/test1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/monitor/img/banner/test2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/monitor/img/banner/test3.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/monitor/monitor0.html 848 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pipeline.html 728 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/render/asda.css 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/rgv.html 591 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
version/BarcodeThread1.java 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
version/BarcodeThread2.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
version/render.js 1486 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -18,6 +18,7 @@
*.iws
*.iml
*.ipr
.vscode
### NetBeans ###
/nbproject/private/
pom.xml
@@ -47,11 +47,6 @@
            <version>${mysql-driver.version}</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>8.2.2.jre8</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
@@ -60,16 +55,6 @@
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${springfox.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${springfox.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
@@ -185,7 +170,7 @@
    </dependencies>
    <build>
        <finalName>whxrwcs</finalName>
        <finalName>wcs</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
src/main/java/com/zy/asrs/WrkMast.java
File was deleted
src/main/java/com/zy/asrs/controller/ConsoleController.java
File was deleted
src/main/java/com/zy/asrs/controller/CrnController.java
File was deleted
src/main/java/com/zy/asrs/controller/CtuController.java
New file
@@ -0,0 +1,66 @@
package com.zy.asrs.controller;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.controller.requestParam.StationRequestParam;
import com.zy.asrs.controller.responseParam.StationResponseParam;
import com.zy.common.web.BaseController;
import com.zy.core.DevpThread;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 对ctu系统的接口
 */
@Slf4j
@RestController
public class CtuController extends BaseController {
    @Autowired
    private SlaveProperties slaveProperties;
    /**
     * 站点查询
     */
    @ResponseBody
    @PostMapping("/station/query")
    public R query(@RequestBody StationRequestParam param) {
        log.info("站点查询:{}", param);
        List<String> staNos = param.getStaNos();
        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
        List<StationResponseParam> list = new ArrayList<>();
        Map<Integer, StaProtocol> station = devpThread.getStation();
        if (Cools.isEmpty(staNos)) {
            for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
                staNos.add(entry.getKey() + "");
            }
        }
        StationResponseParam stationResponseParam;
        for (String staNo : staNos) {
            StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
            stationResponseParam = new StationResponseParam();
            stationResponseParam.setStaNo(staNo);
            stationResponseParam.setOccupied(staProtocol.isLoading());
            stationResponseParam.setInEnable(staProtocol.isInEnable());
            stationResponseParam.setOutEnable(staProtocol.isOutEnable());
            stationResponseParam.setOnline(staProtocol.isAutoing());
            list.add(stationResponseParam);
        }
        return R.ok(list);
    }
}
src/main/java/com/zy/asrs/controller/MonitorController.java
File was deleted
src/main/java/com/zy/asrs/controller/NewsController.java
@@ -15,7 +15,7 @@
public class NewsController {
    @RequestMapping("/print")
    public synchronized R print(){
    public synchronized R print() {
        return R.ok().add(News.print());
    }
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -3,7 +3,6 @@
import com.core.common.R;
import com.zy.asrs.domain.param.AskStaParam;
import com.zy.asrs.domain.param.TaskReportParam;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.impl.CtuMainServiceImpl;
import com.zy.common.web.BaseController;
import com.zy.core.DevpThread;
@@ -31,10 +30,6 @@
@RestController
@RequestMapping("open/asrs")
public class OpenController extends BaseController {
    @Autowired
    private LocMastService locMastService;
    @Autowired
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -7,10 +7,8 @@
import com.zy.asrs.domain.vo.PlcErrorTableVo;
import com.zy.asrs.domain.vo.SiteTableVo;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.impl.CtuMainServiceImpl;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
@@ -19,8 +17,6 @@
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.DevpThread;
import com.zy.core.thread.SiemensDevpThread;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -41,29 +37,11 @@
    private SlaveProperties slaveProperties;
    @Autowired
    private BasDevpService basDevpService;
    @Autowired
    private BasRgvService basRgvService;
    @GetMapping("/io/mode/info/site")
    @ManagerAuth(memo = "入出库模式")
    public R ioMode(){
        List<Map<String, Object>> res = new ArrayList<>();
        for (DevpSlave devp : slaveProperties.getDevp()) {
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            Map<String, Object> map2 = new HashMap<>();
            map2.put("floor", 2);
            map2.put("modeVal", devpThread.ioModeOf2F.id);
            map2.put("modeDesc", devpThread.ioModeOf2F.desc);
            res.add(map2);
        }
        return R.ok().add(res);
    }
    @PostMapping("/table/site")
    @ManagerAuth(memo = "站点信息表")
    public R siteTable(){
    public R siteTable() {
        List<SiteTableVo> list = new ArrayList<>();
        // 内存数据
        Map<Integer, StaProtocol> station = new HashMap<>();
@@ -79,17 +57,19 @@
            list.add(vo);
            StaProtocol staProtocol = station.get(devp.getDevNo());
            if (null == staProtocol) { continue; }
            if (null == staProtocol) {
                continue;
            }
            vo.setWorkNo(staProtocol.getWorkNo());
            vo.setAutoing(staProtocol.isAutoing()?"Y":"N");     //  自动
            vo.setLoading(staProtocol.isLoading()?"Y":"N");     // 有物
            vo.setInEnable(staProtocol.isInEnable()?"Y":"N");   // 可入
            vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 可出
            vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 入库标记
            vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 空板信号
            vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N");     //  自动
            vo.setLoading(staProtocol.isLoading() ? "Y" : "N");     // 有物
            vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N");   // 可入
            vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 可出
            vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N");       // 入库标记
            vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N");     // 空板信号
            vo.setStaNo(staProtocol.getStaNo());                // 目标站
//            vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "低" : "高");     //高低库位
            vo.setLocType1(devp.getDevNo()==102 ? "高" : "低");
            vo.setLocType1(devp.getDevNo() == 102 ? "高" : "低");
        }
        return R.ok().add(list);
@@ -97,15 +77,15 @@
    @PostMapping("/table/plc/errors")
    @ManagerAuth(memo = "输送设备plc异常信息表")
    public R plcErrorTable(){
    public R plcErrorTable() {
        List<PlcErrorTableVo> list = new ArrayList<>();
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            Map<Integer, StaProtocol> station = devpThread.getStation();
            for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
                if (!Cools.isEmpty(staPlcErr(entry))){
                    list.add(staPlcErr(entry).get(0)) ;
            for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
                if (!Cools.isEmpty(staPlcErr(entry))) {
                    list.add(staPlcErr(entry).get(0));
                }
            }
@@ -115,11 +95,11 @@
    @PostMapping("/output/site")
    @ManagerAuth(memo = "站点设备报文日志输出")
    public R siteOutput(){
    public R siteOutput() {
        StringBuilder str = new StringBuilder();
        String s;
        int i = 0;
        while((s = OutputQueue.DEVP.poll()) != null && i <=10) {
        while ((s = OutputQueue.DEVP.poll()) != null && i <= 10) {
            str.append("\n").append(s);
            i++;
        }
@@ -131,7 +111,7 @@
    /****************************************************************/
    @GetMapping("/detl/{siteId}")
    public R siteDetl(@PathVariable("siteId") Integer siteId){
    public R siteDetl(@PathVariable("siteId") Integer siteId) {
        SiteTableVo vo = new SiteTableVo();
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -141,12 +121,12 @@
                    StaProtocol staProtocol = entry.getValue();
                    vo.setDevNo(entry.getKey());    // 站点编号
                    vo.setWorkNo(staProtocol.getWorkNo());   //  工作号
                    vo.setAutoing(staProtocol.isAutoing()?"Y":"N");     //  自动
                    vo.setLoading(staProtocol.isLoading()?"Y":"N");     // 有物
                    vo.setInEnable(staProtocol.isInEnable()?"Y":"N");   // 可入
                    vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 可出
                    vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 需求1
                    vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 空板信号
                    vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N");     //  自动
                    vo.setLoading(staProtocol.isLoading() ? "Y" : "N");     // 有物
                    vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N");   // 可入
                    vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 可出
                    vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N");       // 需求1
                    vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N");     // 空板信号
                    vo.setStaNo(staProtocol.getStaNo());                // 目标站
                    vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "低" : "高");     //高低库位
                    return R.ok().add(vo);
@@ -161,7 +141,7 @@
    public R siteDetlUpdate(@RequestParam Integer siteId,
                            @RequestParam Integer workNo,
                            @RequestParam Short staNo,
                            @RequestParam String pakMk){
                            @RequestParam String pakMk) {
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            Map<Integer, StaProtocol> station = devpThread.getStation();
@@ -194,24 +174,24 @@
        return R.error("plc已掉线");
    }
    public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){
    public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry) {
        List<PlcErrorTableVo> list = new ArrayList<>();
        StaProtocol staProtocol = entry.getValue();
        if (staProtocol.getBreakerErr()){
        if (staProtocol.getBreakerErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("断路器故障");
            vo.setError("断路器故障");
            list.add(vo);
        }
        if (staProtocol.getInfraredErr()){
        if (staProtocol.getInfraredErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("光电异常");
            vo.setError("光电异常");
            list.add(vo);
        }
        if (staProtocol.getOutTimeErr()){
        if (staProtocol.getOutTimeErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
@@ -219,7 +199,7 @@
            vo.setError("运行超时");
            list.add(vo);
        }
        if (staProtocol.getSeizeSeatErr()){
        if (staProtocol.getSeizeSeatErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
@@ -227,7 +207,7 @@
            vo.setError("占位超时");
            list.add(vo);
        }
        if (staProtocol.getWrkYgoodsN()){
        if (staProtocol.getWrkYgoodsN()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
@@ -235,7 +215,7 @@
            vo.setError("有任务无货故障");
            list.add(vo);
        }
        if (staProtocol.getInverterErr()){
        if (staProtocol.getInverterErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
@@ -243,7 +223,7 @@
            vo.setError("变频器故障");
            list.add(vo);
        }
        if (staProtocol.getContactErr()){
        if (staProtocol.getContactErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
@@ -251,7 +231,7 @@
            vo.setError("电机接触器故障");
            list.add(vo);
        }
        if (staProtocol.getUpcontactErr()){
        if (staProtocol.getUpcontactErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
@@ -259,42 +239,42 @@
            vo.setError("顶升电机接触器故障");
            list.add(vo);
        }
        if (staProtocol.isFrontErr()){
        if (staProtocol.isFrontErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("前超限");
            vo.setError("前超限");
            list.add(vo);
        }
        if (staProtocol.isBackErr()){
        if (staProtocol.isBackErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("后超限");
            vo.setError("后超限");
            list.add(vo);
        }
        if (staProtocol.isHighErr()){
        if (staProtocol.isHighErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("高超限");
            vo.setError("高超限");
            list.add(vo);
        }
        if (staProtocol.isLeftErr()){
        if (staProtocol.isLeftErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("左超限");
            vo.setError("左超限");
            list.add(vo);
        }
        if (staProtocol.isRightErr()){
        if (staProtocol.isRightErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("右超限");
            vo.setError("右超限");
            list.add(vo);
        }
        if (staProtocol.isBarcodeErr()){
        if (staProtocol.isBarcodeErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("扫码失败");
src/main/java/com/zy/asrs/controller/requestParam/StationRequestParam.java
New file
@@ -0,0 +1,19 @@
package com.zy.asrs.controller.requestParam;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class StationRequestParam implements Serializable {
    /**
     * 站点列表
     */
    private List<String> staNos;
    /**
     * 输送线编号
     */
    private Integer devpId = 1;
}
src/main/java/com/zy/asrs/controller/responseParam/StationResponseParam.java
New file
@@ -0,0 +1,31 @@
package com.zy.asrs.controller.responseParam;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class StationResponseParam implements Serializable {
    /**
     * 站点编号
     */
    private String staNo;
    /**
     * 输送线编号
     */
    private Boolean online;
    /**
     * 是否有物
     */
    private Boolean occupied ;
    /**
     * 是否可入
     */
    private Boolean inEnable ;
    /**
     * 是否可出
     */
    private Boolean outEnable ;
}
src/main/java/com/zy/asrs/domain/dto/AxisBean.java
File was deleted
src/main/java/com/zy/asrs/domain/dto/WorkChartAxis.java
File was deleted
src/main/java/com/zy/asrs/domain/enums/CrnStatusType.java
File was deleted
src/main/java/com/zy/asrs/domain/enums/RgvStatusType.java
File was deleted
src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
File was deleted
src/main/java/com/zy/asrs/domain/enums/WorkNoType.java
File was deleted
src/main/java/com/zy/asrs/domain/param/AskStaParam.java
@@ -1,6 +1,5 @@
package com.zy.asrs.domain.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -16,7 +15,6 @@
    /**
     * 总线
     */
    @ApiModelProperty(value = "总线")
    private Integer askSta;
@@ -24,7 +22,6 @@
    /**
     * 任务进度
     */
    @ApiModelProperty(value = "任务进度")
    private Integer askType;
src/main/java/com/zy/asrs/domain/param/CrnDemoParam.java
File was deleted
src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
File was deleted
src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java
File was deleted
src/main/java/com/zy/asrs/domain/param/SystemSwitchParam.java
File was deleted
src/main/java/com/zy/asrs/domain/param/TaskReportParam.java
@@ -1,6 +1,5 @@
package com.zy.asrs.domain.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -16,95 +15,80 @@
    /**
     * 总线
     */
    @ApiModelProperty(value = "总线")
    private String busNo;
    /**
     * 任务号
     */
    @ApiModelProperty(value = "任务号")
    private String seqNum;
    /**
     * 任务进度
     */
    @ApiModelProperty(value = "任务进度")
    private Integer taskSts;
    /**
     * AGV
     */
    @ApiModelProperty(value = "AGV")
    private String agvId;
    /**
     * 所在上报点位
     */
    @ApiModelProperty(value = "所在上报点位")
    private String qrCode;
    /**
     * 库位或站点
     */
    @ApiModelProperty(value = "库位或站点")
    private String locNo;
    /**
     * 上报次数
     */
    @ApiModelProperty(value = "上报次数")
    private Integer reportTimes;
    /**
     * 托盘码
     */
    @ApiModelProperty(value = "托盘码")
    private String zpallet;
    /**
     * 是否删除 1: 是  0: 否
     */
    @ApiModelProperty(value = "是否删除 1: 是  0: 否  ")
    private Integer deleted;
    /**
     * 租户
     */
    @ApiModelProperty(value = "租户")
    private Long tenantId;
    /**
     * 添加人员
     */
    @ApiModelProperty(value = "添加人员")
    private Long createBy;
    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    private Date createTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value = "修改人员")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String memo;
src/main/java/com/zy/asrs/domain/vo/BarcodeDataVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/CommandLogVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/CrnLatestDataVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/LocChartPie.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/RgvMsgTableVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/ScaleDataVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java
File was deleted
src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java
File was deleted
src/main/java/com/zy/asrs/entity/BasCrnError.java
File was deleted
src/main/java/com/zy/asrs/entity/BasCrnOpt.java
File was deleted
src/main/java/com/zy/asrs/entity/BasCrnp.java
File was deleted
src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -6,9 +6,7 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -24,7 +22,6 @@
    /**
     * 编号
     */
    @ApiModelProperty(value= "编号")
    @TableId(value = "dev_no", type = IdType.INPUT)
    @TableField("dev_no")
    private Integer devNo;
@@ -32,187 +29,150 @@
    /**
     * 设备描述
     */
    @ApiModelProperty(value= "设备描述")
    @TableField("dec_desc")
    private String decDesc;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    @TableField("dev_mk")
    private String devMk;
    /**
     * 可入
     */
    @ApiModelProperty(value= "可入")
    @TableField("in_enable")
    private String inEnable;
    /**
     * 可出
     */
    @ApiModelProperty(value= "可出")
    @TableField("out_enable")
    private String outEnable;
    /**
     * 自动
     */
    @ApiModelProperty(value= "自动")
    private String autoing;
    /**
     * 有物
     */
    @ApiModelProperty(value= "有物")
    private String loading;
    /**
     * 能入
     */
    @ApiModelProperty(value= "能入")
    private String canining;
    /**
     * 能出
     */
    @ApiModelProperty(value= "能出")
    private String canouting;
    @ApiModelProperty(value= "")
    private String fronting;
    @ApiModelProperty(value= "")
    private String rearing;
    @ApiModelProperty(value= "")
    private String uping;
    @ApiModelProperty(value= "")
    private String downing;
    /**
     * 需求1
     */
    @ApiModelProperty(value= "需求1")
    private String inreq1;
    /**
     * 需求2
     */
    @ApiModelProperty(value= "需求2")
    private String inreq2;
    /**
     * 工作号
     */
    @ApiModelProperty(value= "工作号")
    @TableField("wrk_no")
    private Integer wrkNo;
    @ApiModelProperty(value= "")
    @TableField("wrk_no1")
    private Integer wrkNo1;
    /**
     * 容器类型
     */
    @ApiModelProperty(value= "容器类型")
    @TableField("ctn_type")
    private Integer ctnType;
    /**
     * 条形码
     */
    @ApiModelProperty(value= "条形码")
    private String barcode;
    @ApiModelProperty(value= "入库暂存数")
    @TableField("in_qty")
    private Integer inQty;
    @ApiModelProperty(value= "")
    private Integer row1;
    @ApiModelProperty(value= "")
    @TableField("io_time")
    private Date ioTime;
    @ApiModelProperty(value= "")
    private String area;
    @ApiModelProperty(value= "")
    @TableField("in_ok")
    private String inOk;
    @ApiModelProperty(value= "")
    @TableField("out_ok")
    private String outOk;
    @ApiModelProperty(value= "高低类型{0:未知,1:低库位,2:高库位}")
    @TableField("loc_type1")
    private Short locType1;
    @ApiModelProperty(value= "宽窄类型{0:未知,1:窄库位,2:宽库位}")
    @TableField("loc_type2")
    private Short locType2;
    @ApiModelProperty(value= "轻重类型{0:未知,1:轻库位,2:重库位}")
    @TableField("loc_type3")
    private Short locType3;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value= "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    @ApiModelProperty(value= "")
    @TableField("std_qty")
    private Double stdQty;
    @ApiModelProperty(value= "")
    @TableField("min_wt")
    private Double minWt;
    @ApiModelProperty(value= "")
    @TableField("max_wt")
    private Double maxWt;
    /**
     * 重量
     */
    @ApiModelProperty(value= "重量")
    @TableField("gross_wt")
    private Double grossWt;
    @ApiModelProperty(value= "")
    @TableField("cart_pos")
    private Integer cartPos;
    public String getIoTime$(){
@@ -264,14 +224,7 @@
        }
    }
    public String getModiUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getModiTime$(){
        if (Cools.isEmpty(this.modiTime)){
@@ -280,14 +233,7 @@
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getAppeTime$(){
        if (Cools.isEmpty(this.appeTime)){
src/main/java/com/zy/asrs/entity/BasErrLog.java
@@ -6,9 +6,7 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.text.SimpleDateFormat;
@@ -22,150 +20,128 @@
    /**
     * ID
     */
    @ApiModelProperty(value= "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 编号
     */
    @ApiModelProperty(value= "编号")
    private String uuid;
    /**
     * 工作号
     */
    @ApiModelProperty(value= "工作号")
    @TableField("wrk_no")
    private Integer wrkNo;
    /**
     * 发生时间
     */
    @ApiModelProperty(value= "发生时间")
    @TableField("start_time")
    private Date startTime;
    /**
     * 结束时间
     */
    @ApiModelProperty(value= "结束时间")
    @TableField("end_time")
    private Date endTime;
    /**
     * 工作状态
     */
    @ApiModelProperty(value= "工作状态")
    @TableField("wrk_sts")
    private Long wrkSts;
    /**
     * 入出库类型
     */
    @ApiModelProperty(value= "入出库类型")
    @TableField("io_type")
    private Integer ioType;
    /**
     * 堆垛机
     */
    @ApiModelProperty(value= "堆垛机")
    @TableField("crn_no")
    private Integer crnNo;
    /**
     * plc
     */
    @ApiModelProperty(value= "plc")
    @TableField("plc_no")
    private Integer plcNo;
    /**
     * 目标库位
     */
    @ApiModelProperty(value= "目标库位")
    @TableField("loc_no")
    private String locNo;
    /**
     * 目标站
     */
    @ApiModelProperty(value= "目标站")
    @TableField("sta_no")
    private Integer staNo;
    /**
     * 源站
     */
    @ApiModelProperty(value= "源站")
    @TableField("source_sta_no")
    private Integer sourceStaNo;
    /**
     * 源库位
     */
    @ApiModelProperty(value= "源库位")
    @TableField("source_loc_no")
    private String sourceLocNo;
    /**
     * 条码
     */
    @ApiModelProperty(value= "条码")
    private String barcode;
    /**
     * 异常码
     */
    @ApiModelProperty(value= "异常码")
    @TableField("err_code")
    private Integer errCode;
    /**
     * 异常
     */
    @ApiModelProperty(value= "异常")
    private String error;
    /**
     * 异常情况 1: 未处理  2: 已修复  
     */
    @ApiModelProperty(value= "异常情况 1: 未处理  2: 已修复  ")
    private Integer status;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("create_time")
    private Date createTime;
    /**
     * 添加人员
     */
    @ApiModelProperty(value= "添加人员")
    @TableField("create_by")
    private Long createBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("update_time")
    private Date updateTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("update_by")
    private Long updateBy;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    public BasErrLog() {}
@@ -399,14 +375,7 @@
        return createBy;
    }
    public String getCreateBy$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.createBy);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
@@ -431,14 +400,7 @@
        return updateBy;
    }
    public String getUpdateBy$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.updateBy);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
src/main/java/com/zy/asrs/entity/BasPlcerror.java
@@ -6,9 +6,7 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.text.SimpleDateFormat;
@@ -22,7 +20,6 @@
    /**
     * 异常编号
     */
    @ApiModelProperty(value= "异常编号")
    @TableId(value = "error_code", type = IdType.INPUT)
    @TableField("error_code")
    private Integer errorCode;
@@ -30,35 +27,30 @@
    /**
     * 异常描述
     */
    @ApiModelProperty(value= "异常描述")
    @TableField("error_desc")
    private String errorDesc;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value= "创建者")
    @TableField("appe_user")
    private Long appeUser;
@@ -116,14 +108,7 @@
        return modiUser;
    }
    public String getModiUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setModiUser(Long modiUser) {
        this.modiUser = modiUser;
@@ -148,14 +133,7 @@
        return appeUser;
    }
    public String getAppeUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setAppeUser(Long appeUser) {
        this.appeUser = appeUser;
src/main/java/com/zy/asrs/entity/BasRgv.java
File was deleted
src/main/java/com/zy/asrs/entity/BasRgvErr.java
File was deleted
src/main/java/com/zy/asrs/entity/BasRgvMap.java
File was deleted
src/main/java/com/zy/asrs/entity/BasRgvOpt.java
File was deleted
src/main/java/com/zy/asrs/entity/BasWrkIotype.java
File was deleted
src/main/java/com/zy/asrs/entity/BasWrkStatus.java
File was deleted
src/main/java/com/zy/asrs/entity/LocDetl.java
File was deleted
src/main/java/com/zy/asrs/entity/LocMast.java
File was deleted
src/main/java/com/zy/asrs/entity/MatCode.java
File was deleted
src/main/java/com/zy/asrs/entity/RowLastno.java
File was deleted
src/main/java/com/zy/asrs/entity/StaDesc.java
@@ -6,11 +6,8 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.BasDevpService;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.text.SimpleDateFormat;
@@ -24,7 +21,6 @@
    /**
     * 路径ID
     */
    @ApiModelProperty(value= "路径ID")
    @TableId(value = "type_id", type = IdType.AUTO)
    @TableField("type_id")
    private Long typeId;
@@ -32,7 +28,6 @@
    /**
     * 入出库类型
     */
    @ApiModelProperty(value= "入出库类型")
    @TableId(value = "type_no", type = IdType.INPUT)
    @TableField("type_no")
    private Integer typeNo;
@@ -40,14 +35,12 @@
    /**
     * 作业类型
     */
    @ApiModelProperty(value= "作业类型")
    @TableField("type_desc")
    private String typeDesc;
    /**
     * 作业站点
     */
    @ApiModelProperty(value= "作业站点")
    @TableId(value = "stn_no", type = IdType.INPUT)
    @TableField("stn_no")
    private Integer stnNo;
@@ -55,14 +48,12 @@
    /**
     * 站点名称
     */
    @ApiModelProperty(value= "站点名称")
    @TableField("stn_desc")
    private String stnDesc;
    /**
     * 堆垛机号
     */
    @ApiModelProperty(value= "堆垛机号")
    @TableId(value = "crn_no", type = IdType.INPUT)
    @TableField("crn_no")
    private Integer crnNo;
@@ -70,41 +61,35 @@
    /**
     * 堆垛机站点
     */
    @ApiModelProperty(value= "堆垛机站点")
    @TableField("crn_stn")
    private Integer crnStn;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value= "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    private Date appeTime;
@@ -121,16 +106,7 @@
        this.appeTime = appeTime;
    }
//    StaDesc staDesc = new StaDesc(
//            null,    // 作业类型
//            null,    // 站点名称
//            null,    // 堆垛机站点
//            null,    // 备注
//            null,    // 修改人员
//            null,    // 修改时间
//            null,    // 创建者
//            null    // 添加时间
//    );
    public Long getTypeId() {
        return typeId;
@@ -185,14 +161,7 @@
        return crnNo;
    }
    public String getCrnNo$(){
        BasCrnpService service = SpringUtils.getBean(BasCrnpService.class);
        BasCrnp basCrnp = service.selectById(this.crnNo);
        if (!Cools.isEmpty(basCrnp)){
            return String.valueOf(basCrnp.getCrnNo());
        }
        return null;
    }
    public void setCrnNo(Integer crnNo) {
        this.crnNo = crnNo;
@@ -227,14 +196,6 @@
        return modiUser;
    }
    public String getModiUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setModiUser(Long modiUser) {
        this.modiUser = modiUser;
@@ -259,14 +220,6 @@
        return appeUser;
    }
    public String getAppeUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setAppeUser(Long appeUser) {
        this.appeUser = appeUser;
src/main/java/com/zy/asrs/entity/WaitPakin.java
File was deleted
src/main/java/com/zy/asrs/entity/WrkDetl.java
File was deleted
src/main/java/com/zy/asrs/entity/WrkLastno.java
@@ -6,9 +6,7 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.text.SimpleDateFormat;
@@ -22,7 +20,6 @@
    /**
     * 类型
     */
    @ApiModelProperty(value= "类型")
    @TableId(value = "wrk_mk", type = IdType.INPUT)
    @TableField("wrk_mk")
    private Integer wrkMk;
@@ -30,56 +27,48 @@
    /**
     * 当前ID
     */
    @ApiModelProperty(value= "当前ID")
    @TableField("wrk_no")
    private Integer wrkNo;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value= "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    /**
     * 起始ID
     */
    @ApiModelProperty(value= "起始ID")
    @TableField("s_no")
    private Integer sNo;
    /**
     * 终止ID
     */
    @ApiModelProperty(value= "终止ID")
    @TableField("e_no")
    private Integer eNo;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    @TableField("memo_m")
    private String memoM;
@@ -127,14 +116,7 @@
        return modiUser;
    }
    public String getModiUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setModiUser(Long modiUser) {
        this.modiUser = modiUser;
@@ -159,14 +141,7 @@
        return appeUser;
    }
    public String getAppeUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public void setAppeUser(Long appeUser) {
        this.appeUser = appeUser;
src/main/java/com/zy/asrs/entity/WrkMast.java
File was deleted
src/main/java/com/zy/asrs/entity/WrkMastSta.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasCrnErrorMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasCrnOptMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasRgvErrMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasRgvMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasRgvOptMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasWrkIotypeMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/BasWrkStatusMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/LocMastMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/MatCodeMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/WaitPakinMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
File was deleted
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
File was deleted
src/main/java/com/zy/asrs/service/BasCrnOptService.java
File was deleted
src/main/java/com/zy/asrs/service/BasCrnpService.java
File was deleted
src/main/java/com/zy/asrs/service/BasRgvErrService.java
File was deleted
src/main/java/com/zy/asrs/service/BasRgvMapService.java
File was deleted
src/main/java/com/zy/asrs/service/BasRgvOptService.java
File was deleted
src/main/java/com/zy/asrs/service/BasRgvService.java
File was deleted
src/main/java/com/zy/asrs/service/LocDetlService.java
File was deleted
src/main/java/com/zy/asrs/service/LocMastService.java
File was deleted
src/main/java/com/zy/asrs/service/MatCodeService.java
File was deleted
src/main/java/com/zy/asrs/service/RowLastnoService.java
File was deleted
src/main/java/com/zy/asrs/service/WrkDetlService.java
File was deleted
src/main/java/com/zy/asrs/service/WrkMastService.java
File was deleted
src/main/java/com/zy/asrs/service/impl/BasCrnOptServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
@@ -5,7 +5,6 @@
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.mapper.BasDevpMapper;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.WrkMastService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -14,8 +13,6 @@
@Service("basDevpService")
public class BasDevpServiceImpl extends ServiceImpl<BasDevpMapper, BasDevp> implements BasDevpService {
    @Autowired
    private WrkMastService wrkMastService;
    @Override
    public List<Integer> getAvailableInSite() {
@@ -58,9 +55,7 @@
            if(station.getWrkNo()!=null && station.getWrkNo()>0) {
                throw new CoolException(devpNo+"站点已有工作号");
            }
            if(wrkMastService.getWorkingMast(devpNo)>0){
                throw new CoolException(devpNo+"站点不能同时生成两笔入库工作档");
            }
        }
        return station;
    }
src/main/java/com/zy/asrs/service/impl/BasRgvErrServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/BasRgvOptServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
@@ -6,9 +6,6 @@
import com.core.exception.CoolException;
import com.zy.asrs.domain.param.OpenBusSubmitParam;
import com.zy.asrs.domain.param.TaskDto;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.utils.News;
import com.zy.core.cache.MessageQueue;
@@ -56,14 +53,6 @@
    @Autowired
    private SlaveProperties slaveProperties;
    @Autowired
    private WrkMastMapper wrkMastMapper;
    @Autowired
    private LocMastService locMastService;
    @Autowired
    private WrkMastService wrkMastService;
    private boolean flag1001 = false;
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/MatCodeServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/utils/RouteUtils.java
File was deleted
src/main/java/com/zy/asrs/utils/VersionUtils.java
File was deleted
src/main/java/com/zy/common/CodeBuilder.java
File was deleted
src/main/java/com/zy/common/Main.java
File was deleted
src/main/java/com/zy/common/config/AdminInterceptor.java
@@ -1,16 +1,9 @@
package com.zy.common.config;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.zy.common.utils.Http;
import com.zy.system.entity.Permission;
import com.zy.system.entity.RolePermission;
import com.zy.system.entity.User;
import com.zy.system.entity.UserLogin;
import com.zy.system.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
@@ -30,16 +23,7 @@
    @Value("${super.pwd}")
    private String superPwd;
    @Autowired
    private UserService userService;
    @Autowired
    private UserLoginService userLoginService;
    @Autowired
    private OperateLogService operateLogService;
    @Autowired
    private PermissionService permissionService;
    @Autowired
    private RolePermissionService rolePermissionService;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
@@ -88,58 +72,10 @@
    }
    private boolean check(HttpServletRequest request, HttpServletResponse response, String memo) {
        try {
            String token = request.getHeader("token");
            UserLogin userLogin = userLoginService.selectOne(new EntityWrapper<UserLogin>().eq("token", token));
            if (null == userLogin){
                Http.response(response, BaseRes.DENIED);
                return false;
            }
            User user = userService.selectById(userLogin.getUserId());
            String deToken = Cools.deTokn(token, user.getPassword());
            long timestamp = Long.parseLong(deToken.substring(0, 13));
            // 1天后过期
            if (System.currentTimeMillis() - timestamp > 86400000){
                Http.response(response, BaseRes.DENIED);
                return false;
            }
            // 权限校验
            if (!limit(request.getRequestURI(), user)) {
                Http.response(response, BaseRes.LIMIT);
                return false;
            }
            // 操作日志
//            OperateLog operateLog = new OperateLog();
//            operateLog.setAction(Cools.isEmpty(memo)?request.getRequestURI():memo);
//            operateLog.setIp(request.getRemoteAddr());
//            operateLog.setUserId(user.getId());
//            operateLog.setRequest(JSON.toJSONString(request.getParameterMap()));
            // 请求缓存
            request.setAttribute("userId", user.getId());
//            request.setAttribute("operateLog", operateLog);
            return true;
        } catch (Exception e){
            Http.response(response, BaseRes.DENIED);
            return false;
        }
    }
    /**
     * 权限拦截
     * @return false:无权限;   true:认证通过
     */
    private boolean limit(String action, User user) {
        Permission permission = new Permission();
        permission.setAction(action);
        permission.setStatus((short) 1);
        Permission one = permissionService.selectOne(new EntityWrapper<>(permission));
        if (!Cools.isEmpty(one)) {
            RolePermission rolePermission = rolePermissionService.selectOne(new EntityWrapper<>(new RolePermission(user.getRoleId(), permission.getId())));
            return !Cools.isEmpty(rolePermission);
        }
        return true;
    }
    /**
     * 跨域
src/main/java/com/zy/common/entity/Parameter.java
File was deleted
src/main/java/com/zy/common/model/LocTypeDto.java
File was deleted
src/main/java/com/zy/common/model/MatDto.java
File was deleted
src/main/java/com/zy/common/model/PageParam.java
@@ -1,6 +1,5 @@
package com.zy.common.model;
import io.swagger.annotations.ApiModelProperty;
/**
 * 分页参数
@@ -8,10 +7,8 @@
 */
public class PageParam {
    @ApiModelProperty(value="分页索引",required=true)
    private int page = 1;
    @ApiModelProperty(value="单页数量",required=true)
    private int size = 10;
    public Integer getPage() {
src/main/java/com/zy/common/model/PowerDto.java
File was deleted
src/main/java/com/zy/common/model/StartupDto.java
File was deleted
src/main/java/com/zy/common/service/CommonService.java
File was deleted
src/main/java/com/zy/common/service/WmsService.java
File was deleted
src/main/java/com/zy/common/utils/CollectionUtils.java
File was deleted
src/main/java/com/zy/common/utils/RedisUtil.java
File was deleted
src/main/java/com/zy/common/utils/excel/EnInitData.java
File was deleted
src/main/java/com/zy/common/utils/excel/EnInitDataListener.java
File was deleted
src/main/java/com/zy/common/utils/excel/ExcelUtils.java
File was deleted
src/main/java/com/zy/common/web/AuthController.java
File was deleted
src/main/java/com/zy/common/web/BaseController.java
@@ -1,12 +1,7 @@
package com.zy.common.web;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.controller.AbstractBaseController;
import com.core.exception.CoolException;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
@@ -19,28 +14,12 @@
    @Autowired
    protected HttpServletRequest request;
    @Autowired
    private UserService userService;
    protected Long getUserId(){
        return Long.parseLong(String.valueOf(request.getAttribute("userId")));
    }
    protected User getUser(){
        User user = userService.selectById(getUserId());
        if (null == user) {
            throw new CoolException(BaseRes.DENIED);
        }
        return user;
    }
    protected String getComment(Class<?> cls, String fieldName){
        Field[] fields = Cools.getAllFields(cls);
        for (Field field : fields){
            if (fieldName.equals(field.getName())){
                return field.getAnnotation(ApiModelProperty.class).value();
            }
        }
        return "";
    }
}
src/main/java/com/zy/common/web/FileController.java
File was deleted
src/main/java/com/zy/common/web/RouterController.java
@@ -13,13 +13,12 @@
@Controller
public class RouterController {
    @Value("${server.servlet.context-path}")
    private String contextPath;
    @RequestMapping("/")
    public void index(HttpServletResponse response) {
        try{
            response.sendRedirect(contextPath+"/views/index.html");
            response.sendRedirect("/views/index.html");
        } catch (Exception ex){
            ex.printStackTrace();
        }
@@ -28,7 +27,7 @@
    @RequestMapping("/login")
    public void login(HttpServletResponse response) {
        try{
            response.sendRedirect(contextPath+"/views/login.html");
            response.sendRedirect("/views/login.html");
        } catch (Exception ex){
            ex.printStackTrace();
        }
@@ -37,7 +36,7 @@
    @RequestMapping("/control")
    public void control(HttpServletResponse response) {
        try{
            response.sendRedirect(contextPath+"/views/control.html");
            response.sendRedirect("/views/control.html");
        } catch (Exception ex){
            ex.printStackTrace();
        }
@@ -48,7 +47,7 @@
                        @PathVariable("ledId") Integer ledId,
                        HttpServletResponse response) {
        try{
            response.sendRedirect(contextPath+"/views/monitor/monitor.html"+ "?" + "crnId=" + cnrId + "&" + "ledId=" + ledId);
            response.sendRedirect("/views/monitor/monitor.html"+ "?" + "crnId=" + cnrId + "&" + "ledId=" + ledId);
        } catch (Exception ex){
            ex.printStackTrace();
        }
@@ -58,7 +57,7 @@
    public void monitor(@PathVariable("ledId") Integer ledId,
                        HttpServletResponse response) {
        try{
            response.sendRedirect(contextPath+"/views/monitor/monitor0.html"+ "?"  + "crnId=" + 2 + "&" + "ledId=" + ledId);
            response.sendRedirect("/views/monitor/monitor0.html"+ "?"  + "crnId=" + 2 + "&" + "ledId=" + ledId);
        } catch (Exception ex){
            ex.printStackTrace();
        }
src/main/java/com/zy/core/CrnThread.java
File was deleted
src/main/java/com/zy/core/MainProcess.java
File was deleted
src/main/java/com/zy/core/RgvThread2.java
File was deleted
src/main/java/com/zy/core/ServerBootstrap.java
@@ -32,8 +32,6 @@
    @Autowired
    private CtuMainProcess ctuMainProcess;
    public static final Map<CrnThread, Thread> map = new ConcurrentHashMap<>();
    /**
     * PostConstruct会在加载servlet的时候运行一次
     *
@@ -55,14 +53,6 @@
    }
    private void initMq() {
        // 初始化堆垛机mq
//        for (Slave crn : slaveProperties.getCrn()) {
//            MessageQueue.init(SlaveType.Crn, crn);
//        }
        // 初始化Rgv小车mq
//        for (Slave rgv : slaveProperties.getRgv()) {
//            MessageQueue.init(SlaveType.Rgv, rgv);
//        }
        // 初始化输送线mq
        for (Slave devp : slaveProperties.getDevp()) {
            MessageQueue.init(SlaveType.Devp, devp);
@@ -71,35 +61,10 @@
        for (Slave barcode : slaveProperties.getBarcode()) {
            MessageQueue.init(SlaveType.Barcode, barcode);
        }
        // 初始化Led灯mq
//        for (Slave led : slaveProperties.getLed()) {
//            MessageQueue.init(SlaveType.Led, led);
//        }
        // 初始化磅称mq
//        for (Slave scale : slaveProperties.getScale()) {
//            MessageQueue.init(SlaveType.Scale, scale);
//        }
//        // 初始化台车mq
//        for (Slave car : slaveProperties.getCar()) {
//            MessageQueue.init(SlaveType.Car, car);
//        }
    }
    private void initThread() {
        // 初始化堆垛机线程
//        News.info("初始化堆垛机线程...................................................");
//        for (CrnSlave crn : slaveProperties.getCrn()) {
//            CrnThread crnThread = new SiemensCrnThread(crn);
//            new Thread((Runnable) crnThread).start();
//            SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread);
//        }
        // 初始化穿梭车线程
//        log.info("初始化RGV线程...................................................");
//        for (RgvSlave rgv : slaveProperties.getRgv()) {
//            RgvThread rgvThread = new RgvThread(rgv);
//            new Thread((Runnable) rgvThread).start();
//            SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread);
//        }
        // 初始化输送线线程
        News.info("初始化输送线线程...................................................");
        for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -114,13 +79,6 @@
            new Thread(barcodeThread).start();
            SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
        }
//        // 初始化LED线程
//        News.info("初始化LED线程...................................................");
//        for (LedSlave led : slaveProperties.getLed()) {
//            LedThread ledThread = new LedThread(led);
//            new Thread(ledThread).start();
//            SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
//        }
        // 初始化磅秤线程
//        News.info("初始化磅秤线程...................................................");
//        for (Slave scale : slaveProperties.getScale()) {
@@ -135,40 +93,4 @@
    public void destroy() {
    }
//    @Component
//    class killThread {
//
//        @Scheduled(cron = "0/3 * * * * ? ")
//        public void kill() {
//            int i = 0;
//            for (Map.Entry<CrnThread, Thread> entry : map.entrySet()) {
//                i++;
//                SiemensCrnThread key = (SiemensCrnThread) entry.getKey();
////                System.out.println("第"+i+"个堆垛机线程重启线程条件:"+(System.currentTimeMillis() - key.getSign()));
//                if (System.currentTimeMillis() - key.getSign() > 120000) {
//                    System.out.println("第"+i+"个堆垛机线程被重启");
//
//                    // 请求线程安全停止
//                    key.requestStop();
//
//                    // 等待线程完成停止, 可以这样做也可以选择不这么做,取决于是否需要等待线程结束
//                    try {
//                        entry.getValue().join(20000); // 等待最多20秒
//                    } catch (InterruptedException e) {
////                        // 可适当处理中断
////                        Thread.currentThread().interrupt(); // 保留中断状态
//                        entry.getValue().stop();
//                    }
//
//                    // 重新启动线程
//                    Thread thread = new Thread((Runnable) key); // 假设CrnThread实现了Runnable
//                    thread.start();
//
//                    // 替换映射关系中的旧线程
//                    map.put(entry.getKey(), thread);
//                }
//            }
//        }
//    }
}
src/main/java/com/zy/core/Slave.java
@@ -2,6 +2,8 @@
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2020/8/4
 */
@@ -14,4 +16,6 @@
    private Integer port;
    private List<Integer> staNos;
}
src/main/java/com/zy/core/enums/CrnFingerPosType.java
File was deleted
src/main/java/com/zy/core/enums/CrnForkPosType.java
File was deleted
src/main/java/com/zy/core/enums/CrnLiftPosType.java
File was deleted
src/main/java/com/zy/core/enums/CrnModeType.java
File was deleted
src/main/java/com/zy/core/enums/CrnStatusType.java
File was deleted
src/main/java/com/zy/core/enums/CrnTaskModeType.java
File was deleted
src/main/java/com/zy/core/enums/IoModeType.java
File was deleted
src/main/java/com/zy/core/enums/RgvModeType.java
File was deleted
src/main/java/com/zy/core/enums/RgvStatusType.java
File was deleted
src/main/java/com/zy/core/enums/RgvTaskModeType.java
File was deleted
src/main/java/com/zy/core/enums/RouteCollectCountType.java
File was deleted
src/main/java/com/zy/core/model/CrnSlave.java
File was deleted
src/main/java/com/zy/core/model/LedSlave.java
File was deleted
src/main/java/com/zy/core/model/RgvSlave.java
File was deleted
src/main/java/com/zy/core/model/command/CrnCommand.java
File was deleted
src/main/java/com/zy/core/model/command/LedCommand.java
File was deleted
src/main/java/com/zy/core/model/command/RgvCommand.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnError1.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnError2.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnError3.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnError4.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnError5.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnError6.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
File was deleted
src/main/java/com/zy/core/model/protocol/CrnTemp1.java
File was deleted
src/main/java/com/zy/core/model/protocol/RgvProtocol.java
File was deleted
src/main/java/com/zy/core/netty/AbstractInboundHandler.java
File was deleted
src/main/java/com/zy/core/netty/HandlerInitializer.java
File was deleted
src/main/java/com/zy/core/netty/OnlineServer.java
File was deleted
src/main/java/com/zy/core/netty/cache/ChannelAttrKey.java
File was deleted
src/main/java/com/zy/core/netty/cache/ChannelCache.java
File was deleted
src/main/java/com/zy/core/netty/constant/Constant.java
File was deleted
src/main/java/com/zy/core/netty/domain/ChPackage.java
File was deleted
src/main/java/com/zy/core/netty/handle/PackageServerHandler.java
File was deleted
src/main/java/com/zy/core/netty/handle/ProtectorHandler.java
File was deleted
src/main/java/com/zy/core/netty/handle/ProtocolDecoder.java
File was deleted
src/main/java/com/zy/core/netty/handle/ProtocolEncoder.java
File was deleted
src/main/java/com/zy/core/netty/properties/TcpProperties.java
File was deleted
src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -1,10 +1,7 @@
package com.zy.core.properties;
import com.zy.core.Slave;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.LedSlave;
import com.zy.core.model.RgvSlave;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@@ -31,18 +28,9 @@
    private int groupCount;
    private List<CrnSlave> crn = new ArrayList<>();
    private List<DevpSlave> devp = new ArrayList<>();
    private List<Slave> barcode = new ArrayList<>();
    private List<LedSlave> led = new ArrayList<>();
    private List<Slave> scale = new ArrayList<>();
    private List<Slave> car = new ArrayList<>();
    private List<RgvSlave> rgv = new ArrayList<>();
}
src/main/java/com/zy/core/thread/LedThread.java
File was deleted
src/main/java/com/zy/core/thread/MelsecCrnThread.java
File was deleted
src/main/java/com/zy/core/thread/RgvThread.java
File was deleted
src/main/java/com/zy/core/thread/SiemensCrnThread.java
File was deleted
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -15,7 +15,6 @@
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.IoModeType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
@@ -78,18 +77,7 @@
     */
    private int barcodeSize = 2;
    /**
     * 入出库模式
     * 0:未知
     * 1:入库启动中
     * 2.入库模式
     * 3.出库启动中 (不能生成入库工作档)
     * 4.出库模式
     */
    public IoModeType ioModeOf2F = IoModeType.NONE;
    //    public IoModeType ioMode = IoModeType.NONE;
    public IoModeType ioModeOf4F = IoModeType.NONE;
//    public IoModeType ioMode = IoModeType.NONE;
    public SiemensDevpThread(DevpSlave slave) {
        this.slave = slave;
@@ -469,30 +457,9 @@
        }
    }
    // 更新入出库模式
    private void updateIoMode() throws InterruptedException {
        if (this.ioModeOf2F != IoModeType.NONE) {
            if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) {
                OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F入出库模式失败。输送线plc编号={1}", slave.getId()));
                News.error("SiemensDevp" + " - 6" + " - 写入输送线2F入出库模式失败。输送线plc编号={}", slave.getId());
            }
        }
    }
    /**
     * 心跳
     */
    private void heartbeat() {
        if (heartBeatVal == 1) {
            heartBeatVal = 2;
        } else {
            heartBeatVal = 1;
        }
        OperateResult write = siemensS7Net.Write("DB100.50", heartBeatVal);
        if (!write.IsSuccess) {
            News.error("SiemensDevp" + " - 7" + " - 输送线plc编号={} 心跳失败", slave.getId());
        }
    }
    /**
     * 设置入库标记
@@ -510,38 +477,6 @@
        siemensS7Net.ConnectClose();
    }
    public static void main(String[] args) {
        System.out.println(staNos1.indexOf(129));
        System.out.println(staNos1.size());
        for (int i = 0; i < staNos1.size(); i++) {
//            System.out.println(i*2);
//            System.out.println(i*2 + 200);
//            System.out.println(i);
        }
        int index = staNos1.indexOf(128);
        System.out.println(index * 2);
        System.out.println(index * 2 + 200);
    }
//    public static void main(String[] args) throws Exception {
//        DevpSlave slave = new DevpSlave();
//        slave.setIp("192.168.2.125");
//        SiemensDevpThread devpThread = new SiemensDevpThread(slave);
//        devpThread.connect();
//        devpThread.read();
//        // 写
//        StaProtocol staProtocol = devpThread.getStation().get(1);
//        staProtocol.setWorkNo((short) 232);
//        staProtocol.setStaNo((short) 6);
//        staProtocol.setAutoing(true);
//        staProtocol.setEmptyMk(true);
//        staProtocol.setInEnable(true);
//        devpThread.write(staProtocol);
//        System.out.println("----------------------------------------");
//        // 读
//        devpThread.read();
//        System.out.println(JSON.toJSONString(devpThread.station));
//
//    }
}
src/main/java/com/zy/system/controller/ApiController.java
File was deleted
src/main/java/com/zy/system/controller/ConfigController.java
File was deleted
src/main/java/com/zy/system/controller/HomeController.java
File was deleted
src/main/java/com/zy/system/controller/HostController.java
File was deleted
src/main/java/com/zy/system/controller/OperateLogController.java
File was deleted
src/main/java/com/zy/system/controller/PermissionController.java
File was deleted
src/main/java/com/zy/system/controller/ResourceController.java
File was deleted
src/main/java/com/zy/system/controller/RoleController.java
File was deleted
src/main/java/com/zy/system/controller/UserController.java
File was deleted
src/main/java/com/zy/system/controller/UserLoginController.java
File was deleted
src/main/java/com/zy/system/entity/Api.java
File was deleted
src/main/java/com/zy/system/entity/Config.java
File was deleted
src/main/java/com/zy/system/entity/Host.java
File was deleted
src/main/java/com/zy/system/entity/OperateLog.java
File was deleted
src/main/java/com/zy/system/entity/Permission.java
File was deleted
src/main/java/com/zy/system/entity/Resource.java
File was deleted
src/main/java/com/zy/system/entity/Role.java
File was deleted
src/main/java/com/zy/system/entity/RolePermission.java
File was deleted
src/main/java/com/zy/system/entity/RoleResource.java
File was deleted
src/main/java/com/zy/system/entity/User.java
File was deleted
src/main/java/com/zy/system/entity/UserLogin.java
File was deleted
src/main/java/com/zy/system/mapper/ApiMapper.java
File was deleted
src/main/java/com/zy/system/mapper/ConfigMapper.java
File was deleted
src/main/java/com/zy/system/mapper/HostMapper.java
File was deleted
src/main/java/com/zy/system/mapper/OperateLogMapper.java
File was deleted
src/main/java/com/zy/system/mapper/PermissionMapper.java
File was deleted
src/main/java/com/zy/system/mapper/ResourceMapper.java
File was deleted
src/main/java/com/zy/system/mapper/RoleMapper.java
File was deleted
src/main/java/com/zy/system/mapper/RolePermissionMapper.java
File was deleted
src/main/java/com/zy/system/mapper/RoleResourceMapper.java
File was deleted
src/main/java/com/zy/system/mapper/UserLoginMapper.java
File was deleted
src/main/java/com/zy/system/mapper/UserMapper.java
File was deleted
src/main/java/com/zy/system/service/ApiService.java
File was deleted
src/main/java/com/zy/system/service/ConfigService.java
File was deleted
src/main/java/com/zy/system/service/HostService.java
File was deleted
src/main/java/com/zy/system/service/OperateLogService.java
File was deleted
src/main/java/com/zy/system/service/PermissionService.java
File was deleted
src/main/java/com/zy/system/service/ResourceService.java
File was deleted
src/main/java/com/zy/system/service/RolePermissionService.java
File was deleted
src/main/java/com/zy/system/service/RoleResourceService.java
File was deleted
src/main/java/com/zy/system/service/RoleService.java
File was deleted
src/main/java/com/zy/system/service/UserLoginService.java
File was deleted
src/main/java/com/zy/system/service/UserService.java
File was deleted
src/main/java/com/zy/system/service/impl/ApiServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/ConfigServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/HostServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/OperateLogServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/PermissionServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/ResourceServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/RolePermissionServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/RoleResourceServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/RoleServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java
File was deleted
src/main/java/com/zy/system/service/impl/UserServiceImpl.java
File was deleted
src/main/resources/application.yml
@@ -1,28 +1,18 @@
server:
  port: 9090
  servlet:
    context-path: /@pom.build.finalName@
spring:
  application:
    name: @pom.build.finalName@
#  datasource:
#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://10.10.10.247:1433;databasename=whxrasrs
#    username: sa
#    password: Sa@12345678
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://10.10.10.200:3306/wcs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    url: jdbc:mysql://127.0.0.1:3306/wcs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: xltys1995
  mvc:
    static-path-pattern: /**
  redis:
    host: 10.10.10.200
    port: 6379
    database: 10
    password: xltys1995
ctu:
  url: 10.10.10.200:8088
@@ -45,131 +35,9 @@
swagger:
  enable: false
wms:
  url: 127.0.0.1:8080/whxrwms
# 下位机配置
wcs-slave:
  # 双深
  doubleDeep: false
  # 双深库位排号
  doubleLocs: 1,4,5,8,9,12,13,16
  # 一个堆垛机负责的货架排数
  groupCount: 2
  # 堆垛机1
  crn[0]:
    id: 1
    ip: 10.10.10.110
    port: 102
    rack: 0
    slot: 0
    # 偏移量,当堆垛机站点列号=1时,货架从2开始,加1
    offset: 0
    demo: false
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 218
      row: 2
      bay: 1
      lev: 1
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 222
      row: 1
      bay: 1
      lev: 1
    # 堆垛机入库站点
    crnInStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 118
      row: 2
      bay: 42
      lev: 1
    # 堆垛机出库站点
    crnOutStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 122
      row: 1
      bay: 42
      lev: 1
  # 堆垛机2
  crn[1]:
    id: 2
    ip: 10.10.10.120
    port: 102
    rack: 0
    slot: 0
    # 偏移量,当堆垛机站点列号=1时,偏移量=2
    offset: 0
    demo: false
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 211
      row: 4
      bay: 1
      lev: 1
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 215
      row: 3
      bay: 1
      lev: 1
    # 堆垛机入库站点
    crnInStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 111
      row: 4
      bay: 42
      lev: 1
    # 堆垛机出库站点
    crnOutStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 115
      row: 3
      bay: 42
      lev: 1
  # 堆垛机3
  crn[2]:
    id: 3
    ip: 10.10.10.130
    port: 102
    rack: 0
    slot: 0
    # 偏移量,当堆垛机站点列号=1时,偏移量=2
    offset: 0
    demo: false
    # 堆垛机入库站点
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 204
      row: 6
      bay: 1
      lev: 1
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 208
      row: 5
      bay: 1
      lev: 1
    # 堆垛机入库站点
    crnInStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 104
      row: 6
      bay: 42
      lev: 1
    # 堆垛机出库站点
    crnOutStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 108
      row: 5
      bay: 42
      lev: 1
  # 输送线1
  devp[0]:
    id: 1
@@ -177,47 +45,16 @@
    port: 102
    rack: 0
    slot: 0
    staNos: 1001,1002,1003,1004,1005,1006,1007
    # 入库口1
    inSta[0]:
      staNo: 1007
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 1007
      led: ${wcs-slave.led[0].id}
#    # 入库口1
#    inSta[1]:
#      staNo: 201
#      barcode: ${wcs-slave.barcode[1].id}
#      backSta: 200
#      led: ${wcs-slave.led[1].id}
#    # 拣料入库口1
#    pickSta[0]:
#      staNo: 101
#      barcode: ${wcs-slave.barcode[0].id}
#      led: ${wcs-slave.led[0].id}
#      backSta: 100
#    # 拣料入库口1
#    pickSta[1]:
#      staNo: 201
#      barcode: ${wcs-slave.barcode[1].id}
#      led: ${wcs-slave.led[1].id}
#      backSta: 200
#    # 空板入库口1
#    emptyInSta[0]:
#      staNo: 101
#      barcode: ${wcs-slave.barcode[0].id}
#      backSta: 100
#      led: ${wcs-slave.led[0].id}
#    # 空板入库口2
#    emptyInSta[1]:
#      staNo: 201
#      barcode: ${wcs-slave.barcode[1].id}
#      backSta: 200
#      led: ${wcs-slave.led[1].id}
    # 出库口1
    outSta[0]:
      staNo: 1001
#    outSta[1]:
#      staNo: 223
  # 条码扫描仪1
  barcode[0]:
    id: 1
src/main/resources/mapper/BasCrnErrorMapper.xml
File was deleted
src/main/resources/mapper/BasCrnpMapper.xml
File was deleted
src/main/resources/mapper/BasDevpMapper.xml
File was deleted
src/main/resources/mapper/BasPlcerrorMapper.xml
File was deleted
src/main/resources/mapper/BasRgvErrMapper.xml
File was deleted
src/main/resources/mapper/BasRgvMapMapper.xml
File was deleted
src/main/resources/mapper/BasRgvMapper.xml
File was deleted
src/main/resources/mapper/BasRgvOptMapper.xml
File was deleted
src/main/resources/mapper/BasWrkIotypeMapper.xml
File was deleted
src/main/resources/mapper/BasWrkStatusMapper.xml
File was deleted
src/main/resources/mapper/ConfigMapper.xml
File was deleted
src/main/resources/mapper/HostMapper.xml
File was deleted
src/main/resources/mapper/LocDetlMapper.xml
File was deleted
src/main/resources/mapper/LocMastMapper.xml
File was deleted
src/main/resources/mapper/MatCodeMapper.xml
File was deleted
src/main/resources/mapper/OperateLogMapper.xml
File was deleted
src/main/resources/mapper/PermissionMapper.xml
File was deleted
src/main/resources/mapper/ResourceMapper.xml
File was deleted
src/main/resources/mapper/RoleMapper.xml
File was deleted
src/main/resources/mapper/RolePermissionMapper.xml
File was deleted
src/main/resources/mapper/RoleResourceMapper.xml
File was deleted
src/main/resources/mapper/RowLastnoMapper.xml
File was deleted
src/main/resources/mapper/StaDescMapper.xml
File was deleted
src/main/resources/mapper/UserLoginMapper.xml
File was deleted
src/main/resources/mapper/UserMapper.xml
File was deleted
src/main/resources/mapper/WaitPakinMapper.xml
File was deleted
src/main/resources/mapper/WrkDetlMapper.xml
File was deleted
src/main/resources/mapper/WrkLastnoMapper.xml
File was deleted
src/main/resources/mapper/WrkMastMapper.xml
File was deleted
src/main/resources/mapper/WrkMastStaMapper.xml
File was deleted
src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
var baseUrl = "/whxrwcs";
var baseUrl = "";
// 赋值
function setVal(el, val) {
src/main/webapp/views/console-old.html
File was deleted
src/main/webapp/views/console.html
File was deleted
src/main/webapp/views/crn.html
File was deleted
src/main/webapp/views/index.html
@@ -1,107 +1,96 @@
<!DOCTYPE html>
<html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>自动仓库WCS系统</title>
    <link rel="icon" type="image/x-icon" href="../static/images/favicon.ico">
    <link rel="stylesheet" href="../static/css/index.css">
    <link rel="stylesheet" href="../static/css/layx.min.css" type="text/css" />
    <script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
    <link rel="icon" type="image/x-icon" href="../static/images/favicon.ico" />
    <script src="../static/js/tools/layx.min.js"></script>
    <link rel="stylesheet" href="../static/css/layx.min.css">
    <style>
        .layx-window.layx-skin-news .layx-control-bar {
            background-color: #333333;
            background-color: #333;
        }
    </style>
</head>
<body>
<!-- 导航栏 -->
<!--        <div class="nav">-->
<!--            <li class="right">注销<a id="about" class="nav-unselect" onclick="logout()" href="#"></a></li>-->
<!--        </div>-->
<div class="sidebar">
    <div class="nav">
        <ul class="cl-effect-4">
            <li><a id="pipeline" onclick="nav(this.id)" class="nav-select" href="#">输送设备</a></li>
<!--            <li><a id="console" onclick="nav(this.id)" class="nav-unselect" href="#">主控图</a></li>-->
<!--            <li><a id="crn" onclick="nav(this.id)" class="nav-unselect" href="#">堆垛机</a></li>-->
<!--            <li><a id="rgv" onclick="nav(this.id)" class="nav-unselect" href="#">RGV</a></li>-->
        </ul>
    </div>
</div>
<!--<div style="z-index: 999; position: absolute; top: 250px; left: 900px; width: 200px; height: 200px; opacity: 0.5;background-color: #0000FF">-->
<!--</div>-->
<!-- 主体内容 -->
<iframe id="content" src="pipeline.html"></iframe>
<iframe id="content" src="pipeline.html" frameborder="0"></iframe>
<footer class="footer">
    Copyright © 2023 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">浙江中扬立库技术有限公司</a>  保留所有权利
    Copyright © 2023 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">浙江中扬立库技术有限公司</a> 保留所有权利
</footer>
</body>
<script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
<script src="../static/js/tools/layx.min.js"></script>
<script>
    // 导航栏
    // 导航栏切换函数
    function nav(id) {
        $('.nav-select').attr("class", "nav-unselect");
        $('#'+id).attr("class", "nav-select");
        $('#content').attr("src", id+".html");
        $('.nav-select').removeClass('nav-select').addClass('nav-unselect');
        $('#' + id).removeClass('nav-unselect').addClass('nav-select');
        $('#content').attr('src', id + '.html');
    }
    // 注销函数
    function logout() {
        localStorage.removeItem("token");
        window.location.href = baseUrl + "/login";
        localStorage.removeItem('token');
        window.location.href = (window.baseUrl || '') + '/login';
    }
    // 系统运行状态
    var systemRunning = true;
    news();layx.min('wcs-news');
    function news() {
        layx.iframe(
            'wcs-news' // id
            , '系统分析报告'
            , "news.html"
            , {
                shadow:false
                , storeStatus:false
                // , skin: 'news'
                , width:800
                , height:600
                , position:'rb'
                // , control:false
                , opacity:0.9
                , border:false
                , icon:'<img src="../static/images/favicon.ico" style="height:22px;display:block;"  alt=""/>'
                , stickMenu:true
                , maxMenu:false
                , closeMenu:false
                , moveLimit:{
                    leftOut: false,
                    rightOut: false,
                    topOut: false,
                    bottomOut: false,
                }
                , minWidth:300
                , minHeight:300
                , borderRadius: '8px'
                , shadeDestroy:true
                , escKey: false
                , event:{
                    onmin: {
                        after: function () {
                            $('.layx-min-statu').css("left", "inherit").css("right", "10px")
                        }
    // 系统分析报告弹窗
    function showNewsReport() {
        layx.iframe('wcs-news', '系统分析报告', 'news.html', {
            shadow: false,
            storeStatus: false,
            width: 800,
            height: 600,
            position: 'rb',
            opacity: 0.9,
            border: false,
            icon: '<img src="../static/images/favicon.ico" style="height:22px;display:block;" alt=""/>',
            stickMenu: true,
            maxMenu: false,
            closeMenu: false,
            moveLimit: {
                leftOut: false,
                rightOut: false,
                topOut: false,
                bottomOut: false
            },
            minWidth: 300,
            minHeight: 300,
            borderRadius: '8px',
            shadeDestroy: true,
            escKey: false,
            event: {
                onmin: {
                    after: function() {
                        $('.layx-min-statu').css('left', 'inherit').css('right', '10px');
                    }
                    , onrestore:{
                        after: function () {
                            let win = layx.getFrameContext('wcs-news');
                            win.autoScroll = true
                },
                onrestore: {
                    after: function() {
                        let win = layx.getFrameContext('wcs-news');
                        if (win) {
                            win.autoScroll = true;
                        }
                    }
                }
            }
        );
        });
    }
    // 页面加载完成后初始化
    $(document).ready(function() {
        showNewsReport();
        layx.min('wcs-news');
    });
</script>
</html>
src/main/webapp/views/indexTV.html
File was deleted
src/main/webapp/views/led.html
File was deleted
src/main/webapp/views/login.html
File was deleted
src/main/webapp/views/monitor/img/banner/test1.jpg
Binary files differ
src/main/webapp/views/monitor/img/banner/test2.jpg
Binary files differ
src/main/webapp/views/monitor/img/banner/test3.png
Binary files differ
src/main/webapp/views/monitor/monitor0.html
File was deleted
src/main/webapp/views/pipeline.html
@@ -1,36 +1,32 @@
<!DOCTYPE html>
<html lang="en">
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>WCS输送设备管理</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" type="text/css" href="../static/css/normalize.css">
    <link rel="stylesheet" type="text/css" href="../static/css/common.css">
    <link rel="stylesheet" type="text/css" href="../static/css/pipeline.css">
    <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../static/js/common.js"></script>
    <script type="text/javascript" src="../static/js/layer/layer.js"></script>
    <title>WCS输送设备管理</title>
    <link rel="stylesheet" href="../static/css/normalize.css">
    <link rel="stylesheet" href="../static/css/common.css">
    <link rel="stylesheet" href="../static/css/pipeline.css">
    <style>
        .io-mode-box {
            float: left;
            width: 16%;
            text-align: center;
        }
        .io-mode-box label {
            font-weight: bolder;
        }
        .ioModeBtn {
            vertical-align: middle;
            width: 50%;
            height: 30px;
            left: 0;
            top: 0;
            text-shadow: inherit;
            font-size: 15px;
            margin-left: 5px;
            margin-right: 5px;
            margin: 0 5px;
            display: inline-block;
            background-color: #FF5722;
            border: none;
@@ -40,414 +36,380 @@
            cursor: pointer;
        }
    </style>
    <script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script src="../static/js/common.js"></script>
    <script src="../static/js/layer/layer.js"></script>
</head>
<body>
<div style="padding: 10px;height: 100%;float: left;width: 6%">
    <div class="button-window"></div>
</div>
    <!-- 左侧按钮区域 -->
    <aside class="sidebar" style="padding: 10px; height: 100%; float: left; width: 6%;">
        <div class="button-window"></div>
    </aside>
<div style="height: 100%;padding-left: 6%">
    <div style="padding: 10px;height: 100%">
        <main>
            <!-- plc异常日志监控版 -->
            <div id="plc-error" class="main-board" style="padding-left: 10px">
                <!-- 头部 -->
<!--                <div class="plc-log-header">-->
<!--                    &lt;!&ndash; 设备任务操作 &ndash;&gt;-->
<!--                    <div class="io-mode-oper">-->
<!--                        <fieldset>-->
<!--                            <legend>入出库模式(IO-Mode)</legend>-->
<!--                            <div class="io-mode-box">-->
<!--                                <label>F2</label>-->
<!--                                <button id="io-mode-2" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button>-->
<!--                            </div>-->
<!--                            <div class="io-mode-box">-->
<!--                                <label>F4</label>-->
<!--                                <button id="io-mode-4" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button>-->
<!--                            </div>-->
<!--                        </fieldset>-->
<!--                    </div>-->
<!--                    &lt;!&ndash;            <div style="height: 40%">&ndash;&gt;-->
<!--                    &lt;!&ndash;                <span>东侧PLC执行指令</span>&ndash;&gt;-->
<!--                    &lt;!&ndash;            </div>&ndash;&gt;-->
<!--                    &lt;!&ndash;            <div style="height: 40%">&ndash;&gt;-->
<!--                    &lt;!&ndash;                <span>西侧PLC执行指令</span>&ndash;&gt;-->
<!--                    &lt;!&ndash;            </div>&ndash;&gt;-->
<!--                    &lt;!&ndash;                    <div>&ndash;&gt;-->
<!--                    &lt;!&ndash;                        <span style="color: #1E9FFF">PLC异常信息表:</span>&ndash;&gt;-->
<!--                    &lt;!&ndash;                    </div>&ndash;&gt;-->
<!--                </div>-->
                <!-- 主体 -->
                <div class="plc-log-body">
                    <div>
                        <span style="color: #1E9FFF">PLC异常信息表:</span>
                    </div>
                    <table id="plc-error-table">
                        <thead>
                        <tr>
                            <th style="width: 200px">序号</th>
                            <th style="width: 400px">PLC错误描述</th>
                            <th style="width: 400px">异常</th>
                        </tr>
    <!-- 主内容区域 -->
    <div class="main-content" style="height: 100%; padding-left: 6%;">
        <div class="container" style="padding: 10px; height: 100%;">
            <!-- 主要内容 -->
            <main>
                <!-- 站点状态数据监控版 -->
                <section id="site-monitor" class="main-board">
                    <!-- 表格 -->
                    <!-- 固定表头:table加table-layout: fixed; th加position:sticky;top: 0; -->
                    <table id="site-table" class="status-table" style="table-layout: fixed;">
                        <!-- 表头 -->
                        <thead class="table-header" style="position:sticky;top: 0;">
                            <tr>
                                <th>站号</th>
                                <th>工作号</th>
                                <th>自动</th>
                                <th>有物</th>
                                <th>可入</th>
                                <th>可出</th>
                                <th>入库标记</th>
                                <th>空板信号</th>
                                <th>目标站</th>
                                <th>高低库位</th>
                            </tr>
                        </thead>
                        <tbody>
                        </tbody>
                        <!-- 表格内容 -->
                        <tbody class="table-body"></tbody>
                    </table>
                </div>
            </div>
                </section>
            </main>
            <!-- 站点状态数据监控版 -->
            <div id="site-monitor" class="main-board">
                <!-- 表格 -->
                <!--固定表头 table 加table-layout: fixed;  th 加 position:sticky;top: 0;-->
                <table id="site-table" style="table-layout: fixed;">
                    <!-- 表头 -->
                    <thead style="position:sticky;top: 0;">
                    <tr>
                        <th>站号</th>
                        <th>工作号</th>
                        <th>自动</th>
                        <th>有物</th>
                        <th>可入</th>
                        <th>可出</th>
                        <th>入库标记</th>
                        <th>空板信号</th>
                        <th>目标站</th>
                        <th>高低库位</th>
                    </tr>
                    </thead>
                    <!-- 表格内容 -->
                    <tbody></tbody>
                </table>
            </div>
        </main>
        <footer>
            <textarea id="output"></textarea>
        </footer>
            <!-- 页脚区域 -->
            <footer>
                <textarea id="output" class="output-log"></textarea>
            </footer>
        <div id="site-detl" style="display: none">
            <form>
                <div class="form-item">
                    <label class="form-label">站号:</label>
                    <div class="form-input">
                        <input id="siteId" name="siteId" class="layui-input" lay-verify="required|number" autocomplete="off" disabled="disabled">
            <!-- 站点详情弹窗 -->
            <div id="site-detl" class="site-detail-form" style="display: none;">
                <form class="detail-form">
                    <div class="form-item">
                        <label class="form-label" for="siteId">站号:</label>
                        <div class="form-input">
                            <input id="siteId" name="siteId" class="layui-input" type="number" lay-verify="required|number" autocomplete="off" disabled="disabled">
                        </div>
                    </div>
                </div>
                <div class="form-item">
                    <label class="form-label">工作号:</label>
                    <div class="form-input">
                        <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
                    <div class="form-item">
                        <label class="form-label" for="workNo">工作号:</label>
                        <div class="form-input">
                            <input id="workNo" name="workNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
                        </div>
                    </div>
                </div>
                <div class="form-item">
                    <label class="form-label">目标站:</label>
                    <div class="form-input">
                        <input id="staNo" name="staNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
                    <div class="form-item">
                        <label class="form-label" for="staNo">目标站:</label>
                        <div class="form-input">
                            <input id="staNo" name="staNo" type="number" class="layui-input" lay-verify="number" autocomplete="off">
                        </div>
                    </div>
                </div>
                <div class="form-item">
                    <label class="form-label">入库标记:</label>
                    <div class="form-input">
                        <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
                    <div class="form-item">
                        <label class="form-label" for="pakMk">入库标记:</label>
                        <div class="form-input">
                            <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
                        </div>
                    </div>
                </div>
                <div class="form-item form-button-container">
                    <button class="form-button" id="save">保存</button>
                    <button class="form-button" id="cancel" style="background-color: #D0D0D0">取消</button>
                </div>
            </form>
                    <div class="form-item form-button-container">
                        <button type="button" class="form-button" id="save">保存</button>
                        <button type="button" class="form-button" id="cancel" style="background-color: #D0D0D0;">取消</button>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>
</body>
<script>
    // 初始化
    // 空白行数
    var stop = false
    var plcErrorTableBlankRows = 0;
    var siteTableBlankRows = 0;
    // 实际行数
    var plcErrorTableFullRows = 0;
    var siteTableFullRows = 0;
    var outputDom = document.getElementById("output");
    $(document).ready(function() {
        getIoModeInfo();
        initPlcErrorTable();
        getPlcError();
        initSiteTable();
        getSite();
    });
    // 实时访问
    setInterval(function () {
        getPlcError();
        starGetSite();
        getIoModeInfo();
    }, 1000);
    setInterval(function () {
        getSiteOutput();
    },500);
    function starGetSite() {
        if (stop) {
            return
        } else {
    // 自执行函数表达式,避免全局变量污染
    (function() {
        // 初始化变量
        let isSiteUpdatePaused = false;
        let plcErrorTableBlankRows = 0;
        let siteTableBlankRows = 0;
        let plcErrorTableFullRows = 0;
        let siteTableFullRows = 0;
        const outputDom = document.getElementById("output");
        let ioModeData = [];
        let layerDetl = null;
        let timers = [];
        // DOM加载完成后初始化
        $(document).ready(function() {
            // 初始化表格
            initPlcErrorTable();
            initSiteTable();
            // 加载初始数据
            getPlcError();
            getSite();
        }
    }
    var ioModeData;
    function getIoModeInfo() {
        $.ajax({
            url: baseUrl+ "/site/io/mode/info/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'GET',
            success: function (res) {
                if (res.code === 200){
                    ioModeData = res.data;
                    ioModeData.forEach(function (e) {
                        $("#io-mode-"+e.floor).html(e.modeDesc);
                    })
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
            // 初始化定时器
            initTimers();
        });
    }
    /**
     * 强制切换入出库模式
     */
    function ioModeSwitch(el) {
        var floor = el.split("-")[2];
        if (ioModeData != null && ioModeData.length > 1) {
            ioModeData.forEach(function(e) {
                if (e.floor === Number(floor)) {
                    if (e.modeVal === 3 || e.modeVal === 4) {
                        layer.confirm('确定切换为入库模式吗?',function () {
                            $.ajax({
                                url: baseUrl+ "/site/io/mode/action/site",
                                headers: {'token': localStorage.getItem('token')},
                                data: {floor: e.floor},
                                method: 'POST',
                                success: function (res) {
                                    if (res.code === 200){
                                        layer.msg("暂时不能切换!", {icon: 1})
                                    } else if (res.code === 403){
                                        window.location.href = baseUrl+"/login";
                                    }  else {
                                        console.log(res.msg);
                                    }
                                }
                            });
                            layer.closeAll();
                        })
        // 初始化定时器
        function initTimers() {
            // 每秒更新PLC错误、站点信息和IO模式
            timers.push(setInterval(() => {
                getPlcError();
                if (!isSiteUpdatePaused) {
                    getSite();
                }
                getIoModeInfo();
            }, 1000));
            // 每500毫秒更新站点输出日志
            timers.push(setInterval(() => {
                getSiteOutput();
            }, 500));
        }
        /**
         * 强制切换入出库模式
         * @param {string} el - 元素ID
         */
        function ioModeSwitch(el) {
            const floor = el.split("-")[2];
            const targetFloor = ioModeData.find(e => e.floor === Number(floor));
            if (targetFloor && (targetFloor.modeVal === 3 || targetFloor.modeVal === 4)) {
                layer.confirm('确定切换为入库模式吗?', () => {
                    ajaxRequest({
                        url: `${baseUrl}/site/io/mode/action/site`,
                        method: 'POST',
                        data: { floor: targetFloor.floor },
                        success: (res) => {
                            layer.msg("暂时不能切换!", { icon: 1 });
                        }
                    });
                    layer.closeAll();
                });
            }
        }
        // 获取PLC异常信息表
        function getPlcError() {
            const tableEl = $('#plc-error-table');
            tableEl.children("tr").children("td").html("");
            ajaxRequest({
                url: `${baseUrl}/site/table/plc/errors`,
                method: 'POST',
                success: (res) => {
                    if (res.data) {
                        const tableData = res.data;
                        for (let i = 0; i < tableData.length; i++) {
                            const tr = tableEl.find("tr").eq(i + 1);
                            tr.children("td").eq(0).html(tableData[i].no);
                            tr.children("td").eq(1).html(tableData[i].plcDesc);
                            tr.children("td").eq(2).html(tableData[i].error);
                        }
                    }
                }
            });
        }
    }
    // plc异常信息表获取
    function getPlcError() {
        var tableEl = $('#plc-error-table');
        tableEl.children("tr").children("td").html("");
        $.ajax({
            url: baseUrl+ "/site/table/plc/errors",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var table = res.data;
                    for (var i=1;i<=table.length;i++){
                        var tr = tableEl.find("tr").eq(i);
                        tr.children("td").eq(0).html(table[i-1].no);
                        tr.children("td").eq(1).html(table[i-1].plcDesc);
                        tr.children("td").eq(2).html(table[i-1].error);
        // 获取站点信息表
        function getSite() {
            const tableEl = $('#site-table');
            ajaxRequest({
                url: `${baseUrl}/site/table/site`,
                method: 'POST',
                success: (res) => {
                    if (res.data) {
                        const tableData = res.data;
                        if (tableData.length > siteTableBlankRows && tableData.length !== siteTableFullRows) {
                            initSiteTable(tableData.length - siteTableBlankRows);
                            siteTableFullRows = tableData.length;
                        }
                        for (let i = 0; i < tableData.length; i++) {
                            const tr = tableEl.find("tr").eq(i + 1);
                            setVal(tr.children("td").eq(0), tableData[i].devNo);
                            setVal(tr.children("td").eq(1), tableData[i].workNo);
                            setVal(tr.children("td").eq(2), tableData[i].autoing);
                            setVal(tr.children("td").eq(3), tableData[i].loading);
                            setVal(tr.children("td").eq(4), tableData[i].inEnable);
                            setVal(tr.children("td").eq(5), tableData[i].outEnable);
                            setVal(tr.children("td").eq(6), tableData[i].pakMk);
                            setVal(tr.children("td").eq(7), tableData[i].emptyMk);
                            setVal(tr.children("td").eq(8), tableData[i].staNo);
                            setVal(tr.children("td").eq(9), tableData[i].locType1);
                        }
                    }
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
            });
        }
    // 站点信息表获取
    function getSite() {
        var tableEl = $('#site-table');
        $.ajax({
            url: baseUrl+ "/site/table/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    var table = res.data;
                    if (table.length > siteTableBlankRows && table.length !== siteTableFullRows) {
                        initSiteTable(table.length-siteTableBlankRows);
                        siteTableFullRows = table.length;
        // 获取输送设备日志输出
        function getSiteOutput() {
            ajaxRequest({
                url: `${baseUrl}/site/output/site`,
                method: 'POST',
                success: (res) => {
                    if (res.data) {
                        output(res.data);
                    }
                    for (var i=1;i<=table.length;i++){
                        var tr = tableEl.find("tr").eq(i);
                        setVal(tr.children("td").eq(0), table[i-1].devNo);
                        setVal(tr.children("td").eq(1), table[i-1].workNo);
                        setVal(tr.children("td").eq(2), table[i-1].autoing);
                        setVal(tr.children("td").eq(3), table[i-1].loading);
                        setVal(tr.children("td").eq(4), table[i-1].inEnable);
                        setVal(tr.children("td").eq(5), table[i-1].outEnable);
                        setVal(tr.children("td").eq(6), table[i-1].pakMk);
                        setVal(tr.children("td").eq(7), table[i-1].emptyMk);
                        setVal(tr.children("td").eq(8), table[i-1].staNo);
                        setVal(tr.children("td").eq(9), table[i-1].locType1);
                    }
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
                }  else {
                    console.log(res.msg);
                }
            }
        });
    }
    // 输送设备日志输出
    function getSiteOutput() {
        $.ajax({
            url: baseUrl + "/site/output/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200) {
                    output(res.data);
                } else if (res.code === 403) {
                    window.location.href = baseUrl + "/login";
                } else {
                },
                error: (res) => {
                    alert(res.msg);
                }
            });
        }
        // 日志输出框
        function output(content) {
            outputDom.value += content;
            outputDom.scrollTop = outputDom.scrollHeight;
        }
        // PLC异常空白表格渲染
        function initPlcErrorTable(row) {
            let line;
            if (row === undefined) {
                const one = $('#plc-error-table thead').height();
                const total = $('.plc-log-body').height();
                const count = parseInt(total / one) - 1;
                plcErrorTableBlankRows = count;
                line = count;
            } else {
                line = row;
            }
        })
    }
    // 日志输出框
    function output(content){
        outputDom.value += content;
        outputDom.scrollTop = outputDom.scrollHeight;
    }
    // ------------------------------------------------------------------------------------------------
    // plc异常空白表格渲染
    function initPlcErrorTable(row) {
        var line;
        if (row === undefined){
            var one = $('#plc-error-table thead').height();
            var total = $('.plc-log-body').height();
            var count = total / one;
            count = parseInt(count) - 1;
            plcErrorTableBlankRows = count;
            line = count;
        } else {
            line = row;
            let html = "";
            for (let i = 0; i < line; i++) {
                html += ` <tr>
                           <td></td>
                           <td></td>
                           <td></td>
                         </tr>`;
            }
            $('#plc-error-table tbody').after(html);
        }
        var html = "";
        for (var i = 0; i < line; i ++){
            html += " <tr>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "     </tr>\n";
        }
        $('#plc-error-table tbody').after(html);
    }
    // 站点空白表格渲染
    function initSiteTable(row) {
        var line;
        if (row === undefined){
            var one = $('#site-table thead').height();
            var total = $('#site-monitor').height();
            var count = total / one;
            count = parseInt(count) - 1;
            siteTableBlankRows = count;
            line = count;
        } else {
            line = row;
        // 站点空白表格渲染
        function initSiteTable(row) {
            let line;
            if (row === undefined) {
                const one = $('#site-table thead').height();
                const total = $('#site-monitor').height();
                const count = parseInt(total / one) - 1;
                siteTableBlankRows = count;
                line = count;
            } else {
                line = row;
            }
            let html = "";
            for (let i = 0; i < line; i++) {
                html += ` <tr>
                           <td></td>
                           <td></td>
                           <td></td>
                           <td></td>
                           <td></td>
                           <td></td>
                           <td></td>
                           <td></td>
                           <td></td>
                           <td></td>
                         </tr>`;
            }
            $('#site-table tbody').after(html);
        }
        var html = "";
        for (var i = 0; i < line; i ++){
            html += " <tr>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "     </tr>\n";
        }
        $('#site-table tbody').after(html);
    }
    // 详情操作 -------------------------------------------------------------------------
    var layerDetl;
    $(document).on('dblclick ','#site-table tr', function () {
        stop = true
        var siteId = $(this).children("td").eq(0).html();
        if (siteId !== null && siteId !== "") {
            layerDetl = layer.open({
                type: 1,
                title: false,
                shadeClose: true,
                offset: 'rt',
                anim: 5,
                shade: [0],
                area: ['340px', '255px'],
                closeBtn: 0,
                content: $("#site-detl"),
                success: function(layero, index){
                    http.get(baseUrl+ "/site/detl/"+siteId, null, function (res) {
                        $('#siteId').val(siteId);
                        $('#workNo').val(res.data.workNo);
                        $('#staNo').val(res.data.staNo);
                        $('#pakMk').val(res.data.pakMk);
                    })
        // 详情操作
        $(document).on('dblclick', '#site-table tr', function() {
            isSiteUpdatePaused = true;
            const siteId = $(this).children("td").eq(0).html();
            if (siteId) {
                layerDetl = layer.open({
                    type: 1,
                    title: false,
                    shadeClose: true,
                    offset: 'rt',
                    anim: 5,
                    shade: [0],
                    area: ['340px', '255px'],
                    closeBtn: 0,
                    content: $("#site-detl"),
                    success: (layero, index) => {
                        http.get(`${baseUrl}/site/detl/${siteId}`, null, (res) => {
                            if (res.data) {
                                $('#siteId').val(siteId);
                                $('#workNo').val(res.data.workNo);
                                $('#staNo').val(res.data.staNo);
                                $('#pakMk').val(res.data.pakMk);
                            }
                        });
                    },
                    end: () => {
                        $('#siteId').val("");
                        $('#workNo').val("");
                        $('#staNo').val("");
                        $('#pakMk').val("");
                        isSiteUpdatePaused = false;
                    }
                });
            }
        });
        // 保存站点信息
        $(document).on('click', '#save', function() {
            http.post(`${baseUrl}/site/detl/update`, {
                siteId: $('#siteId').val(),
                workNo: $('#workNo').val(),
                staNo: $('#staNo').val(),
                pakMk: $('#pakMk').val()
            }, (res) => {
                layer.msg("修改成功", { icon: 1 });
            });
        });
        // 取消站点信息修改
        $(document).on('click', '#cancel', function() {
            $('#siteId').val("");
            $('#workNo').val("");
            $('#staNo').val("");
            $('#pakMk').val("");
            layer.close(layerDetl);
        });
        // 通用AJAX请求函数
        function ajaxRequest(options) {
            const defaultOptions = {
                headers: { 'token': localStorage.getItem('token') },
                success: () => {},
                error: () => {}
            };
            const opts = { ...defaultOptions, ...options };
            $.ajax({
                url: opts.url,
                headers: opts.headers,
                method: opts.method,
                data: opts.data,
                success: (res) => {
                    if (res.code === 200) {
                        opts.success(res);
                    } else if (res.code === 403) {
                        window.location.href = `${baseUrl}/login`;
                    } else {
                        console.log(res.msg);
                        //opts.error(res);
                    }
                },
                end: function () {
                    $('#siteId').val("");
                    $('#workNo').val("");
                    $('#staNo').val("");
                    $('#pakMk').val("");
                    stop = false
                error: (jqXHR, textStatus, errorThrown) => {
                    console.error('AJAX Error:', textStatus, errorThrown);
                    //opts.error({ msg: '请求失败,请稍后重试' });
                }
            })
            });
        }
    });
    $(document).on('click ','#save', function () {
        http.post(baseUrl+ "/site/detl/update", {
            siteId: $('#siteId').val(),
            workNo: $('#workNo').val(),
            staNo:  $('#staNo').val(),
            pakMk: $('#pakMk').val()
        }, function (res) {
            layer.msg("修改成功",{icon: 1,});
        })
    })
    $(document).on('click ','#cancel', function () {
        $('#siteId').val("");
        $('#workNo').val("");
        $('#staNo').val("");
        $('#pakMk').val("");
        layer.close(layerDetl);
    })
    })();
</script>
</html>
src/main/webapp/views/render/asda.css
File was deleted
src/main/webapp/views/rgv.html
File was deleted
version/BarcodeThread1.java
File was deleted
version/BarcodeThread2.java
File was deleted
version/render.js
File was deleted