src/main/java/com/zy/asrs/controller/AgvIoWorkController.java
@@ -146,8 +146,8 @@ @RequestMapping("/empty/plate/in/start") @ManagerAuth(memo = "空板入库") public R emptyPlateInStart(@RequestParam String sourceStaNo) { return R.ok("入库启动成功").add(agvWorkService.emptyPlateIn(sourceStaNo, getUserId())); public R emptyPlateInStart(@RequestParam String sourceStaNo, String containerCode) { return R.ok("入库启动成功").add(agvWorkService.emptyPlateIn(sourceStaNo,containerCode,getUserId())); } @RequestMapping("/empty/plate/out/start") src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -2,6 +2,7 @@ import com.core.common.R; import com.zy.asrs.entity.AgvBasDevp; import com.zy.asrs.entity.param.AgvMobileStartParam; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.service.AgvBasDevpService; import com.zy.asrs.service.AgvMobileService; @@ -94,5 +95,31 @@ return R.ok("生成工作档成功"); } /* 空板出库 */ @PostMapping("/pakin/empty/auth") @Synchronized public R pakinEmpty(@RequestBody List<AgvMobileStartParam> params){ for (AgvMobileStartParam param : params){ workService.emptyPlateIn(param.getDevNo(),param.getContainerCode(),getUserId()); } return R.ok(); } /* 空板出库 */ @PostMapping("/pakout/empty/auth") @Synchronized public R pakoutEmpty(@RequestBody Map<String,Object> map){ String devNo = map.get("devNo").toString(); return R.ok(); } } src/main/java/com/zy/asrs/controller/AgvMobileTaskController.java
New file @@ -0,0 +1,13 @@ package com.zy.asrs.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("/agv") public class AgvMobileTaskController { } src/main/java/com/zy/asrs/entity/param/AgvMobileStartParam.java
New file @@ -0,0 +1,16 @@ package com.zy.asrs.entity.param; import lombok.Data; @Data public class AgvMobileStartParam { //站点 private String devNo; //任务类型 private String type; //容器码 private String containerCode; //容器类型 private String containerType; } src/main/java/com/zy/asrs/service/AgvMobileService.java
@@ -24,4 +24,8 @@ List<AgvBasDevp> getAgvBasDevpByFloor(int floor); void pakinEmpty(String devNo, boolean pakin); void pakoutEmpty(String devNo); } src/main/java/com/zy/asrs/service/AgvWorkService.java
@@ -40,7 +40,7 @@ /* 空板入库 */ String emptyPlateIn(String sourceStaion, Long userId); String emptyPlateIn(String sourceStaion,String containerCode, Long userId); void emptyPlateOut(EmptyPlateOutParam param, Long userId); src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -42,6 +42,8 @@ private AgvLocDetlService agvLocDetlService; @Autowired private AgvWrkMastService agvWrkMastService; @Autowired private AgvWorkService agvWorkService; /* @@ -255,4 +257,20 @@ }).collect(Collectors.toList()); } @Override public void pakinEmpty(String devNo, boolean pakin) { //当前站点信息 AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo); //寻找相同类型的库位 //生成空盘工作档 //更改库位状态以及站点状态 } @Override public void pakoutEmpty(String devNo) { } } src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -314,13 +314,25 @@ 空板入库 */ @Transactional public String emptyPlateIn(String sourceStaion, Long userId) { public String emptyPlateIn(String sourceStaion,String containerCode, Long userId) { if(!pakinCheck()){ } Date now = new Date(); // 源站点状态检测 AgvBasDevp agvBasDevp = agvBasDevpService.selectById(sourceStaion); if(!agvBasDevp.getLocSts().equals("O")){ throw new CoolException("当前工作位状态为" + agvBasDevp.getLocSts()+",无法进行空板入库"); } //判断当前容器是否存在任务 AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(containerCode); if(!Cools.isEmpty(agvWrkMast)){ } // 检索库位 AgvLocMast locMast = agvCommonService.getLocNo(null, agvBasDevp.getFloor()); // 生成工作档 10.空板入库 @@ -775,4 +787,12 @@ } } //入库前检查 private boolean pakinCheck(){ return true; } } src/main/java/com/zy/common/web/AuthController.java
@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.annotations.ManagerAuth; import com.core.common.*; import com.core.common.AesUtils; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; import com.core.exception.CoolException; import com.zy.common.CodeRes; import com.zy.common.entity.Parameter; @@ -14,7 +17,6 @@ import com.zy.common.properties.SystemProperties; import com.zy.common.utils.RandomValidateCodeUtil; import com.zy.system.entity.*; import com.zy.system.entity.license.LicenseVerify; import com.zy.system.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -51,11 +53,11 @@ @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "登录") public R loginAction(String username, String password){ //验证许可证是否有效 LicenseVerify licenseVerify = new LicenseVerify(); boolean verify = licenseVerify.verify(); if (!verify) {//许可证已失效 return R.parse(CodeRes.SYSTEM_20001); } // LicenseVerify licenseVerify = new LicenseVerify(); // boolean verify = licenseVerify.verify(); // if (!verify) {//许可证已失效 // return R.parse(CodeRes.SYSTEM_20001); // } if (username.equals("super") && password.equals(Cools.md5(superPwd))) { Map<String, Object> res = new HashMap<>(); res.put("username", username); src/main/java/com/zy/system/entity/license/CustomLicenseManager.java
@@ -122,38 +122,38 @@ @Override protected synchronized void validate(final LicenseContent content) throws LicenseContentException { //1. 首先调用父类的validate方法 super.validate(content); //2. 然后校验自定义的License参数 //License中可被允许的参数信息 LicenseCheck expectedCheckModel = (LicenseCheck) content.getExtra(); //当前服务器真实的参数信息 LicenseCheck serverCheckModel = getServerInfos(); if(expectedCheckModel != null && serverCheckModel != null){ //校验IP地址 if(!checkIpAddress(expectedCheckModel.getIpAddress(),serverCheckModel.getIpAddress())){ //throw new LicenseContentException("当前服务器的IP没在授权范围内"); } //校验Mac地址 if(!checkIpAddress(expectedCheckModel.getMacAddress(),serverCheckModel.getMacAddress())){ //throw new LicenseContentException("当前服务器的Mac地址没在授权范围内"); } //校验主板序列号 if(!checkSerial(expectedCheckModel.getMainBoardSerial(),serverCheckModel.getMainBoardSerial())){ throw new LicenseContentException("当前服务器的主板序列号没在授权范围内"); } //校验CPU序列号 if(!checkSerial(expectedCheckModel.getCpuSerial(),serverCheckModel.getCpuSerial())){ throw new LicenseContentException("当前服务器的CPU序列号没在授权范围内"); } }else{ throw new LicenseContentException("不能获取服务器硬件信息"); } // //1. 首先调用父类的validate方法 // super.validate(content); // // //2. 然后校验自定义的License参数 // //License中可被允许的参数信息 // LicenseCheck expectedCheckModel = (LicenseCheck) content.getExtra(); // //当前服务器真实的参数信息 // LicenseCheck serverCheckModel = getServerInfos(); // // if(expectedCheckModel != null && serverCheckModel != null){ // //校验IP地址 // if(!checkIpAddress(expectedCheckModel.getIpAddress(),serverCheckModel.getIpAddress())){ // //throw new LicenseContentException("当前服务器的IP没在授权范围内"); // } // // //校验Mac地址 // if(!checkIpAddress(expectedCheckModel.getMacAddress(),serverCheckModel.getMacAddress())){ // //throw new LicenseContentException("当前服务器的Mac地址没在授权范围内"); // } // // //校验主板序列号 // if(!checkSerial(expectedCheckModel.getMainBoardSerial(),serverCheckModel.getMainBoardSerial())){ // throw new LicenseContentException("当前服务器的主板序列号没在授权范围内"); // } // // //校验CPU序列号 // if(!checkSerial(expectedCheckModel.getCpuSerial(),serverCheckModel.getCpuSerial())){ // throw new LicenseContentException("当前服务器的CPU序列号没在授权范围内"); // } // }else{ // throw new LicenseContentException("不能获取服务器硬件信息"); // } } src/main/resources/application.yml
@@ -10,7 +10,7 @@ enabled: false datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://localhost:1433;databasename=phyzasrs url: jdbc:sqlserver://192.168.4.188:1433;databasename=phyzasrs # url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs #url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs username: sa