From 64ad813649702dc219147180b05d05b9523ba212 Mon Sep 17 00:00:00 2001 From: "lisai17@sina.com" Date: Fri, 9 Oct 2020 21:42:54 +0800 Subject: [PATCH] . --- .../devicectrl/controllers/InController.java | 10 ++++++++-- .../devicectrl/controllers/OutController.java | 6 ++++++ .../ssjygl/devicectrl/device/LEDThread.java | 2 +- .../local/ssjygl/devicectrl/device/PLC.java | 15 --------------- .../ssjygl/devicectrl/device/XiShuiScale.java | 7 +++++-- .../com/cowr/local/ssjygl/main/Config.java | 1 + .../src/main/resources/prod/config.properties | 6 ++++-- ssjygl-xsx-local/src/main/resources/tpl.xlsx | Bin 12271 -> 11983 bytes .../src/main/resources/tpl_bill_full.xlsx | Bin 13026 -> 12087 bytes .../src/main/resources/tpl_完整版.xlsx | Bin 13369 -> 13335 bytes .../src/main/resources/tpl_结算单.xlsx | Bin 0 -> 13026 bytes 11 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 ssjygl-xsx-local/src/main/resources/tpl_结算单.xlsx diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java index 4db16ed..e9a940c 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/InController.java @@ -41,7 +41,7 @@ public class InController extends Controller implements Runnable { } public void run() { - log.debug("开始 %s 流程", getWhich()); + log.debug("开始 %s 流程 %s", getWhich(), supermarket_id); deviceInit(); while (isRunning()) { @@ -108,7 +108,7 @@ public class InController extends Controller implements Runnable { continue; } - log.debug("%s 【%s】开始流程", getWhich(), pair.license); + log.debug("%s 【%s】开始流程 %s", getWhich(), pair.license, supermarket_id); setCurrentLicense(pair.license); // 设定当前流程中的车辆 @@ -179,6 +179,8 @@ public class InController extends Controller implements Runnable { double weight = 0; int tryCount = 0; while (tryCount < 10 && !getResetFlow()) { + log.debug("第 %s 次,重 %s", tryCount, weight); + try { if (!getScale().isConnected()) { log.debug("%s 【%s】磅秤连接断开,重连", getWhich(), pair.license); @@ -189,6 +191,9 @@ public class InController extends Controller implements Runnable { if (weight > 0) { log.debug("%s 【%s】称重结果【%s】", getWhich(), pair.license, weight); break; + }else{ + // 读数错误,断开连接,下次读取时重连 + getScale().disconnect(); } } catch (Exception e) { getScale().disconnect(); @@ -196,6 +201,7 @@ public class InController extends Controller implements Runnable { log.error(e.getMessage(), e); log.debug("%s 【%s】磅秤连接失败", getWhich(), pair.license); } + tryCount++; } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java index 76e101a..d06f17a 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java @@ -164,6 +164,8 @@ public class OutController extends Controller implements Runnable { double weight = 0; int tryCount = 0; while (tryCount < 10 && !getResetFlow()) { + log.debug("第 %s 次,重 %s", tryCount, weight); + try { if (!getScale().isConnected()) { log.debug("%s 【%s】磅秤连接断开,重连", getWhich(), pair.license); @@ -174,6 +176,9 @@ public class OutController extends Controller implements Runnable { if (weight > 0) { log.debug("%s 【%s】称重结果【%s】", getWhich(), pair.license, weight); break; + }else{ + // 读数错误,断开连接,下次读取时重连 + getScale().disconnect(); } } catch (Exception e) { getScale().disconnect(); @@ -181,6 +186,7 @@ public class OutController extends Controller implements Runnable { log.error(e.getMessage(), e); log.debug("%s 【%s】磅秤连接失败", getWhich(), pair.license); } + tryCount++; } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java index 4fc85ab..5cd40bf 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/LEDThread.java @@ -313,7 +313,7 @@ public class LEDThread extends Device implements Runnable { public static void main(String[] args) { try { - LEDThread led = new LEDThread("", "192.168.20.50", 5005); + LEDThread led = new LEDThread("", "192.168.20.52", 5005); Thread thread = new Thread(led); thread.setDaemon(true); thread.start(); diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/PLC.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/PLC.java index 20ad445..47e11e3 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/PLC.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/PLC.java @@ -144,11 +144,6 @@ public class PLC extends Device { void plcWrite(String address, byte data, byte[] framePreset) throws IOException { lock.lock(); try { - if (!isConnected()) { - log.debug("PLC %s %s 未连接", getId(), getIp()); - return; - } - if (addressTable.containsKey(address)) { byte addr = addressTable.get(address); byte[] frame = new byte[framePreset.length]; @@ -172,11 +167,6 @@ public class PLC extends Device { int plcRead() throws IOException { lock.lock(); try { - if (!isConnected()) { - log.debug("PLC %s %s 未连接", getId(), getIp()); - return -1; - } - InputStream in = socket.getInputStream(); if (in.available() >= 6) { byte[] buf = new byte[6]; @@ -199,11 +189,6 @@ public class PLC extends Device { int plcClear() throws IOException { lock.lock(); try { - if (!isConnected()) { - log.debug("PLC %s %s 未连接", getId(), getIp()); - return -1; - } - InputStream inputStream = socket.getInputStream(); int available = inputStream.available(); byte[] buf = new byte[available]; diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/XiShuiScale.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/XiShuiScale.java index a35021a..81e4de7 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/XiShuiScale.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/device/XiShuiScale.java @@ -1,5 +1,7 @@ package com.cowr.local.ssjygl.devicectrl.device; +import com.jfinal.log.Log; + import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; @@ -10,6 +12,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; public class XiShuiScale extends AbsScale { + private static Log log = Log.getLog(XiShuiScale.class); public XiShuiScale(String id, String ip, int port) { super(id, ip, port); } @@ -67,7 +70,7 @@ public class XiShuiScale extends AbsScale { String weight = new String(Arrays.copyOfRange(buf, 4, 10)); if (!pattern.matcher(weight).matches() || weight.equals("000000")) { -// System.out.println("error:" + weight); + log.error("error weight: %s", weight); if (errCount == 100) { break; @@ -92,7 +95,7 @@ public class XiShuiScale extends AbsScale { public static void main(String[] args) { - XiShuiScale s = new XiShuiScale("scale", "192.168.20.31", 10001); + XiShuiScale s = new XiShuiScale("scale", "192.168.20.30", 10001); try { boolean connect = s.connect(); diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java index e3f5c32..5f60fef 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/main/Config.java @@ -319,6 +319,7 @@ public class Config extends JFinalConfig { CliCacheData.SUP = Supermarket.dao.findById(configprop.getInt("current.supermarket_id")); if (CliCacheData.SUP == null) { + System.out.println("没有获取到有效的砂站信息,检查配置是否正确"); log.error("没有获取到有效的砂站信息,检查配置是否正确"); try { diff --git a/ssjygl-xsx-local/src/main/resources/prod/config.properties b/ssjygl-xsx-local/src/main/resources/prod/config.properties index fb1ae05..abeb0b9 100644 --- a/ssjygl-xsx-local/src/main/resources/prod/config.properties +++ b/ssjygl-xsx-local/src/main/resources/prod/config.properties @@ -1,7 +1,7 @@ devMode=true -endpoint=oss-cn-shenzhen-internal.aliyuncs.com +endpoint=oss-cn-shenzhen.aliyuncs.com #正式、测试的附件,都存入正式的 oss 中 bucketName=ssjygl-xsx-static @@ -15,7 +15,7 @@ socketserver.port=21002 socketio.port=12002 #当前部署本地程序的砂站id -current.supermarket_id=4 +current.supermarket_id=6 #打印用到的配置信息 print.vendor=浠水县长投环保有限公司 @@ -24,6 +24,8 @@ print.vendorTaxId=91421125MA49GYYK2B #如果物流车辆入场重量大大超过皮重(>=10%),则认为是转运车辆 #2019-08-01 暂定 50% weight.distinguish=0.5 +#最大毛重不超过 49 吨,超过 49 吨不能上高速 +weigh.max=49 #起步运输距离 start.trans.distance=5 diff --git a/ssjygl-xsx-local/src/main/resources/tpl.xlsx b/ssjygl-xsx-local/src/main/resources/tpl.xlsx index f13e699c1a35bda8dd3a477ede5fd168b9bf85db..75f41d7f68af286b1aa33ebacd3b33ab48acfd88 100644 GIT binary patch delta 5635 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 Z9$}mEA;%xcVe<+iNrX7@9EAST`5&e13b6nH diff --git a/ssjygl-xsx-local/src/main/resources/tpl_完整版.xlsx b/ssjygl-xsx-local/src/main/resources/tpl_完整版.xlsx index d3b95ac58703bb10c95ae5e49b8d0d0f92e4f1f4..c18ee440656c147361266151429b99baae258f4b 100644 GIT binary patch delta 5567 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 delta 5635 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 EFYsHZ;{X5v diff --git a/ssjygl-xsx-local/src/main/resources/tpl_结算单.xlsx b/ssjygl-xsx-local/src/main/resources/tpl_结算单.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6113ca5e1ce24792795529592416086d58bba78f GIT binary patch literal 13026 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 literal 0 HcmV?d00001