From ffe47d904591be8cae513a75ac899dbf720a6e71 Mon Sep 17 00:00:00 2001 From: zwl <zwl123> Date: 星期六, 07 十月 2023 15:25:17 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 2 src/main/java/com/zy/common/utils/HttpHandler.java | 31 +++ src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 2 src/main/java/com/zy/asrs/utils/MesSyncUtil.java | 24 ++ src/main/java/com/zy/asrs/task/MesPakinScheduler.java | 4 src/main/java/com/zy/asrs/task/MesPakoutScheduler.java | 9 src/main/webapp/static/js/order/order.js | 26 +- src/main/webapp/views/order/out.html | 4 src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java | 194 +++++++++++++++++++++ src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java | 3 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 138 --------------- src/main/java/com/zy/common/service/CommonService.java | 2 src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java | 44 +++- 13 files changed, 303 insertions(+), 180 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java index e6ce450..7c45eec 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java @@ -40,7 +40,7 @@ if (locMast == null) { return false; } - return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 1; + return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 5; } @Override diff --git a/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java b/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java index a0baa3a..cf0abc1 100644 --- a/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java +++ b/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java @@ -19,7 +19,10 @@ @Autowired MesMatSyncHandler handler; + //@Scheduled(cron = "0/30 * * * * ?") + // @Scheduled(cron = "0/30 * * * * ?") + //@Scheduled(cron = "0 0/2 * * * ?") private void execute() { ReturnT<String> result = null; diff --git a/src/main/java/com/zy/asrs/task/MesPakinScheduler.java b/src/main/java/com/zy/asrs/task/MesPakinScheduler.java index 4daa36e..9f26f1e 100644 --- a/src/main/java/com/zy/asrs/task/MesPakinScheduler.java +++ b/src/main/java/com/zy/asrs/task/MesPakinScheduler.java @@ -4,6 +4,7 @@ import com.zy.asrs.task.handler.MesPakinHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** @@ -16,6 +17,9 @@ @Autowired MesPakinHandler handler; + + //@Scheduled(cron = "0/30 * * * * ?") + //@Scheduled(cron = "0/30 * * * * ?") private void execute() { diff --git a/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java b/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java index 0c37223..fce9cad 100644 --- a/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java +++ b/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java @@ -4,9 +4,8 @@ import com.zy.asrs.task.handler.MesPakoutHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; - -import java.io.IOException; /** * 杞MES鎺ュ彛锛岀敓鎴愬嚭搴撳崟鎹� @@ -22,11 +21,7 @@ private void execute() { ReturnT<String> result = null; - try { - result = handler.start(); - } catch (IOException e) { - e.printStackTrace(); - } + result = handler.start(); if (!result.isSuccess()) { log.error(""); } diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java index 1b9db5f..61004e9 100644 --- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java +++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java @@ -38,7 +38,7 @@ } } - //@Scheduled(cron = "0/5 * * * * ? ") +// @Scheduled(cron = "0/5 * * * * ? ") @Async("orderThreadPool") public void completeAndReport(){ String erpReport = Parameter.get().getErpReport(); diff --git a/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java b/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java index 7d68b60..ba98510 100644 --- a/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java @@ -1,6 +1,7 @@ package com.zy.asrs.task.handler; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; @@ -17,7 +18,6 @@ import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.MesSyncUtil; -import com.zy.common.constant.MesConstant; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -28,12 +28,13 @@ import java.io.IOException; import java.util.Date; import java.util.List; +import java.util.Map; @Slf4j @Service public class MesPakinHandler extends AbstractHandler<String> { @Value("${mes.pakin.url}") - private String url; + private String uri; @Value("${mes.pakin.path}") private String path; @@ -56,11 +57,11 @@ @Transactional public ReturnT<String> start() { boolean success = true; - log.info("url:" + url + path); + log.info("url:" + uri + path); JSONObject jsonObject = null; - String respone; try { - jsonObject = doGetJsonData(); + jsonObject = doPostJsonData(); + log.info("MesPakinHandler jsonObject:" + jsonObject); } catch (IOException e) { success = false; e.printStackTrace(); @@ -69,11 +70,17 @@ int code = jsonObject.getInteger("code"); if(code == 200){ - JSONObject jsonData = jsonObject.getJSONObject("data"); - String orderNo = jsonData.getString("orderNo"); - Order o = insertOrder(jsonData,orderNo); - insertOrUpdateOrderDetl(jsonData, o); + if(!Cools.isEmpty(jsonObject.getString("data")) && jsonObject.getString("data").length()>2){ + JSONArray jsonArray = jsonObject.getJSONArray("data"); + List<JSONObject> jsonDataList = jsonArray.toJavaList(JSONObject.class); + + jsonDataList.forEach(data -> { + String orderNo = data.getString("orderNo"); + Order o = insertOrder(data,orderNo); + insertOrUpdateOrderDetl(data, o); + }); + } }else { success = false; log.error("璇锋眰mes鎺ュ彛鍝嶅簲閿欒锛屽搷搴旂爜涓�: " + code); @@ -88,7 +95,7 @@ private void saveApiLog(String response, boolean success){ apiLogService.save( "鐢熸垚鍏ュ簱鍗曟嵁", - url + path, + uri + path, null, "127.0.0.1", null, @@ -98,15 +105,20 @@ } /* - 鍙戣捣涓�涓猟oGet璇锋眰 + 鍙戣捣涓�涓姹傛潵鑾峰彇鏈幏鍙栬繃鐨勫崟鎹俊鎭� */ - private JSONObject doGetJsonData() throws IOException { + private JSONObject doPostJsonData() throws IOException { + + Map<String, Object> requestParamMap = MesSyncUtil.getRequestParamMap(); + //鑾峰彇鏈幏鍙栬繃鐨勬墍鏈夊崟鎹� + requestParamMap.put("type",0); + return JSON.parseObject( new HttpHandler.Builder() - .setUri(url) + .setUri(uri) .setPath(path) - .setParams(MesSyncUtil.getRequestParamMap()) + .setParams(requestParamMap) .build() - .doGet()); + .doPostWithParam()); } /* @@ -166,6 +178,8 @@ o.setOrderTime(jsonData.getString("orderTime")); //鍗曟嵁绫诲瀷 DocType docType = docTypeService.selectOrAdd(jsonData.getString("orderType"), Boolean.TRUE); + //鐗╂祦鍚嶇О -- 鍏ュ簱搴撴埧鍚嶇О(绔嬩綋搴撳悕绉�) + o.setShipName(jsonData.getString("storage")); o.setDocType(docType.getDocId()); o.setCreateTime(new Date()); o.setUpdateTime(new Date()); diff --git a/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java b/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java index 96b0484..0d63af0 100644 --- a/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java @@ -1,37 +1,223 @@ package com.zy.asrs.task.handler; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.common.SnowflakeIdWorker; +import com.core.exception.CoolException; +import com.zy.asrs.entity.DiaphragmInfo; +import com.zy.asrs.entity.DocType; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.utils.MesSyncUtil; +import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; 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 java.io.IOException; +import java.util.Date; +import java.util.List; +import java.util.Map; @Slf4j @Service public class MesPakoutHandler extends AbstractHandler<String> { - @Value("${mes.pakin.url}") - private String url; + @Value("${mes.pakout.url}") + private String uri; - @Value("${mes.pakin.path}") + @Value("${mes.pakout.path}") private String path; @Autowired private DocTypeService docTypeService; @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + + @Autowired private OrderService orderService; + + @Autowired + private ApiLogService apiLogService; @Autowired private OrderDetlService orderDetlService; - public ReturnT<String> start() throws IOException { + @Transactional + public ReturnT<String> start() { + boolean success = true; + log.info("url:" + uri + path); + JSONObject jsonObject = null; + try { + jsonObject = doPostJsonData(); + } catch (IOException e) { + success = false; + e.printStackTrace(); + } + int code = jsonObject.getInteger("code"); + + if(code == 200){ + if(!Cools.isEmpty(jsonObject.getString("data")) && jsonObject.getString("data").length()>2){ + + JSONArray jsonArray = jsonObject.getJSONArray("data"); + List<JSONObject> jsonDataList = jsonArray.toJavaList(JSONObject.class); + + jsonDataList.forEach(data -> { + String orderNo = data.getString("orderNo"); + Order o = insertOrder(data,orderNo); + insertOrUpdateOrderDetl(data, o); + }); + } + + }else { + success = false; + log.error("璇锋眰mes鎺ュ彛鍝嶅簲閿欒锛屽搷搴旂爜涓�: " + code); + } + saveApiLog(jsonObject.toJSONString(),success); return SUCCESS; } + + /* + 淇濆瓨鏃ュ織 + */ + private void saveApiLog(String response, boolean success){ + apiLogService.save( + "鐢熸垚鍑哄簱鍗曟嵁", + uri + path, + null, + "127.0.0.1", + null, + response, + success + ); + } + + /* + 鍙戣捣涓�涓姹傛潵鑾峰彇鏈幏鍙栬繃鐨勫崟鎹俊鎭� + */ + private JSONObject doPostJsonData() throws IOException { + + Map<String, Object> requestParamMap = MesSyncUtil.getRequestParamMap(); + //鑾峰彇鏈幏鍙栬繃鐨勬墍鏈夊崟鎹� + requestParamMap.put("type",0); + + return JSON.parseObject( new HttpHandler.Builder() + .setUri(uri) + .setPath(path) + .setParams(requestParamMap) + .build() + .doPostWithParam()); + } + + /* + 鏂板order淇℃伅 + */ + private Order insertOrder(JSONObject jsonData, String orderNo){ + Order o = orderService.selectByNo(orderNo); + if (!Cools.isEmpty(o)) { + throw new CoolException(jsonData.getString("orderNo") + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); + } + + o = orderMapping(jsonData); + if (!orderService.insert(o)) { + throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + return o; + } + + /* + 鏍规嵁orderNo銆乵atnr銆乥atch锛屾柊澧炴垨鑰呮洿鏀筼rderDetl淇℃伅 + */ + private void insertOrUpdateOrderDetl(JSONObject jsonData, Order o){ + List<DiaphragmInfo> diaphragmInfoList = JSONObject.parseArray(jsonData.getString("orderDetails"),DiaphragmInfo.class); + + diaphragmInfoList.forEach(d -> { + EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); + wrapper.eq("order_no",o.getOrderNo()).eq("matnr",d.getItemCode()).eq("batch",d.getBatchNo()); + OrderDetl od = orderDetlService.selectOne(wrapper); + if(od == null){ + od = new OrderDetl(); + od.setOrderNo(o.getOrderNo()); + od.setOrderId(o.getId()); + orderDetlMapping(d,od); + orderDetlService.insert(od); + }else { + od.setQty(od.getQty() + d.getQuantity().doubleValue()); + od.setAnfme(od.getAnfme() + d.getAssQuantity().doubleValue()); + od.setUpdateTime(new Date()); + orderDetlService.updateById(od); + } + }); + } + + /* + 鏄犲皠Order绫诲拰jsonData鐨勫瓧娈� + */ + private Order orderMapping(JSONObject jsonData){ + Order o = new Order(); + o.setStatus(1); + //璁剧疆璁㈠崟鐘舵�� --- 鍒濆鍖栫姸鎬� + o.setSettle(0L); + //uuid + o.setUuid(String.valueOf(snowflakeIdWorker.nextId())); + //鍗曟嵁缂栧彿 + o.setOrderNo(jsonData.getString("orderNo")); + //鍗曟嵁鏃堕棿 + o.setOrderTime(jsonData.getString("orderTime")); + //鍗曟嵁绫诲瀷 + DocType docType = docTypeService.selectOrAdd(jsonData.getString("orderType"), Boolean.TRUE); + //鐗╂祦鍚嶇О -- 鍏ュ簱搴撴埧鍚嶇О(绔嬩綋搴撳悕绉�) + o.setShipName(jsonData.getString("storage")); + o.setDocType(docType.getDocId()); + o.setCreateTime(new Date()); + o.setUpdateTime(new Date()); + return o; + } + + /* + 鏄犲皠OrderDetl涓庨殧鑶滀俊鎭被鐨勫瓧娈靛叧绯� + */ + private void orderDetlMapping(DiaphragmInfo d, OrderDetl od){ + //鎵瑰彿 -- 鐢熶骇鎵瑰彿 + od.setBatch(d.getBatchNo()); + //鍟嗗搧缂栫爜 -- 鐗╂枡缂栫爜 + od.setMatnr(d.getItemCode()); + //鍟嗗搧鍚嶇О -- 鐗╂枡鍚嶇О + od.setMaktx(d.getItemName()); + //鏁伴噺 -- 鏁伴噺 + od.setAnfme(d.getQuantity() == null ? null : d.getQuantity().doubleValue()); + //瀹屾垚鏁伴噺 -- 杈呮暟閲� + od.setQty(d.getAssQuantity() == null ? null : d.getAssQuantity().doubleValue()); + //瑙勬牸 -- 瑙勬牸/鍨嬪彿 + od.setSpecs(d.getStd()); + //澶囨敞 -- 澶囨敞 + od.setMemo(d.getNote()); + //鏉″舰鐮� -- 鏉″舰鐮� + od.setQrCode(d.getBarCode()); + //棰滆壊 -- 澶у嵎浣嶇疆 + od.setColor(d.getPosition()); + //鍨嬪彿 -- 灏忓嵎浣嶇疆 + od.setModel(d.getPosition2()); + //鍝佺墝 -- 绛夌骇 + od.setBrand(d.getGrade()); + //鏀跺嵎寮�濮嬫棩鏈� + od.setStartDate(d.getStartDate()); + //鏀跺嵎缁撴潫鏃ユ湡 + od.setEndDate(d.getEndDate()); + + od.setCreateTime(new Date()); + od.setUpdateTime(new Date()); + } } diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java index e79b79a..43b50b1 100644 --- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java @@ -5,8 +5,6 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.exception.CoolException; -import com.sun.org.apache.xpath.internal.operations.Or; -import com.zy.asrs.entity.DiaphragmInfo; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; @@ -21,19 +19,12 @@ import com.zy.common.model.MesPakoutParam; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; /** * Created by vincent on 2020/7/7 @@ -53,18 +44,6 @@ @Autowired private DocTypeService docTypeService; - @Value("${mes.pakin-sync.url}") - private String pakinUrl; - - @Value("${mes.pakin-sync.path}") - private String pakinPath; - - @Value("${mes.pakout-sync.url}") - private String pakoutUrl; - - @Value("${mes.pakout-sync.path}") - private String pakoutPath; - @Transactional public ReturnT<String> start(Order order) { DocType docType = docTypeService.selectById(order.getDocType()); @@ -74,7 +53,6 @@ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); // 鍏ュ簱瀹屾垚涓婃姤 if (docType.getPakin() == 1) { - /* MesPakinParam pakinParam = new MesPakinParam(); pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); pakinParam.setLgortFrom("5008"); @@ -120,13 +98,10 @@ success ); } catch (Exception e) { log.error("", e); } - } */ - - return orderPakinSync(order,docType.getDocName(),orderDetls); + } } // 鍑哄簱瀹屾垚涓婃姤 if (docType.getPakout() == 1) { - /* MesPakoutParam pakoutParam = new MesPakoutParam(); pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�")); pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime())); @@ -178,119 +153,8 @@ ); } catch (Exception e) { log.error("", e); } } - */ - - return orderPakoutSync(order,docType.getDocName(),orderDetls); } return SUCCESS; - } - - private ReturnT<String> orderPakoutSync (Order order, String orderType, List<OrderDetl> orderDetls){ - Map<String,Object> requestMap = getRequestMap(order,orderType,orderDetls); - String response = ""; - boolean success = false; - try { - response = new HttpHandler.Builder() - .setUri(pakoutUrl) - .setPath(pakoutPath) - .setJson(JSON.toJSONString(requestMap)) - .build() - .doPost(); - success = orderSettleUpdate(response,order); - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "鎴愬搧搴撳嚭搴撲笂鎶�", - pakoutUrl + pakoutPath, - null, - "127.0.0.1", - JSON.toJSONString(requestMap), - response, - success - ); - } catch (Exception e) { log.error("", e); } - } - - return SUCCESS; - } - - private ReturnT<String> orderPakinSync (Order order, String orderType, List<OrderDetl> orderDetls){ - Map<String,Object> requestMap = getRequestMap(order,orderType,orderDetls); - - String response = ""; - boolean success = false; - - try { - response = new HttpHandler.Builder() - .setUri(pakinUrl) - .setPath(pakinPath) - .setJson(JSON.toJSONString(requestMap)) - .build() - .doPost(); - success = orderSettleUpdate(response,order); - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "鎴愬搧搴撳叆搴撲笂鎶�", - pakinUrl + pakinPath, - null, - "127.0.0.1", - JSON.toJSONString(requestMap), - response, - success - ); - } catch (Exception e) { log.error("", e); } - } - - return SUCCESS; - - } - - private Map<String,Object> getRequestMap(Order order,String orderType, List<OrderDetl> orderDetls){ - Map<String,Object> requestMap = new HashMap<>(); - requestMap.put("orderNo",order.getOrderNo()); - requestMap.put("orderTime",order.getOrderTime()); - requestMap.put("orderType",orderType); - - List<DiaphragmInfo> diaphragmInfoList = orderDetls.stream().map(od -> { - DiaphragmInfo diaphragmInfo = new DiaphragmInfo(); - diaphragmInfo.setBatchNo(od.getBatch()); - diaphragmInfo.setItemCode(od.getMatnr()); - diaphragmInfo.setBarCode(od.getQrCode()); - diaphragmInfo.setQuantity(new BigDecimal(od.getAnfme())); - diaphragmInfo.setAssQuantity(new BigDecimal(od.getQty())); - return diaphragmInfo; - }).collect(Collectors.toList()); - - requestMap.put("orderDetails",diaphragmInfoList); - - return requestMap; - } - - private boolean orderSettleUpdate(String response, Order order){ - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - //success = true; - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } else { - //log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(requestMap), response); - throw new CoolException("涓婃姤mes绯荤粺澶辫触"); - } - - return true; } } diff --git a/src/main/java/com/zy/asrs/utils/MesSyncUtil.java b/src/main/java/com/zy/asrs/utils/MesSyncUtil.java index 5856a28..7264960 100644 --- a/src/main/java/com/zy/asrs/utils/MesSyncUtil.java +++ b/src/main/java/com/zy/asrs/utils/MesSyncUtil.java @@ -1,5 +1,8 @@ package com.zy.asrs.utils; +import com.alibaba.fastjson.JSONObject; +import com.core.common.Cools; +import org.springframework.beans.factory.annotation.Value; import org.springframework.util.DigestUtils; import java.nio.charset.StandardCharsets; @@ -9,13 +12,32 @@ public class MesSyncUtil { + @Value("${mes.appkey}") + private static String appkey; + public static Map<String,Object> getRequestParamMap(){ Date date = new Date(); String ts = date.getTime() + ""; - String key = DigestUtils.md5DigestAsHex(("appkey" + ts).getBytes(StandardCharsets.UTF_8)); + String key = DigestUtils.md5DigestAsHex(("SX3WMS20230725" + ts).getBytes(StandardCharsets.UTF_8)); Map<String,Object> requestParamMap = new HashMap<>(); requestParamMap.put("ts",ts); requestParamMap.put("key",key); return requestParamMap; } + + public static void main(String[] args) { + System.out.println(appkey); + System.out.println(MesSyncUtil.getRequestParamMap()); + + String jsonString = "{\"msg\":\"鎿嶄綔鎴愬姛\",\"code\":200,\"data\":\"[]\"}"; + JSONObject jsonObject = JSONObject.parseObject(jsonString); + String data = jsonObject.getString("data"); + + System.out.println(data); + if(!Cools.isEmpty(data)){ + System.out.println(data); + } + + + } } diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 0423184..9aa21cb 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -105,6 +105,7 @@ } else if (sourceStaNo > 299){ whsType = 3; } + // 鐩爣鍫嗗灈鏈哄彿 int crnNo = whsType; if (!basCrnpService.checkSiteError(crnNo, true)){ @@ -246,6 +247,7 @@ log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); throw new CoolException("娌℃湁绌哄簱浣�"); } + String locNo = locMast.getLocNo(); // 鐢熸垚宸ヤ綔鍙� diff --git a/src/main/java/com/zy/common/utils/HttpHandler.java b/src/main/java/com/zy/common/utils/HttpHandler.java index 70adcc7..5162b6e 100644 --- a/src/main/java/com/zy/common/utils/HttpHandler.java +++ b/src/main/java/com/zy/common/utils/HttpHandler.java @@ -56,6 +56,37 @@ } /** + * POST璇锋眰鎵ц 骞朵笖url甯﹀弬鏁拌姹� + * @return the HttpHandler response + */ + public String doPostWithParam() throws IOException { + Request request; + Request.Builder headerBuilder = new Request.Builder(); + if (headers != null && headers.size()>0){ + for (Map.Entry<String, Object> entry : headers.entrySet()){ + headerBuilder.addHeader(entry.getKey(), String.valueOf(entry.getValue())); + } + } + if (json == null || "".equals(json)){ + FormBody.Builder builder = new FormBody.Builder(); + FormBody body = builder.build(); + request = headerBuilder + .url(paramsToUrl(uri, path, params, https)) + .post(body) + .build(); + } else { + RequestBody body = RequestBody.create(MEDIA_TYPE, json); + Request.Builder builder = headerBuilder.url((https?"https://":"http://")+uri+path); + builder.header("Content-Type", "application/json;charset=UTF-8"); + request = builder.post(body).build(); + + } + Call call = getClient(timeout, timeUnit).newCall(request); + Response response = call.execute(); + return response.body().string(); + } + + /** * POST璇锋眰鎵ц * @return the HttpHandler response */ diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index ad09170..65b1a96 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -122,12 +122,13 @@ cellMinWidth: 100, cols: [[ {type: 'numbers'}, - {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, - {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160}, - {field: 'batch', title: '鎵瑰彿'}, + {field: 'matnr', title: '鐗╂枡缂栫爜', width: 160}, + {field: 'maktx', title: '鐗╂枡鍚嶇О', width: 160}, + {field: 'batch', title: '鐢熶骇鎵瑰彿'}, {field: 'anfme', title: '鏁伴噺'}, - {field: 'workQty', title: '浣滀笟鏁伴噺'}, - {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'}, + {field: 'qty', title: '杈呮暟閲�'}, + {field: 'qrCode', title: '鏉″舰鐮�'}, + //{field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'}, // {field: 'unit', title: '鍗曚綅'}, // { // field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) { @@ -136,7 +137,7 @@ // }, // {field: 'inQty', title: '宸插叆搴撻噺'}, // {field: 'color', title: '棰滆壊'}, - {field: 'specs', title: '瑙勬牸'} + {field: 'specs', title: '瑙勬牸/鍨嬪彿'} ]], request: { pageName: 'curr', @@ -234,13 +235,14 @@ cellMinWidth: 100, cols: [[ {type: 'numbers', title: '#'}, - {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, - {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200}, - {field: 'batch', title: '鎵瑰彿', edit: true}, - {field: 'specs', title: '瑙勬牸'}, - {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, - {field: 'workQty', title: '浣滀笟鏁伴噺', minWidth: 100, width: 100}, + {field: 'matnr', title: '鐗╂枡缂栫爜', width: 160}, + {field: 'maktx', title: '鐗╂枡鍚嶇О', width: 200}, + {field: 'batch', title: '鐢熶骇鎵瑰彿', edit: true}, + {field: 'specs', title: '瑙勬牸/鍨嬪彿'}, + {field: 'anfme', title: '鏁伴噺', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, + //{field: 'workQty', title: '浣滀笟鏁伴噺', minWidth: 100, width: 100}, // {field: 'unit', title: '鍗曚綅', width: 80}, + {field: 'qty', title: '杈呮暟閲�' , edit: true}, {field: 'memo', title: '澶囨敞' , edit: true}, {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'} ]], diff --git a/src/main/webapp/views/order/out.html b/src/main/webapp/views/order/out.html index 0d7e344..688e2fa 100644 --- a/src/main/webapp/views/order/out.html +++ b/src/main/webapp/views/order/out.html @@ -95,13 +95,13 @@ <form class="layui-form toolbar"> <div class="layui-form-item"> <div class="layui-inline"> - <label class="layui-form-label">鍟嗗搧缂栫爜:</label> + <label class="layui-form-label">鐗╂枡缂栫爜:</label> <div class="layui-input-inline"> <input name="matnr" class="layui-input" placeholder="鍟嗗搧缂栫爜"/> </div> </div> <div class="layui-inline"> - <label class="layui-form-label">鍟嗗搧鍚嶇О:</label> + <label class="layui-form-label">鐗╂枡鍚嶇О:</label> <div class="layui-input-inline"> <input name="maktx" class="layui-input" placeholder="鍟嗗搧鍚嶇О"/> </div> -- Gitblit v1.9.1