From cab87dcfaa7b1e2bc1298572b775026bb17ef38b Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期四, 17 十月 2024 13:54:41 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java index 1de4108..d3b99ec 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java @@ -8,19 +8,35 @@ import com.zy.asrs.wcs.common.domain.BaseParam; import com.zy.asrs.wcs.common.domain.KeyValVo; import com.zy.asrs.wcs.common.domain.PageParam; +import com.zy.asrs.wcs.core.domain.param.ConveyorOperatorParam; +import com.zy.asrs.wcs.core.domain.param.ShuttleOperatorParam; import com.zy.asrs.wcs.core.entity.BasConveyor; +import com.zy.asrs.wcs.core.entity.Motion; +import com.zy.asrs.wcs.core.entity.Task; +import com.zy.asrs.wcs.core.entity.TaskCtg; +import com.zy.asrs.wcs.core.model.enums.DeviceCtgType; +import com.zy.asrs.wcs.core.model.enums.TaskCtgType; +import com.zy.asrs.wcs.core.model.enums.TaskStsType; import com.zy.asrs.wcs.core.service.BasConveyorService; +import com.zy.asrs.wcs.core.utils.Utils; +import com.zy.asrs.wcs.rcs.News; +import com.zy.asrs.wcs.rcs.cache.SlaveConnection; +import com.zy.asrs.wcs.rcs.entity.Device; +import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType; +import com.zy.asrs.wcs.rcs.model.enums.SlaveType; +import com.zy.asrs.wcs.rcs.service.DeviceService; +import com.zy.asrs.wcs.rcs.thread.DevpThread; +import com.zy.asrs.wcs.rcs.thread.LiftThread; +import com.zy.asrs.wcs.rcs.thread.ShuttleThread; import com.zy.asrs.wcs.system.controller.BaseController; import com.zy.asrs.wcs.utils.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController @RequestMapping("/api") @@ -28,6 +44,8 @@ @Autowired private BasConveyorService basConveyorService; + @Autowired + private DeviceService deviceService; @PreAuthorize("hasAuthority('core:basConveyor:list')") @PostMapping("/basConveyor/page") @@ -99,4 +117,43 @@ ExcelUtil.build(ExcelUtil.create(basConveyorService.list(), BasConveyor.class), response); } + //鎵嬪姩鎿嶄綔 + @PreAuthorize("hasAuthority('core:basConveyor:operator')") + @PostMapping("/basConveyor/operator/sta") + @Transactional + public synchronized R conveyorOperator(@RequestBody ConveyorOperatorParam param) { + if (Cools.isEmpty(param.getConveyorNo(), param.getTaskMode())) { + return R.error("鍙傛暟涓虹┖"); + } + + Integer conveyorNo = param.getConveyorNo(); + + Device device = deviceService.getOne(new LambdaQueryWrapper<Device>() + .eq(Device::getDeviceType, DeviceCtgType.CONVEYOR.val()) + .eq(Device::getStatus, 1) + .eq(Device::getDeviceNo, conveyorNo)); + if (device == null) { + return R.error("璁惧涓嶅瓨鍦�"); + } + + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, device.getId().intValue()); + if (devpThread == null) { + return R.error("璁惧绂荤嚎"); + } + + if (param.getTaskMode().equals("taskNoAndStaNo")) { + //鍐欏叆宸ヤ綔鍙峰拰鐩爣绔� + if (Cools.isEmpty(param.getSiteNo())) { + return R.error("绔欑偣涓嶅瓨鍦�"); + } + + boolean result = devpThread.writeWorkSta(param.getSiteNo(), Short.parseShort(param.getTaskNo()), param.getStaNo().shortValue()); + if (!result) { + return R.error("淇濆瓨澶辫触"); + } + return R.ok("淇濆瓨鎴愬姛"); + } + return R.ok(); + } + } -- Gitblit v1.9.1