From 83e9a3d09b8eda7e3976425302ebe61d6f8c1d14 Mon Sep 17 00:00:00 2001 From: LSH <brook_w@163.com> Date: 星期四, 11 八月 2022 17:07:05 +0800 Subject: [PATCH] Default Changelist --- 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