From 03f7617b415bc653fa2e14c28e4f41663a130476 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期日, 04 一月 2026 09:27:27 +0800
Subject: [PATCH] 1.完善连接器库入库请求 2.完善电视机显示程序 3.新增PDA给输送线下发入库 4.新增绑定和解绑测试区域是否有空库位 5.新增AGV离站信号 6.完善空托盘入库
---
src/main/java/com/zy/common/model/MatDto.java | 11 +
src/main/java/com/zy/asrs/domain/param/ToInStaParam.java | 10 +
src/main/java/com/zy/asrs/controller/OpenController.java | 66 +++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 352 +++++++++++++++++++++++--------------------
src/main/resources/mapper/WaitPakinMapper.xml | 4
src/main/java/com/zy/common/utils/HikUtils.java | 6
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java | 6
src/main/java/com/zy/common/utils/HttpHandler.java | 2
src/main/java/com/zy/core/MainProcess.java | 4
src/main/resources/application.yml | 8
src/main/java/com/zy/asrs/mapper/WaitPakinMapper.java | 1
11 files changed, 288 insertions(+), 182 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index b0c8856..3dca0fe 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,10 +1,15 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.core.common.R;
+import com.zy.asrs.domain.param.ToInStaParam;
import com.zy.asrs.domain.param.ToOutStaParam;
import com.zy.asrs.entity.RcsReporterTask;
import com.zy.asrs.entity.RcsReturn;
import com.zy.asrs.service.RcsService;
+import com.zy.common.utils.HttpHandler;
+import com.zy.common.utils.News;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
@@ -13,16 +18,18 @@
import com.zy.core.thread.SiemensDevpThread;
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.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
@Slf4j
@RestController
public class OpenController {
@Autowired
private RcsService rcsService;
+ @Value("${zyHikUrl}")
+ private String zyHikUrl;
@RequestMapping("/open/toOutSta")
public R toOutSta(@RequestBody ToOutStaParam param) {
@@ -61,4 +68,55 @@
return rcsService.reporterTask(param);
}
+ @RequestMapping("/open/toInSta")
+ public R toInSta(@RequestBody ToInStaParam param) {
+ log.info("toInSta:{}",param);
+ SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ if(siemensDevpThread == null) {
+ return R.error("绾跨▼涓嶅瓨鍦�");
+ }
+
+ StaProtocol staProtocol = siemensDevpThread.getStation().get(param.getStaNo()).clone();
+ if(staProtocol == null) {
+ return R.error("绔欑偣涓嶅瓨鍦�");
+ }
+
+ if (!staProtocol.isLoading()) {
+ return R.error("绔欑偣鏃犵墿");
+ }
+ Short s = 301;
+ if (param.getStaNo() == 304 || param.getStaNo() == 305 || param.getStaNo() == 306) {
+ s = 304;
+ }
+
+ staProtocol.setWorkNo(param.getWrkNo().shortValue());
+ staProtocol.setStaNo(s);
+ boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ log.info("鍙戠敓鎴愬姛:{}",result);
+ return R.ok().add(result);
+ }
+ @RequestMapping("/open/capture")
+ public void startPic(@RequestParam String ip,@RequestParam String filename) {
+ try {
+ HashMap<String, Object> data = new HashMap<>();
+ data.put("ip", ip);
+ data.put("filename", filename);
+
+ String response = new HttpHandler.Builder()
+ .setUri(zyHikUrl)
+ .setPath("/capture")
+ .setJson(JSON.toJSONString(data))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getBoolean("success")) {
+ News.error("璇锋眰鎺ュ彛鎴愬姛锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", zyHikUrl + "/startPic", JSON.toJSONString(data), response);
+ } else {
+ News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", zyHikUrl + "/startPic", JSON.toJSONString(data), response);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/domain/param/ToInStaParam.java b/src/main/java/com/zy/asrs/domain/param/ToInStaParam.java
new file mode 100644
index 0000000..e8d506f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/ToInStaParam.java
@@ -0,0 +1,10 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+@Data
+public class ToInStaParam {
+ private Integer wrkNo;
+
+ private Integer staNo;
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WaitPakinMapper.java b/src/main/java/com/zy/asrs/mapper/WaitPakinMapper.java
index cbca94b..bf2411c 100644
--- a/src/main/java/com/zy/asrs/mapper/WaitPakinMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WaitPakinMapper.java
@@ -8,5 +8,6 @@
@Mapper
@Repository
public interface WaitPakinMapper extends BaseMapper<WaitPakin> {
+ WaitPakin selectByBarcode(String barcode);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 473fa61..9d4d6d4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -171,16 +171,16 @@
if (staProtocol.isAutoing()
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk()
- && staProtocol.getWorkNo() >9990
- && staProtocol.isEmptyOutType()
+ && staProtocol.getWorkNo() > 9990
+ && (staProtocol.isEmptyOutType() || staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304)
&& staProtocol.isPakMk()) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
Short wrkNo = 9981;
Short bark = 303;
- if(staProtocol.getSiteId()==304){
+ if (staProtocol.getSiteId() == 304) {
wrkNo = 9982;
bark = 306;
- }else if(staProtocol.getSiteId()==307){
+ } else if (staProtocol.getSiteId() == 307) {
wrkNo = 9983;
bark = 307;
}
@@ -191,8 +191,8 @@
String errorMsg = errMsg;
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
}
- log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}",errMsg);
- staProtocol.setWorkNo( wrkNo);
+ log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}", errMsg);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo(bark);
// devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -203,7 +203,7 @@
String barcode = barcodeThread.getBarcode();
if (!Cools.isEmpty(barcode)) {
News.info("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)|| "00000000".equals(barcode)) {
+ if (" ERROR".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode) || "00000000".equals(barcode)) {
// staProtocol.setWorkNo((short) 9992);
// staProtocol.setStaNo(inSta.getBackSta().shortValue());
// devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -214,8 +214,8 @@
String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
}
- log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}",errMsg);
- staProtocol.setWorkNo( wrkNo);
+ log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}", errMsg);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo(bark);
// devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -234,8 +234,8 @@
String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
}
- log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}",errMsg);
- staProtocol.setWorkNo( wrkNo);
+ log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}", errMsg);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo(bark);
// devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -354,8 +354,8 @@
String errorMsg = jsonObject.getString("msg");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
}
- log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}",errMsg);
- staProtocol.setWorkNo( wrkNo);
+ log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}", errMsg);
+ staProtocol.setWorkNo(wrkNo);
staProtocol.setStaNo(bark);
// devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -450,10 +450,10 @@
try {
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鎷f枡鍏ュ簱鍙�
- for (DevpSlave.Sta pickSta : devp.getPickSta()) {
+ for (DevpSlave.Sta insta : devp.getInSta()) {
// 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
+ StaProtocol staProtocol = devpThread.getStation().get(insta.getStaNo());
if (staProtocol == null) {
continue;
} else {
@@ -463,60 +463,50 @@
if (staProtocol.isAutoing()
&& staProtocol.isLoading()
&& staProtocol.isInEnable()
- && staProtocol.getWorkNo() > 0
+ && staProtocol.getWorkNo() > 9990
&& staProtocol.isPakMk()) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
-// // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-// if (barcodeThread == null) {
-// continue;
-// }
-// String barcode = barcodeThread.getBarcode();
-// if(!Cools.isEmpty(barcode)) {
-// News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-// if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-// continue;
-// }
-// } else {
-// continue;
-// }
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, insta.getBarcode());
+ if (barcodeThread == null) {
+ continue;
+ }
-// WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
- WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
+ String barcode = barcodeThread.getBarcode();
+
+ if (!Cools.isEmpty(barcode)) {
+ News.info("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", insta.getBarcode(), barcode);
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ continue;
+ }
+ } else {
+ continue;
+ }
+
+ WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
if (wrkMast == null) {
// 鏃犳嫞鏂欐暟鎹�
continue;
}
-
- if (wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
- if (wrkMast.getWrkSts() != 2) {
- News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。鐘舵�佸紓甯革紒锛侊紒 [plc缂栧彿锛歿}]", devp.getId());
- continue;
- }
-
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
- staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
-// staProtocol.setPalletSize(locMast.getLocType2());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- News.error("" + mark + " - 3" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
- }
- continue;
- }
-
if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
|| Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
continue;
}
+ // 鎷c�佺洏銆佸苟 浣滀笟绔欒浆鎹�
+// int stnNo = 0;
+// if (wrkMast.getStaNo() == 109) {
+// stnNo = 127;
+// } else if (wrkMast.getStaNo() == 113) {
+// stnNo = 128;
+// } else {
+// log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo());
+// }
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", wrkMast.getIoType() - 50)
- .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("stn_no", insta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
.eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
@@ -526,68 +516,73 @@
// devpThread.setPakMk(staProtocol.getSiteId(), false);
// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
//LED
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, insta.getLed());
// led 寮傚父鏄剧ず
if (ledThread != null) {
- String errorMsg = "姝や负鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱.璇锋斁鍦�" + pickSta.getBackSta().shortValue() + "绔欑偣";
- MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errorMsg));
+ String errorMsg = "姝や负鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱.璇锋斁鍦�" + insta.getBackSta().shortValue() + "绔欑偣";
+ MessageQueue.offer(SlaveType.Led, insta.getLed(), new Task(5, errorMsg));
}
continue;
}
try {
- LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+ // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+ if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+ }
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- SearchLocParam param = new SearchLocParam();
- param.setBarcode(wrkMast.getBarcode());
- param.setSourceStaNo(pickSta.getStaNo());
- param.setLocType1(locTypeDto.getLocType1());
- String response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath("/rpc/pakin/pick/loc/v1")
- .setJson(JSON.toJSONString(param))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- WrkMast newWrkMast = wrkMastMapper.selectPakInStepBarcode(wrkMast.getBarcode());
- if (newWrkMast == null) {
- // 鏃犳嫞鏂欐暟鎹�
- News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撹幏鍙栧伐浣滄。澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
- continue;
- }
+ if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+ throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+ }
- if(newWrkMast.getWrkSts() != 53 && newWrkMast.getWrkSts() != 57) {
- News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。绫诲瀷寮傚父锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
- continue;
- }
-
- if (wrkMast.getWrkSts() != 2) {
- News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。鐘舵�佸紓甯革紒锛侊紒 [plc缂栧彿锛歿}]", devp.getId());
- continue;
- }
-
- LocMast locMast = locMastService.selectById(newWrkMast.getLocNo());
- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(newWrkMast.getWrkNo().shortValue());
- staProtocol.setStaNo(newWrkMast.getStaNo().shortValue());
- staProtocol.setPalletSize(locMast.getLocType2());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- News.error("" + mark + " - 3" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
- }
- } else {
- News.error("" + mark + " - 5" + " - 璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/pick/loc/v1", JSON.toJSONString(param), response);
+ Date now = new Date();
+ // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+ Integer staNo = staDesc.getCrnStn();
+ // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+ wrkMast.setIoTime(now);
+ wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+ wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+ wrkMast.setStaNo(staNo); // 鐩爣绔�
+ wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+ wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+ wrkMast.setModiTime(now);
+ wrkMast.setUpdMk("");//鍏佽鍐嶆绉诲簱
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+ }
+ // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
+ wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
+ // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+ LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ locMast.setLocSts("Q");
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
} catch (Exception e) {
e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ continue;
+ }
+
+ LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+ staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ staProtocol.setPalletSize(locMast.getLocType2());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ News.error("" + mark + " - 3" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
}
} else {
News.errorNoLog("" + mark + " - 6" + " - 绔欑偣淇℃伅涓嶇鍚堝叆搴撴潯浠讹紒锛侊紒" + " 鑷姩淇″彿锛�" + staProtocol.isLoading() + "銆佸彲鍏ヤ俊鍙凤細" + staProtocol.isInEnable()
+ "銆佺┖鏉夸俊鍙凤細" + staProtocol.isEmptyMk());
}
+
}
}
@@ -627,8 +622,8 @@
continue;
}
- String name="401";
- if (staProtocol.getSiteId()==402){
+ String name = "401";
+ if (staProtocol.getSiteId() == 402) {
name = "402";
}
String bar = "";
@@ -638,7 +633,7 @@
}
String barcode = barcodeThread.getBarcode();
- if (barcode.equals("00000000")){
+ if (barcode.equals("00000000")) {
barcode = bar;
}
if (!Cools.isEmpty(barcode)) {
@@ -1136,15 +1131,15 @@
}
}
String ip = "";
- if (wrkMast.getStaNo()==401){
+ if (wrkMast.getStaNo() == 401) {
ip = "172.26.4.231";
- }else if (wrkMast.getStaNo()==402){
+ } else if (wrkMast.getStaNo() == 402) {
ip = "172.26.4.232";
- }else if (wrkMast.getStaNo()==307){
+ } else if (wrkMast.getStaNo() == 307) {
ip = "172.26.1.231";
- }else if (wrkMast.getStaNo()==303){
+ } else if (wrkMast.getStaNo() == 303) {
ip = "172.26.1.232";
- }else if (wrkMast.getStaNo()==304){
+ } else if (wrkMast.getStaNo() == 304) {
ip = "172.26.1.233";
}
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
@@ -1159,7 +1154,7 @@
list.add(newName);
//鍏ュ簱鍓嶆姄鎷�
try {
- hikUtils.startPic(ip, newName + ".jpg");
+ hikUtils.startPic(ip, newName);
} catch (Exception e) {
log.error("鍏ュ簱鍓嶆姄鎷�");
}
@@ -1257,18 +1252,18 @@
}
//鏌ヨ鍦ㄥ簱淇℃伅
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
- .in("loc_sts", "R","P")
+ .in("loc_sts", "R", "P")
.eq("loc_no", wrkMast.getSourceLocNo()));
if (Cools.isEmpty(locMast)) {
News.error("鍑哄簱 ===>> 搴撲綅涓病鏈夎繖绗旇祫鏂�", wrkMast.getSourceLocNo());
continue;
}
//鍫嗗灈鏈烘帴椹崇珯鐐规病鏈夌┖鏂欐灦
- if(!staProtocol.isEmptyOutType()&&(Cools.isEmpty(wrkMast.getCtnType())||wrkMast.getCtnType()==0)){
+ if (staProtocol.getSiteId() != 301 && staProtocol.getSiteId() != 304 && !staProtocol.isEmptyOutType() && (Cools.isEmpty(wrkMast.getCtnType()) || wrkMast.getCtnType() == 0)) {
//璇锋眰wms涓嬪彂agv鎼繍绌烘枡鏋跺埌鍫嗗灈鏈烘帴椹崇珯鐐逛换鍔�
try {
- HashMap<String,Object> hashMap=new HashMap<>();
- hashMap.put("wrkNo",wrkMast.getWrkNo());
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("wrkNo", wrkMast.getWrkNo());
String response = new HttpHandler.Builder()
.setUri(wmsUrl)
.setPath("/rpc/createAGVMoveTask")
@@ -1287,10 +1282,18 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}
+ Boolean boo1 = false;
+ Boolean boo2 = false;
+ if (staProtocol.isEmptyOutType() || staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) {
+ boo1 = true;
+ }
+ if ((staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) && staProtocol.isOutEnable()) {
+ boo2 = true;
+ }
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��&& staProtocol.isOutEnable()
if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
- && staProtocol.isEmptyOutType()) {
+ && boo1 && boo2) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
//鍒ゆ柇鏄惁鏈夋鍦ㄦ墽琛屼腑鐨凙GV浠诲姟
@@ -1377,8 +1380,35 @@
}
break;
}
+ } else if (staProtocol.getSiteId() == 301 && staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isOutEnable()) {
+ StaProtocol staProtocol1 = devpThread.getStation().get(304);
+ if (staProtocol1 == null) {
+ break;
+ } else {
+ staProtocol1 = staProtocol1.clone();
+ }
+ if (staProtocol1.isAutoing() && !staProtocol1.isLoading() && staProtocol1.isOutEnable()) {
+ wrkMast.setSourceStaNo(304);
+ wrkMast.setStaNo(306);
+ Date now = new Date();
+ wrkMast.setModiTime(now);
+ wrkMastMapper.updateById(wrkMast);
+ }
+ } else if (staProtocol.getSiteId() == 304 && staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isOutEnable()){
+ StaProtocol staProtocol1 = devpThread.getStation().get(301);
+ if (staProtocol1 == null) {
+ break;
+ } else {
+ staProtocol1 = staProtocol1.clone();
+ }
+ if (staProtocol1.isAutoing() && !staProtocol1.isLoading() && staProtocol1.isOutEnable()) {
+ wrkMast.setSourceStaNo(301);
+ wrkMast.setStaNo(303);
+ Date now = new Date();
+ wrkMast.setModiTime(now);
+ wrkMastMapper.updateById(wrkMast);
+ }
}
-
}
}
}
@@ -1885,6 +1915,7 @@
if (staProtocol.isAutoing()
&& staProtocol.isInEnable()
&& staProtocol.isPakMk()
+ && staProtocol.getWorkNo() > 9990
) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛岋細绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�");
@@ -1910,8 +1941,9 @@
continue;
}
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
- WaitPakin waitPakin = waitPakinMapper.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).getEntity());
- if (waitPakin != null || wrkMast != null) {
+ WaitPakin waitPakin = waitPakinMapper.selectByBarcode(barcode);
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("barcode", barcode));
+ if (waitPakin != null || wrkMast != null || locMast1 != null) {
continue;
}
@@ -2107,12 +2139,12 @@
staProtocol = staProtocol.clone();
}
// 鑾峰彇宸ヤ綔妗f暟鎹�
- WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",staProtocol.getWorkNo()));
// if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; }
if (null == wrkMast) {
continue;
}
- News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�:鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�");
+ News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�:鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�");
wrkMasts.add(wrkMast);
// 缁勮鍛戒护
LedCommand ledCommand = new LedCommand();
@@ -2120,12 +2152,12 @@
ledCommand.setIoType(wrkMast.getIoType());
// 鍑哄簱妯″紡
switch (wrkMast.getIoType()) {
- case 1:
- ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
- break;
- case 10:
- ledCommand.setTitle("绌烘澘鍏ュ簱");
- break;
+// case 1:
+// ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+// break;
+// case 10:
+// ledCommand.setTitle("绌烘澘鍏ュ簱");
+// break;
case 101:
ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
break;
@@ -2142,40 +2174,45 @@
ledCommand.setTitle("绌烘澘鍑哄簱");
ledCommand.setEmptyMk(true);
break;
- case 53:
- ledCommand.setTitle("鎷f枡鍏ュ簱");
- break;
- case 57:
- ledCommand.setTitle("鐩樼偣鍏ュ簱");
- break;
- case 54:
- ledCommand.setTitle("骞舵澘鍏ュ簱");
- break;
+// case 53:
+// ledCommand.setTitle("鎷f枡鍏ュ簱");
+// break;
+// case 57:
+// ledCommand.setTitle("鐩樼偣鍏ュ簱");
+// break;
+// case 54:
+// ledCommand.setTitle("骞舵澘鍏ュ簱");
+// break;
default:
- News.error(""+mark+" - 1"+" - 浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
+ News.error("" + mark + " - 1" + " - 浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
break;
}
ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
ledCommand.setLocNo(wrkMast.getLocNo());
ledCommand.setStaNo(wrkMast.getStaNo());
+ ledCommand.setBarcode(wrkMast.getBarcode());
// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
- try{
- if (wrkMast.getIoType()>100){
- for (WrkDetl wrkDetl : wrkDetls){
+ try {
+ if (wrkMast.getIoType() > 100) {
+ for (WrkDetl wrkDetl : wrkDetls) {
LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo());
- wrkDetl.setWeight(locDetl.getAnfme());
+ if (Cools.isEmpty(locDetl)) {
+ wrkDetl.setWeight(0.0);
+ }else {
+ wrkDetl.setWeight(locDetl.getAnfme());
+ }
}
- }else {
- for (WrkDetl wrkDetl : wrkDetls){
+ } else {
+ for (WrkDetl wrkDetl : wrkDetls) {
wrkDetl.setWeight(wrkDetl.getAnfme());
}
}
- }catch (Exception e){
- log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e);
+ } catch (Exception e) {
+ log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�" + e);
}
- wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(),wrkDetl.getWeight(),wrkDetl.getSpecs(),wrkDetl.getSku())));
+ wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getWeight(), wrkDetl.getSpecs(), wrkDetl.getSku(),wrkDetl.getZpallet())));
}
commands.add(ledCommand);
}
@@ -2186,31 +2223,12 @@
if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) {
continue;
}
-// 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
-// if (!commands.isEmpty()) {
-// if (led.getId() < 7) {
-// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
-// News.error(""+mark+" - 2"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-// continue;
-// } else {
-// ledThread.setLedMk(false);
-// }
-// } else {
-// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
-// News.error(""+mark+" - 3"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-// continue;
-// } else {
-// ledThread.setLedMk(false);
-// }
-// }
-//
-// }
// 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
if (!commands.isEmpty()) {
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
continue;
- }else {
+ } else {
ledThread.setLedMk(false);
}
}
@@ -2221,7 +2239,7 @@
wrkMast.setOveMk("Y");
wrkMast.setModiTime(new Date());
if (wrkMastMapper.updateById(wrkMast) == 0) {
- News.errorNoLog(""+mark+" - 4"+" - 鏇存柊宸ヤ綔妗eけ璐�");
+ News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�");
throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
}
}
@@ -2235,7 +2253,7 @@
}
}
- News.infoNoLog(""+mark+" - 0"+" - 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣ㄦ墽琛屽畬鎴�");
+ News.infoNoLog("" + mark + " - 0" + " - 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣ㄦ墽琛屽畬鎴�");
}
/**
@@ -2243,7 +2261,7 @@
*/
public synchronized void ledReset(Integer mark) {
- News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�:鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
+ News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�:鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
for (LedSlave led : slaveProperties.getLed()) {
// 鑾峰彇杈撻�佺嚎plc绾跨▼
@@ -2267,13 +2285,13 @@
if (reset && !ledThread.isLedMk()) {
ledThread.setLedMk(true);
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
- News.error(""+mark+" - 1"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ News.error("" + mark + " - 1" + " - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
} else {
}
}
}
- News.infoNoLog(""+mark+" - 0"+" - 鎵ц瀹屾垚锛氬叾浠� ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
+ News.infoNoLog("" + mark + " - 0" + " - 鎵ц瀹屾垚锛氬叾浠� ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
}
/**
@@ -2522,7 +2540,7 @@
wrkMast.setCrnNo(crn.getId());
wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
- wrkMast.setFullPlt(sourceLoc.getLocSts().equals("F")?"Y":"N"); // 婊℃澘锛歒
+ wrkMast.setFullPlt(sourceLoc.getLocSts().equals("F") ? "Y" : "N"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
diff --git a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
index 83f63c0..8b333b8 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -163,11 +163,15 @@
StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
Boolean boo = false;
Short wrkNo = 9991;
+ if(task.getStaNo().equals("307")){
+ wrkNo = 9997;
+ }
+
//鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑 --銆嬬粰PLC绔欑偣鍐�9991宸ヤ綔鍙�
//琛ョ┖鏂欐灦 --銆媋gv宸茬粡绔嬪簱 --銆嬬粰PLC绔欑偣鍐�9995宸ヤ綔鍙�
if (task.getTaskType().equals("AGV琛ョ┖鏂欐灦") && staProtocol != null && !staProtocol.isLoading() && staProtocol.isEmptyOutType() && staProtocol.getWorkNo() == 0) {
boo = true;
- wrkNo = 9995;
+ wrkNo = 9998;
} else if (!task.getTaskType().equals("AGV琛ョ┖鏂欐灦") && staProtocol != null && staProtocol.isLoading() && staProtocol.isEmptyOutType() && staProtocol.getWorkNo() == 0) {
boo = true;
}
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index b35f62a..c7a823f 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -81,4 +81,15 @@
this.total = total;
this.sku = sku;
}
+
+ public MatDto(String matNo, String maktx, Double count,Double total,String specs,String sku,String barcode) {
+ this.specs = specs;
+ this.matnr = matNo;
+ this.maktx = maktx;
+ this.maknx = maktx;
+ this.count = count;
+ this.total = total;
+ this.sku = sku;
+ this.barcode = barcode;
+ }
}
diff --git a/src/main/java/com/zy/common/utils/HikUtils.java b/src/main/java/com/zy/common/utils/HikUtils.java
index b8f5e4d..57b32ee 100644
--- a/src/main/java/com/zy/common/utils/HikUtils.java
+++ b/src/main/java/com/zy/common/utils/HikUtils.java
@@ -21,15 +21,15 @@
String response = new HttpHandler.Builder()
.setUri(hikUrl)
- .setPath("/startPic")
+ .setPath("/capture")
.setJson(JSON.toJSONString(data))
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
- News.error("璇锋眰鎺ュ彛鎴愬姛锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", hikUrl + "/startPic", JSON.toJSONString(data), response);
+ News.error("璇锋眰鎺ュ彛鎴愬姛锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", hikUrl + "/capture", JSON.toJSONString(data), response);
} else {
- News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", hikUrl + "/startPic", JSON.toJSONString(data), response);
+ News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", hikUrl + "/capture", JSON.toJSONString(data), response);
}
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/com/zy/common/utils/HttpHandler.java b/src/main/java/com/zy/common/utils/HttpHandler.java
index 70adcc7..74a16d9 100644
--- a/src/main/java/com/zy/common/utils/HttpHandler.java
+++ b/src/main/java/com/zy/common/utils/HttpHandler.java
@@ -15,7 +15,7 @@
*/
public class HttpHandler {
- private static final Integer DEFAULT_TIMEOUT_SECONDS = 5;
+ private static final Integer DEFAULT_TIMEOUT_SECONDS = 100;
private static final MediaType MEDIA_TYPE = MediaType.parse("application/json;charset=utf-8");
private String uri;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 65307b6..85e105c 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -83,9 +83,9 @@
// mainService.rgvFinished2(14);
//鍫嗗灈鏈烘棤浠诲姟涓ゅ垎閽燂紝鍥炲叆搴撳彛寰呮満
- mainService.crnMove();
+// mainService.crnMove();
//鍫嗗灈鏈烘湁鍏ュ簱浠诲姟鏃讹紝鍥炲叆搴撳彛寰呮満
- mainService.crnMoveByInTask();
+// mainService.crnMoveByInTask();
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 7e9fa0b..2950ece 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -48,7 +48,7 @@
switch: false
url: http://172.26.11.98:80/rcs/rtas/
-zyHikUrl: 10.10.10.200:9091/hik
+zyHikUrl: 127.0.0.1:8000
# 涓嬩綅鏈洪厤缃�
wcs-slave:
@@ -81,7 +81,7 @@
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 301
row: 2
- bay: 2
+ bay: 1
lev: 1
# 鍫嗗灈鏈哄叆搴撶珯鐐�
crnInStn[1]:
@@ -247,14 +247,14 @@
ip: 127.0.0.1
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 302
+ staArr: 303,302,301
# LED2
led[1]:
id: 2
ip: 172.17.60.183
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 306
+ staArr: 304,305,306
# # LED3
led[2]:
id: 3
diff --git a/src/main/resources/mapper/WaitPakinMapper.xml b/src/main/resources/mapper/WaitPakinMapper.xml
index 4615185..cde4b5f 100644
--- a/src/main/resources/mapper/WaitPakinMapper.xml
+++ b/src/main/resources/mapper/WaitPakinMapper.xml
@@ -27,4 +27,8 @@
</resultMap>
+ <select id="selectByBarcode" resultMap="BaseResultMap">
+ select * from cust_wait_pakin where zpallet = #{barcode}
+ </select>
+
</mapper>
--
Gitblit v1.9.1