package com.zy.client.controller; import com.core.annotations.ManagerAuth; import com.core.common.R; import com.zy.client.domain.enums.CrnStatusType; import com.zy.client.domain.param.CrnOperatorParam; import com.zy.client.domain.vo.CommandLogVo; import com.zy.client.domain.vo.CrnMsgTableVo; import com.zy.client.domain.vo.CrnStateTableVo; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; /** * 堆垛机接口 * Created by vincent on 2020-06-01 */ @RestController @RequestMapping("/crn") public class CrnController { public static AtomicInteger integer = new AtomicInteger(); @ManagerAuth(memo = "进行中的命令") @PostMapping("/command/ongoing") public R ongoingCommand(){ List list = new ArrayList<>(); for (int i=1;i<=4;i++){ CommandLogVo vo = new CommandLogVo(); vo.setCrnNo(String.valueOf(i)); vo.setStatus(1); vo.setCommand(UUID.randomUUID().toString()); list.add(vo); } return R.ok().add(list); } @PostMapping("/table/crn/state") @ManagerAuth(memo = "堆垛机信息表") public R crnStateTable(){ List list = new ArrayList<>(); for (int i=1;i<=4;i++){ CrnStateTableVo vo = new CrnStateTableVo(String.valueOf(i), CrnStatusType.AUTO, "正常", "有物", "99", "3", "中位", "18233", "422", "0", "1204", "关闭", "0"); if (integer.get()%5 == 0) { vo.setWorkNo("0000"); } else { vo.setWorkNo("9998"); } list.add(vo); } integer.getAndIncrement(); return R.ok().add(list); } @PostMapping("/table/crn/msg") @ManagerAuth(memo = "堆垛机数据表") public R crnMsgTable(){ List list = new ArrayList<>(); for (int i=1;i<=4;i++){ CrnMsgTableVo vo = new CrnMsgTableVo(); vo.setCrnNo(String.valueOf(i)); vo.setCommand("28283E23132D23"); vo.setError(""); vo.setLocNo("0601812"); vo.setOrigin("0"); vo.setSourceLocNo(""); vo.setSourceStaNo("0"); vo.setStaNo("2112"); vo.setStatus("空闲"); if (integer.get()%5 == 0) { vo.setWorkNo("0000"); } else { vo.setWorkNo("9998"); } list.add(vo); } integer.getAndIncrement(); return R.ok().add(list); } @PostMapping("/output/site") @ManagerAuth(memo = "堆垛机报文日志输出") public R crnOutput(){ String str = "\n" +new Date().toLocaleString() + "【2020-5-29 13:14:22】扫描plcA 目标站--273283723728327636432343234323422732837237283276364323432343234227328372372832763643234323432342"; return R.ok().add(str); } /****************************************************************/ /************************** 手动操作 ******************************/ /****************************************************************/ @ManagerAuth(memo = "入库") @PostMapping("/operator/put") public R crnPut(CrnOperatorParam param){ return R.ok("入库成功"); } @ManagerAuth(memo = "出库") @PostMapping("/operator/take") public R crnTake(CrnOperatorParam param){ return R.ok("出库成功"); } @ManagerAuth(memo = "库位转移") @PostMapping("/operator/stockMove") public R crnStockMove(CrnOperatorParam param){ return R.ok("库位转移成功"); } @ManagerAuth(memo = "站到站") @PostMapping("/operator/siteMove") public R crnSiteMove(CrnOperatorParam param){ return R.ok("站到站成功"); } @ManagerAuth(memo = "坐标移动") @PostMapping("/operator/coorMove") public R crnCoorMove(CrnOperatorParam param){ return R.ok("坐标移动成功"); } @ManagerAuth(memo = "回原点") @PostMapping("/operator/bacOrigin") public R crnBacOrigin(CrnOperatorParam param){ return R.ok("回原点成功"); } @ManagerAuth(memo = "任务完成") @PostMapping("/operator/taskComplete") public R crnTaskComplete(CrnOperatorParam param){ return R.ok("任务完成"); } @ManagerAuth(memo = "暂停") @PostMapping("/operator/pause") public R crnPause(CrnOperatorParam param){ return R.ok("暂停成功"); } @ManagerAuth(memo = "启动") @PostMapping("/operator/boot") public R crnBoot(CrnOperatorParam param){ return R.ok("启动成功"); } @ManagerAuth(memo = "清除命令") @PostMapping("/operator/clearCommand") public R crnClearCommand(CrnOperatorParam param){ return R.ok("清除命令成功"); } }