From 3c43878b87e5724585a107fd30080ba8899d7690 Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期四, 11 八月 2022 17:19:09 +0800
Subject: [PATCH] Merge branch 'gzynasrs' of http://47.97.1.152:5880/r/zy-asrs into gzynasrs
---
src/main/webapp/views/waitPakin/waitPakin_detail.html | 4
src/main/java/com/zy/asrs/entity/param/CombParam.java | 14 ++
src/main/webapp/static/js/waitPakin/waitPakin.js | 3
src/main/java/com/zy/asrs/entity/param/HeartBeat.java | 18 +++
src/main/java/com/zy/asrs/controller/OpenController.java | 38 +++++++
src/main/webapp/views/waitPakin/waitPakin.html | 4
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 125 +++++++++++++++---------
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 54 ++++++++++
src/main/java/com/zy/asrs/service/OpenService.java | 5 +
src/main/resources/application.yml | 7 +
10 files changed, 214 insertions(+), 58 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index cb34a46..498d446 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -13,9 +13,7 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* Created by vincent on 2022/4/8
@@ -46,6 +44,40 @@
return R.ok();
}
+ @PostMapping("/rpc/watchDog/auth/v1")
+ @AppAuth(memo = "蹇冭烦鎺ュ彛璋冪敤")
+ public synchronized R hostName(@RequestHeader(required = false) String appkey,
+ @RequestBody(required = false) HeartBeat param,
+ HttpServletRequest request){
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+
+ //........
+ System.out.println(String.format("id:%s,hostName:%s,requestTime:%s",
+ param.getId(),param.getHostName(),param.getRequestTime()));
+
+ return R.ok();
+ }
+ @PostMapping("/rcp/pakIn/auth/v1")
+ @AppAuth(memo = "鍏ュ簱閫氱煡鍗曟帴鍙h皟鐢�")
+ public synchronized R combPack(@RequestHeader(required = false) String appkey,
+ @RequestBody(required = false) CombParam param,
+ HttpServletRequest request){
+
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ //鐢熸垚鍏ュ簱閫氱煡妗�
+ openService.combPACK(param);
+
+ Map<String,Boolean> map=new HashMap<>();
+ map.put("isComplete",true);
+ System.out.println(map);
+ return R.ok(map);
+ }
/****************************************************************************/
/********************************* 鎵撳寘涓婄嚎 **********************************/
/****************************************************************************/
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index e19b459..91a68e3 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -9,6 +9,20 @@
*/
@Data
public class CombParam {
+ //packNo 鏄� 瀛楃涓� PACK鐮�
+ private String packNo;
+
+ //packName 鏄� 瀛楃涓� 浜у搧鍨嬪彿
+ private String packName;
+
+ //settingTimes 鏄� Integer 闈欑疆鏃堕棿,鍗曚綅鍒嗛挓
+ private Integer settingTimes;
+
+ //requestTime 鏄� 瀛楃涓� 鍏ュ簱鏃堕棿锛寉yyy-MM-dd HH:mm:ss
+ private String requestTime;
+
+ //PACK鐘舵��
+ private Integer packSts;
// 鍗曟嵁缂栧彿
private String orderNo;
diff --git a/src/main/java/com/zy/asrs/entity/param/HeartBeat.java b/src/main/java/com/zy/asrs/entity/param/HeartBeat.java
new file mode 100644
index 0000000..f365dc3
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/HeartBeat.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.entity.param;
+
+
+import lombok.Data;
+
+@Data
+public class HeartBeat {
+
+ //鎶ユ枃鏍囪瘑锛岃嚜澧為暱
+ private String id;
+
+ //鍥哄畾鍊�:MES
+ private String hostName;
+
+ //涓婃姤鏃堕棿锛寉yyy-MM-dd HH:mm:ss
+ private String requestTime;
+
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index afd90b1..3454acb 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -9,6 +9,11 @@
public interface OpenService {
/**
+ * 娣诲姞鍏ュ簱閫氱煡妗�
+ */
+ void combPACK(CombParam param);
+
+ /**
* 娣诲姞鍏ュ簱鍗�
*/
void pakinOrderCreate(OpenOrderPakinParam param);
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 5d8970a..81b1045 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
@@ -19,6 +20,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -48,6 +51,10 @@
private TagService tagService;
@Autowired
private TagMapper tagMapper;
+ @Autowired
+ private WaitPakinService waitPakinService;
+ @Autowired
+ private WrkDetlService wrkDetlService;
@Override
@Transactional
@@ -544,4 +551,51 @@
}
+ @Override
+ @Transactional
+ public void combPACK(CombParam param) {
+ if (Cools.isEmpty(param.getPackNo())) {
+ throw new CoolException(BaseRes.PARAM);
+ }
+ // 鍒ゆ柇鏄惁鏈夌浉鍚孭ack鐮佺殑鏁版嵁
+ if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+ eq("zpallet", param.getPackNo()).eq("io_status", "N")) > 0) {
+ throw new CoolException(param.getPackNo() + "鏁版嵁姝e湪杩涜鍏ュ簱");
+ }
+
+ int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getPackNo()));
+ int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getPackNo()));
+ if (countLoc > 0 || countWrk > 0) {
+ throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getPackNo());
+ }
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ java.util.Date date=null;
+ try {
+ date= sdf.parse(param.getRequestTime());
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ java.sql.Date requestTime = new java.sql.Date(date.getTime());
+
+ // 鐢熸垚鍏ュ簱閫氱煡妗�
+ Mat mat = matService.selectByMatnr(param.getPackName());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(param.getPackName() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ }
+ WaitPakin waitPakin = new WaitPakin();
+ waitPakin.sync(mat);
+ waitPakin.setZpallet(param.getPackNo()); // Pack鐮�
+ waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAnfme(1.0); // 鏁伴噺
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAppeUser(null);
+ waitPakin.setAppeTime(requestTime);
+ waitPakin.setModiUser(null);
+ waitPakin.setModiTime(requestTime);
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 173bc58..d50a892 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -1,19 +1,31 @@
package com.zy.asrs.task.handler;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.constant.MesConstant;
+import com.zy.common.model.MesPakinParam;
+import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
+import net.sf.jsqlparser.parser.JJTCCJSqlParserState;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -38,60 +50,29 @@
private WaitPakinLogService waitPakinLogService;
@Autowired
private OrderService orderService;
+ @Autowired
+ private ApiLogService apiLogService;
+
+ @Value("${mes.url}")
+ private String mesUrl;
+
+ @Value("${mes.inPath}")
+ private String inpath;
+
+ @Value("${mes.outPath}")
+ private String outPath;
@Transactional
public ReturnT<String> start(WrkMast wrkMast) {
try {
- List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
- if (!Cools.isEmpty(wrkDetls)) {
- Iterator<WrkDetl> iterator = wrkDetls.iterator();
- while (iterator.hasNext()) {
- WrkDetl wrkDetl = iterator.next();
- if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- orderService.checkComplete(wrkDetl.getOrderNo());
- iterator.remove();
- }
- }
+ ReturnT<String> result = null;
+ if (wrkMast.getWrkSts() == 5 && wrkMast.getIoType() == 1) {
+ result = postMesData(wrkMast,inpath);
+ } else if (wrkMast.getWrkSts() == 15 && wrkMast.getIoType() == 101){
+ result = postMesData(wrkMast,outPath);
}
-
- // 鍏ュ簱 --------------------------------------------------------------------------------
- if (wrkMast.getWrkSts() == 5) {
- // 鍏ㄦ澘鍏ュ簱
- if (wrkMast.getIoType() == 1) {
- // 鍏ュ簱閫氱煡鍗�
- if (!Cools.isEmpty(wrkMast.getBarcode())) {
- // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
- if (!waitPakinLogService.save(wrkMast.getBarcode())) {
- exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- // 鍒犻櫎鍏ュ簱閫氱煡妗�
- if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) {
- exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
- // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
- if (!Cools.isEmpty(wrkDetls)) {
- if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
- exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
- // 鎷f枡鍐嶅叆搴�
- } else if (wrkMast.getIoType() == 53) {
- if (!Cools.isEmpty(wrkDetls)) {
- if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
- exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
- }
-
- // 鍑哄簱 --------------------------------------------------------------------------------
- } else if (wrkMast.getWrkSts() == 15) {
- if (!Cools.isEmpty(wrkDetls)) {
- if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
- exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
+ if(null != result && !result.isSuccess()){
+ return result;
}
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
@@ -119,4 +100,50 @@
return SUCCESS;
}
+ private ReturnT<String> postMesData(WrkMast wrkMast, String mesPath){
+ WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ if(wrkDetl != null){
+ CombParam combParam = new CombParam();
+ combParam.setPackNo(wrkDetl.getZpallet());
+ combParam.setPackName(wrkDetl.getMatnr());
+ combParam.setLocno(wrkMast.getLocNo());
+ combParam.setPackSts(1);
+ combParam.setRequestTime(DateUtils.convert(new Date()));
+ String response = "";
+ boolean success = false;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(mesUrl)
+ .setPath(mesPath)
+ .setJson(JSON.toJSONString(combParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ success = true;
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(combParam), response);
+ throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+ }
+ } catch (Exception e) {
+ log.error("fail", e);
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鎴愬搧搴撳叆搴撲笂鎶�",
+ MesConstant.URL + MesConstant.PAKIN_URL,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(combParam),
+ response,
+ success
+ );
+ } catch (Exception e) { log.error("", e); }
+ }
+ }
+ return SUCCESS;
+ }
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5c21782..e3660c4 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -48,4 +48,9 @@
# 鍙屾繁搴撲綅鎺掑彿
doubleLocs: 1,4,5,8,9,12,13,16
# 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
- groupCount: 2
\ No newline at end of file
+ groupCount: 2
+
+mes:
+ url: 127.0.0.1:8080/test
+ inPath: mesin/v1
+ outPath: mesin/v1
\ No newline at end of file
diff --git a/src/main/webapp/static/js/waitPakin/waitPakin.js b/src/main/webapp/static/js/waitPakin/waitPakin.js
index 4027f58..8f30fad 100644
--- a/src/main/webapp/static/js/waitPakin/waitPakin.js
+++ b/src/main/webapp/static/js/waitPakin/waitPakin.js
@@ -464,7 +464,8 @@
if (find[0]!=null){
if (find[0].type === 'checkbox'){
if (data[val]==='Y'){
- find.attr("checked","checked");
+ find.attr
+ ("checked","checked");
find.val('Y');
} else {
find.remove("checked");
diff --git a/src/main/webapp/views/waitPakin/waitPakin.html b/src/main/webapp/views/waitPakin/waitPakin.html
index 331f54d..e8b1f94 100644
--- a/src/main/webapp/views/waitPakin/waitPakin.html
+++ b/src/main/webapp/views/waitPakin/waitPakin.html
@@ -16,12 +16,12 @@
<div id="search-box" class="layui-form layui-card-header">
<div class="layui-inline">
<div class="layui-input-inline">
- <input class="layui-input" type="text" name="zpallet" placeholder="鎵樼洏鏉$爜" autocomplete="off">
+ <input class="layui-input" type="text" name="zpallet" placeholder="PACK鐮�" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
- <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off">
+ <input class="layui-input" type="text" name="matnr" placeholder="浜у搧鍨嬪彿" autocomplete="off">
</div>
</div>
<!-- 鏃ユ湡鑼冨洿 -->
diff --git a/src/main/webapp/views/waitPakin/waitPakin_detail.html b/src/main/webapp/views/waitPakin/waitPakin_detail.html
index d419c9d..8373fda 100644
--- a/src/main/webapp/views/waitPakin/waitPakin_detail.html
+++ b/src/main/webapp/views/waitPakin/waitPakin_detail.html
@@ -30,13 +30,13 @@
</div>
</div>
<div class="layui-inline" style="width:31%;">
- <label class="layui-form-label">鎵� 鐩� 鐮侊細</label>
+ <label class="layui-form-label">PACK 鐮侊細</label>
<div class="layui-input-inline">
<input id="barcode" class="layui-input" type="text">
</div>
</div>
<div class="layui-inline" style="width:31%;">
- <label class="layui-form-label">鍟嗗搧缂栧彿锛�</label>
+ <label class="layui-form-label">浜у搧鍨嬪彿锛�</label>
<div class="layui-input-inline">
<input id="matnr" class="layui-input" type="text">
</div>
--
Gitblit v1.9.1