From c6c9b7d3baa822765768c110304d27623f946286 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期二, 15 七月 2025 14:29:09 +0800
Subject: [PATCH] `1`
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 166 insertions(+), 4 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java
index d0e8a8a..96fd17d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java
@@ -1,18 +1,36 @@
package com.zy.asrs.wms.apis.wcs.controller;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.apis.wcs.entity.request.ContainerArrivedParam;
+import com.zy.asrs.wms.apis.wcs.entity.request.RfidSingalRequest;
import com.zy.asrs.wms.apis.wcs.entity.request.TasksStatusCallbackParam;
import com.zy.asrs.wms.apis.wcs.services.WcsApiService;
+import com.zy.asrs.wms.asrs.entity.CacheSite;
+import com.zy.asrs.wms.asrs.entity.Task;
+import com.zy.asrs.wms.asrs.entity.WaveSeed;
+import com.zy.asrs.wms.asrs.entity.param.BindPlatformParam;
+import com.zy.asrs.wms.asrs.service.CacheSiteService;
+import com.zy.asrs.wms.asrs.service.PlatformService;
+import com.zy.asrs.wms.asrs.service.TaskService;
+import com.zy.asrs.wms.asrs.service.WaveSeedService;
+import com.zy.asrs.wms.asrs.service.impl.WaveSeedServiceImpl;
import com.zy.asrs.wms.system.controller.BaseController;
import io.netty.util.internal.StringUtil;
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.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
@Slf4j
@RestController
@@ -21,6 +39,19 @@
@Autowired
private WcsApiService wcsApiService;
+
+ @Autowired
+ private PlatformService platformService;
+
+ @Resource
+ private CacheSiteService cacheSiteService;
+
+ @Resource
+ private TaskService taskService;
+
+ @Autowired
+ private WaveSeedService waveSeedService;
+
/**
* 鍑哄簱浠诲姟-鎺ユ敹鍥炶皟鐘舵�佹帴鍙�
@@ -63,5 +94,136 @@
}
+ /**
+ * ESS 鎾澧欐媿鐏洖璋�
+ * 鎾澧欐媿鐏紝ESS璋冪敤
+ */
+ @PostMapping("/light/off")
+ @Transactional(rollbackFor = Exception.class)
+ public R lightOff(@RequestBody Map<String, Object> request) {
+ if (Objects.isNull(request)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(request.get("tagCode"))) {
+ throw new CoolException("鐢靛瓙鏍囩缂栧彿涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(request.get("eventCode"))){
+ throw new CoolException("浜嬩欢鍚嶇О涓嶈兘涓虹┖锛侊紒");
+ }
+
+ log.info("鎾澧欐媿鐏紝璇锋眰鍙傛暟锛歿}", JSONObject.toJSONString(request));
+
+ // 鏍规嵁绔欑偣缂栫爜鏌ユ挱绉嶇珯鐐逛俊鎭�
+ CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteNo, request.get("tagCode")));
+ if (Objects.isNull(cacheSite)) {
+ throw new CoolException("褰撳墠绔欑偣涓嶅瓨鍦紒锛�");
+ }
+
+ WaveSeed waveSeed = waveSeedService.getOne(new LambdaQueryWrapper<WaveSeed>()
+ .eq(WaveSeed::getExceStatus, 1)
+ .eq(WaveSeed::getSiteNo, request.get("tagCode").toString()), false);
+ if (Objects.isNull(waveSeed)) {
+ throw new CoolException("鎾澧欏湴鏍囨湭缁戝畾锛侊紒");
+ }
+
+ // 鏍规嵁鎾绔欑偣淇℃伅鏉$爜锛屾煡浠诲姟
+ Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getId, waveSeed.getTaskId()));
+ if (Objects.isNull(task)) {
+ throw new CoolException("褰撳墠绔欑偣浠诲姟涓嶅瓨鍦紒锛�");
+ }
+
+ Map<String, Object> param = new HashMap<>();
+ param.put("taskNo", task.getTaskNo());
+ param.put("siteNo", cacheSite.getSiteNo());
+ param.put("weedId", waveSeed.getId());
+ param.put("orderNo",cacheSite.getOrderNo());
+
+ waveSeed.setExceStatus(0);
+ if (!waveSeedService.updateById(waveSeed)) {
+ throw new CoolException("鎾鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+
+ return wcsApiService.slapLightLogic(param);
+ }
+
+ /**
+ * 瀹瑰櫒娴佸姩閫氱煡锛堝綋鍓嶇墿鏂欐挱绉嶅畬鎴愶級
+ * //fixme 姝ゆ帴鍙e皢涓嶅啀鍗曠嫭璋冪敤
+ * 1. 鏇存柊褰撳墠浠诲姟鐗╂枡淇℃伅
+ * 2.
+ * @param code 瀹瑰櫒缂栫爜
+ * @return
+ */
+ @GetMapping("/container/converyor/{code}")
+ public R containerConveyor(@PathVariable String code) throws Exception {
+ if (StringUtil.isNullOrEmpty(code)) {
+ return R.error("瀹瑰櫒缂栫爜涓嶈兘涓虹┖锛侊紒锛�");
+ }
+ return wcsApiService.containerConveryor(code);
+ }
+
+
+ /**
+ * 鍙戦�佸懡浠ょ粰鐢靛瓙鏍囩锛屽彲浠ユ帶鍒剁數瀛愭爣绛句寒鐏鑹插強鐏伅绛夈��
+ *
+ * 1. 鍒ゆ柇褰撳墠瀹瑰櫒鏄惁杩樻湁鐗╂枡鏈嫞锛屾湭鎷e畬闂伅锛屾嫞瀹岄�氱煡瀹瑰櫒娴佸姩锛屽苟鐏伅
+ * 2. 瀹瑰櫒娴佸姩鍒ゆ柇锛屽鏋滄枡绠辨病鏈夌墿鏂� code浼�200锛� 鏈夌墿鏂欎紶100 鎵ц鍥炲簱浠诲姟, IOTYP = 4
+ *
+ * @param request
+ * @return
+ */
+ @PostMapping("/slap/light")
+ public R slapLightLogic(@RequestBody Map<String, Object> request) {
+ if (Objects.isNull(request)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(request.get("taskNo"))) {
+ throw new CoolException("浠诲姟鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(request.get("orderNo"))){
+ throw new CoolException("褰撳墠浠诲姟璁㈠崟鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+
+ return wcsApiService.slapLightLogic(request);
+ }
+
+
+
+ /**
+ * 淇″彿鍥炰紶鎺ュ彛锛屽洖浼犵數瀛愭爣绛剧姸鎬佸彉鍖栧唴瀹圭粰涓婃父绯荤粺銆�
+ * 褰撲汉涓烘搷浣滐紙姣斿鎷嶇伅锛屾洿鏀规暟瀛楋紝鏀剧绛夛級瀵艰嚧鐢靛瓙鏍囩鐨勭姸鎬佸拰淇″彿绛夊彂鐢熷彉鍖栥�佹垨璁惧鏈韩鍙戠敓寮傚父鏃讹紝ESS鎺ユ敹鍒颁俊鍙峰悗锛岄�氳繃璇ユ帴鍙e皢淇″彿鍥炰紶缁欎笂娓哥郴缁熴��
+ * RFID鍥炶皟鎺ュ彛
+ * @param request
+ * @return
+ */
+ @PostMapping("/")
+ public R rfidCallback(@RequestBody RfidSingalRequest request) {
+ if (Objects.isNull(request)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return wcsApiService.rfidCallback(request);
+ }
+
+
+ /**
+ * 鑾峰彇鎵�鏈夐泦璐у尯
+ * @return
+ */
+ @GetMapping("/all/platforms")
+ public R getPlatforms() {
+ return wcsApiService.getPlatforms();
+ }
+
+// /**
+// * 缁戝畾璁㈠崟涓庨泦璐у尯鍏崇郴
+// * @param platform
+// * @return
+// */
+// @PostMapping("/bind/shipping/platform")
+// public R bindShippingAndPlatform(@RequestBody BindPlatformParam platform) {
+// return platformService.bindShippingPlatform(platform);
+// }
+//
+
}
--
Gitblit v1.9.1