From 85f4c6b7d6df1c67be43fa87b7cc74af3765ccef Mon Sep 17 00:00:00 2001 From: Administrator <pjb> Date: 星期四, 22 五月 2025 10:56:43 +0800 Subject: [PATCH] 出库判断深库位对应浅库位状态 --- src/main/java/com/zy/asrs/controller/CrnController.java | 358 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 266 insertions(+), 92 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 3690e3c..9d7b618 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -1,9 +1,8 @@ package com.zy.asrs.controller; -import HslCommunication.Profinet.Siemens.SiemensS7Net; +import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; @@ -16,11 +15,14 @@ import com.zy.asrs.domain.vo.CrnMsgTableVo; import com.zy.asrs.domain.vo.CrnStateTableVo; import com.zy.asrs.entity.*; +import com.zy.asrs.importexcle.ImportCrnErrDto; +import com.zy.asrs.importexcle.ImportCrnErrListener; import com.zy.asrs.mapper.BasCrnErrorMapper; +import com.zy.asrs.mapper.TaskWrkMapper; +import com.zy.asrs.service.BasCrnErrorService; import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.WrkMastService; -import com.zy.asrs.service.impl.MainServiceImpl; import com.zy.asrs.utils.VersionUtils; import com.zy.core.CrnThread; import com.zy.core.cache.MessageQueue; @@ -37,8 +39,12 @@ import com.zy.core.properties.SystemProperties; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -53,7 +59,6 @@ public class CrnController { - @Autowired private SlaveProperties slaveProperties; @Autowired @@ -63,14 +68,36 @@ @Autowired private BasCrnpService basCrnpService; @Autowired - private MainServiceImpl mainService; - @Autowired private LocMastService locMastService; + + @Resource + private TaskWrkMapper taskWrkMapper; + + @Resource + private BasCrnErrorService basCrnErrorService; + + @PostMapping("/importCrnErr") + @ManagerAuth(memo = "瀵煎叆鍫嗗灈鏈哄紓甯歌〃") + public R importCrnErr(@RequestParam("file") MultipartFile multipartFile) { + try { + importCrnErrExec(multipartFile); + } catch (Exception e) { + e.printStackTrace(); + return R.error(e.getMessage()); + } + return R.ok("瀵煎叆鎴愬姛"); + } + + @Transactional(rollbackFor = Exception.class) + public void importCrnErrExec(MultipartFile multipartFile) throws IOException { + EasyExcel.read(multipartFile.getInputStream(), ImportCrnErrDto.class, + new ImportCrnErrListener(basCrnErrorService)).sheet().doReadSync(); + } @ManagerAuth(memo = "杩涜涓殑鍛戒护") @PostMapping("/crn/command/ongoing") - public R ongoingCommand(){ + public R ongoingCommand() { List<CommandLogVo> list = new ArrayList<>(); for (CrnSlave crn : slaveProperties.getCrn()) { CommandLogVo vo = new CommandLogVo(); @@ -89,7 +116,7 @@ vo.setStatus(1); // 鐘舵�� Task task = MessageQueue.peek(SlaveType.Crn, crn.getId()); if (task != null) { - vo.setCommand(JSON.toJSONString((CrnCommand)task.getData())); + vo.setCommand(JSON.toJSONString((CrnCommand) task.getData())); } } return R.ok().add(list); @@ -97,7 +124,7 @@ @PostMapping("/crn/table/crn/state") @ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃") - public R crnStateTable(){ + public R crnStateTable() { List<CrnStateTableVo> list = new ArrayList<>(); List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no")); for (BasCrnp basCrnp : crnps) { @@ -123,11 +150,11 @@ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 vo.setLiftPos(crnProtocol.getLiftPosType().desc); - vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); + vo.setWalkPos(crnProtocol.getWalkPos() == 1 ? "涓嶅湪瀹氫綅" : "鍦ㄥ畾浣�"); vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); - if (crnProtocol.getAlarm1() > 0) { - BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); - vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); + if (crnProtocol.getAlarm() > 0) { + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); + vo.setAlarm(crnError == null ? "鏈煡寮傚父" : crnError.getErrName()); } } return R.ok().add(list); @@ -135,7 +162,7 @@ @PostMapping("/crn/table/crn/{id}/state") @ManagerAuth(memo = "鍫嗗灈鏈轰俊鎭〃") - public R crnStateTable(@PathVariable("id") Integer id){ + public R crnStateTable(@PathVariable("id") Integer id) { BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", id).orderBy("crn_no")); // 琛ㄦ牸琛� CrnStateTableVo vo = new CrnStateTableVo(); @@ -158,18 +185,18 @@ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 vo.setLiftPos(crnProtocol.getLiftPosType().desc); - vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); + vo.setWalkPos(crnProtocol.getWalkPos() == 1 ? "涓嶅湪瀹氫綅" : "鍦ㄥ畾浣�"); vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); if (crnProtocol.getAlarm1() > 0) { BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); - vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); + vo.setAlarm(crnError == null ? "鏈煡寮傚父" : crnError.getErrName()); } return R.ok().add(vo); } @PostMapping("/crn/table/crn/msg") @ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃") - public R crnMsgTable(){ + public R crnMsgTable() { List<CrnMsgTableVo> list = new ArrayList<>(); List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no")); for (BasCrnp basCrnp : crnps) { @@ -188,17 +215,18 @@ } vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� - if (crnProtocol.getTaskNo()>0) { - WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); - if (wrkMast != null) { - vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� - vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯 - vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔� - vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣� - vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 + if (crnProtocol.getTaskNo() > 0) { +// WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); + TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(crnProtocol.getTaskNo())); + if (taskWrk != null) { + vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵�� + vo.setSourceStaNo(taskWrk.getStartPoint()); // 婧愮珯 + vo.setStaNo(taskWrk.getTargetPoint()); // 鐩爣绔� + vo.setSourceLocNo(taskWrk.getStartPoint()); // 婧愬簱浣� + vo.setLocNo(taskWrk.getTargetPoint()); // 鐩爣搴撲綅 } } else { - vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� + vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO) ? CrnStatusType.MACHINE_AUTO.getDesc() : CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� } vo.setXspeed(crnProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min) vo.setYspeed(crnProtocol.getYSpeed()); // 鍗囬檷閫熷害锛坢/min) @@ -213,7 +241,7 @@ @PostMapping("/crn/table/crn/{id}/msg") @ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃") - public R crnMsgTable(@PathVariable("id") Integer id){ + public R crnMsgTable(@PathVariable("id") Integer id) { BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", id).orderBy("crn_no")); // 琛ㄦ牸琛� CrnMsgTableVo vo = new CrnMsgTableVo(); @@ -229,7 +257,7 @@ } vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� - if (crnProtocol.getTaskNo()>0) { + if (crnProtocol.getTaskNo() > 0) { WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); if (wrkMast != null) { vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� @@ -239,7 +267,7 @@ vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 } } else { - vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� + vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO) ? CrnStatusType.MACHINE_AUTO.getDesc() : CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� } vo.setXspeed(crnProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min) vo.setYspeed(crnProtocol.getYSpeed()); // 鍗囬檷閫熷害锛坢/min) @@ -253,7 +281,7 @@ @GetMapping("/crn/list/auth") @ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹〃") - public R crnList(){ + public R crnList() { List<CrnListVo> list = new ArrayList<>(); List<BasCrnp> crnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().orderBy("crn_no")); for (BasCrnp basCrnp : crnps) { @@ -272,7 +300,7 @@ } vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� - if (crnProtocol.getTaskNo()>0) { + if (crnProtocol.getTaskNo() > 0) { WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); if (wrkMast != null) { vo.setDeviceStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� @@ -282,7 +310,7 @@ vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 } } else { - vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� + vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO) ? CrnStatusType.MACHINE_AUTO.getDesc() : CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� } vo.setXspeed(crnProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min) vo.setYspeed(crnProtocol.getYSpeed()); // 鍗囬檷閫熷害锛坢/min) @@ -300,11 +328,11 @@ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 vo.setLiftPos(crnProtocol.getLiftPosType().desc); - vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); + vo.setWalkPos(crnProtocol.getWalkPos() == 1 ? "涓嶅湪瀹氫綅" : "鍦ㄥ畾浣�"); vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); if (crnProtocol.getAlarm1() > 0) { BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); - vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); + vo.setAlarm(crnError == null ? "鏈煡寮傚父" : crnError.getErrName()); } vo.setInEnable(basCrnp.getInEnable()); vo.setOutEnable(basCrnp.getOutEnable()); @@ -314,11 +342,11 @@ @PostMapping("/crn/output/site") @ManagerAuth(memo = "鍫嗗灈鏈烘姤鏂囨棩蹇楄緭鍑�") - public R crnOutput(){ + public R crnOutput() { StringBuilder str = new StringBuilder(); String s; int i = 0; - while((s = OutputQueue.CRN.poll()) != null && i <=10) { + while ((s = OutputQueue.CRN.poll()) != null && i <= 10) { str.append("\n").append(s); i++; } @@ -327,7 +355,7 @@ @GetMapping("/crn/demo/status") - public R demoStatus(){ + public R demoStatus() { List<Map<String, Object>> res = new ArrayList<>(); for (CrnSlave crnSlave : slaveProperties.getCrn()) { Map<String, Object> map = new HashMap<>(); @@ -342,13 +370,13 @@ @PostMapping("/crn/demo/switch") @ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�") public R crnDemo(CrnDemoParam param) throws InterruptedException { - if (Cools.isEmpty(param.getCrnId())){ + if (Cools.isEmpty(param.getCrnId())) { return R.error(); } - if (Cools.isEmpty(param.getPassword())){ + if (Cools.isEmpty(param.getPassword())) { return R.error("璇疯緭鍏ュ彛浠�"); } - if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){ + if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)) { return R.error("鍙d护閿欒"); } Thread.sleep(200L); @@ -362,14 +390,17 @@ } - /****************************************************************/ /************************** 鎵嬪姩鎿嶄綔 ******************************/ /****************************************************************/ @ManagerAuth(memo = "鍏ュ簱") @PostMapping("/crn/operator/put") - public R crnPut(CrnOperatorParam param){ + public R crnPut(CrnOperatorParam param) { +// // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -381,51 +412,66 @@ command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + command.setCommand((short) 1); + return crnControl(command) ? R.ok() : R.error(); } @ManagerAuth(memo = "鍑哄簱") @PostMapping("/crn/operator/take") - public R crnTake(CrnOperatorParam param){ + public R crnTake(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.PAKOUT); // 浠诲姟妯″紡 + command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡 command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + command.setCommand((short) 1); + return crnControl(command) ? R.ok() : R.error(); } @ManagerAuth(memo = "搴撲綅杞Щ") @PostMapping("/crn/operator/stockMove") - public R crnStockMove(CrnOperatorParam param){ + public R crnStockMove(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡 - command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 - command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 - command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 - command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� - command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� + command.setSourcePosZ(param.getSourceRow()); // 婧愬簱浣嶆帓 + command.setSourcePosX(param.getSourceBay()); // 婧愬簱浣嶅垪 + command.setSourcePosY(param.getSourceLev()); // 婧愬簱浣嶅眰 + command.setDestinationPosZ(param.getRow()); // 鐩爣搴撲綅鎺� + command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒� + command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞� + command.setCommand((short) 1); LocMast sourceLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getSourcePosX()) .eq("bay1", command.getSourcePosY()).eq("lev1", command.getSourcePosZ())); LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getDestinationPosX()) .eq("bay1", command.getDestinationPosY()).eq("lev1", command.getDestinationPosZ())); VersionUtils.locMoveCheckLocType(sourceLoc, loc); - return crnControl(command)?R.ok():R.error(); + return crnControl(command) ? R.ok() : R.error(); } @ManagerAuth(memo = "绔欏埌绔�") @PostMapping("/crn/operator/siteMove") - public R crnSiteMove(CrnOperatorParam param){ + public R crnSiteMove(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -437,12 +483,16 @@ command.setDestinationPosX(param.getStaNo()); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + return crnControl(command) ? R.ok() : R.error(); } @ManagerAuth(memo = "鍥炲師鐐�") @PostMapping("/crn/operator/bacOrigin") - public R crnBacOrigin(CrnOperatorParam param){ + public R crnBacOrigin(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -454,12 +504,16 @@ command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + return crnControl(command) ? R.ok() : R.error(); } @ManagerAuth(memo = "鍙嶅師鐐�") @PostMapping("/crn/operator/reverseOrigin") - public R reverseOrigin(CrnOperatorParam param){ + public R reverseOrigin(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -469,9 +523,9 @@ command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - command.setDestinationPosY((short) 34); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 5); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + command.setDestinationPosY((short) 22); // 鐩爣搴撲綅鍒� + command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞� + return crnControl(command) ? R.ok() : R.error(); } // @ManagerAuth(memo = "鍧愭爣绉诲姩") @@ -494,7 +548,11 @@ @ManagerAuth(memo = "浠诲姟瀹屾垚") @PostMapping("/crn/operator/taskComplete") - public R crnTaskComplete(CrnOperatorParam param){ + public R crnTaskComplete(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -506,7 +564,8 @@ command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + command.setCommand((short) 0); + return crnControl(command) ? R.ok() : R.error(); } // @ManagerAuth(memo = "鏆傚仠") @@ -523,7 +582,11 @@ @ManagerAuth(memo = "娓呴櫎鍛戒护") @PostMapping("/crn/operator/clearCommand") - public R crnClearCommand(CrnOperatorParam param){ + public R crnClearCommand(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } if (param.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); } @@ -538,12 +601,16 @@ command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + return crnControl(command) ? R.ok() : R.error(); } @ManagerAuth(memo = "鎵嬪姩澶嶄綅") @PostMapping("/crn/operator/handleReset") public R handleReset(CrnOperatorParam param) throws Exception { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } if (param.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); } @@ -566,7 +633,7 @@ crnCommand.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣� // 寤舵椂鍙戦�� Thread.sleep(1000L); - if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) { + if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(5, crnCommand))) { return R.ok(); } else { throw new CoolException("鍛戒护涓嬪彂澶辫触"); @@ -581,24 +648,134 @@ @ManagerAuth(memo = "鍒囨崲鑱旀満妯″紡") @PostMapping("/crn/operator/auto") - public R crnAuto(CrnOperatorParam param){ + public R crnAuto(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� -// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� -// command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡 -// command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 -// command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 -// command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 -// command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� -// command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� -// command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� - command.setAuto((short)1); + command.setAuto((short) 1); - return crnControl2(command)?R.ok():R.error(); + return crnControl2(command) ? R.ok() : R.error(); } - private boolean crnControl2(CrnCommand command){ + + @ManagerAuth(memo = "鍒囨崲鍗婃墜鍔ㄦā寮�") + @PostMapping("/crn/operator/semiAutomatic") + public R crnsemiAutomatic(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setAuto((short) 2); + + return crnControl2(command) ? R.ok() : R.error(); + } + + @ManagerAuth(memo = "鍒囨崲鎵嬪姩妯″紡") + @PostMapping("/crn/operator/hand") + public R onlineWrk1(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setAuto((short) 3); + + return crnControl2(command) ? R.ok() : R.error(); + } + + @ManagerAuth(memo = "鐢宠瀹屾垚浠诲姟") + @PostMapping("/crn/operator/onlineWrk1") + public R onlineWrk2(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk1((short) 1); + + return crnControl2(command) ? R.ok() : R.error(); + } + + @ManagerAuth(memo = "鐢宠鍙栨秷浠诲姟") + @PostMapping("/crn/operator/onlineWrk2") + public R onlineWrk3(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk2((short) 1); + + return crnControl2(command) ? R.ok() : R.error(); + } + + @ManagerAuth(memo = "娓呴櫎鑱旀満浠诲姟") + @PostMapping("/crn/operator/onlineWrk3") + public R onlineWrk4(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk3((short) 1); + + return crnControl2(command) ? R.ok() : R.error(); + } + + @ManagerAuth(memo = "鎭㈠鑱旀満浠诲姟") + @PostMapping("/crn/operator/onlineWrk4") + public R crnHand(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk4((short) 1); + + return crnControl2(command) ? R.ok() : R.error(); + } + + @ManagerAuth(memo = "澶嶄綅") + @PostMapping("/crn/operator/reset") + public R crnReset(CrnOperatorParam param) { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setReset((short) 1); + + return crnControl2(command) ? R.ok() : R.error(); + } + + + private boolean crnControl2(CrnCommand command) { if (command.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); } @@ -629,10 +806,7 @@ } - - - - private boolean crnControl(CrnCommand command){ + private boolean crnControl(CrnCommand command) { if (command.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); } @@ -649,11 +823,11 @@ } // 绌洪棽鍒ゆ柇 // if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) { - if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) { - return true; - } else { - throw new CoolException("鍛戒护涓嬪彂澶辫触"); - } + if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) { + return true; + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } // } else { // throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�"); // } @@ -662,8 +836,8 @@ return false; } - private void staNoProcess(CrnOperatorParam param, CrnCommand command){ - if (param.getSourceStaNo()!=null) { + private void staNoProcess(CrnOperatorParam param, CrnCommand command) { + if (param.getSourceStaNo() != null) { if (param.getSourceStaNo() == 5) { command.setSourcePosX((short) 2); // 婧愬簱浣嶆帓 command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 @@ -674,7 +848,7 @@ command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 } } - if (param.getStaNo()!=null) { + if (param.getStaNo() != null) { if (param.getStaNo() == 5) { command.setDestinationPosX((short) 2); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� @@ -690,7 +864,7 @@ // /crn/list/auth @RequestMapping(value = "/crnListQuery/auth") @ManagerAuth - public R listQuery(String condition){ + public R listQuery(String condition) { ArrayList<HashMap<String, Object>> list = new ArrayList<>(); for (CrnSlave crn : slaveProperties.getCrn()) { // 鑾峰彇鍫嗗灈鏈轰俊鎭� -- Gitblit v1.9.1