dev
parent
62118f2240
commit
b46e2c49fe
|
|
@ -16,7 +16,10 @@ import com.jfinal.plugin.activerecord.Record;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
public class DeviceThread extends Thread {
|
||||
|
|
@ -168,8 +171,11 @@ public class DeviceThread extends Thread {
|
|||
|
||||
String which = device.getString("which");
|
||||
String plcRod1Up = device.getString("plcRod1Up");
|
||||
String plcRod2Up = device.getString("plcRod2Up");
|
||||
String plcSensor1Reset = device.getString("plcSensor1Reset");
|
||||
String plcSensor2Reset = device.getString("plcSensor2Reset");
|
||||
String plcSensor1 = device.getString("plcSensor1");
|
||||
String plcSensor2 = device.getString("plcSensor2");
|
||||
Integer scale_wait_time = device.getInteger("scale_wait_time");
|
||||
JSONObject cameraconf = device.getJSONObject("camera");
|
||||
JSONObject scaleconf = device.getJSONObject("scale");
|
||||
|
|
@ -223,9 +229,9 @@ public class DeviceThread extends Thread {
|
|||
}
|
||||
|
||||
if (which.startsWith(Enums.CtrlFlowEnum.R.name())) {
|
||||
controller = new InController(which, camera, scale, led, plc, scale_wait_time, plcRod1Up, plcSensor1Reset, plcSensor1);
|
||||
controller = new InController(which, camera, scale, led, plc, scale_wait_time, plcRod1Up, plcRod2Up, plcSensor1Reset, plcSensor2Reset, plcSensor1, plcSensor2);
|
||||
} else if (which.startsWith(Enums.CtrlFlowEnum.C.name())) {
|
||||
controller = new OutController(which, camera, scale, led, plc, scale_wait_time, plcRod1Up, plcSensor1Reset, plcSensor1);
|
||||
controller = new OutController(which, camera, scale, led, plc, scale_wait_time, plcRod1Up, plcRod2Up, plcSensor1Reset, plcSensor2Reset, plcSensor1, plcSensor2);
|
||||
} else {
|
||||
log.error("which 值设置错误 %s ", config);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package com.cowr.local.ssjygl.devicectrl.controllers;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.*;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.AbsScale;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.Camera;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.LEDThread;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.PLC;
|
||||
import com.cowr.local.ssjygl.devicectrl.utils.LicenseJPGPair;
|
||||
import com.cowr.local.ssjygl.main.CliCacheData;
|
||||
import com.cowr.local.ssjygl.transport.TransportDeviceService;
|
||||
import com.cowr.local.ssjygl.transport.TransportSyncService;
|
||||
import com.cowr.model.PostLicenseResult;
|
||||
|
|
@ -37,8 +39,11 @@ public abstract class Controller implements Runnable {
|
|||
|
||||
// plc 指令
|
||||
private String rod1Up; // 抬前闸
|
||||
private String rod2Up; // 抬后闸
|
||||
private String sensor1Reset; // 重置前地感状态
|
||||
private String sensor1; // 读地感状态
|
||||
private String sensor2Reset; // 重置后地感状态
|
||||
private String sensor1; // 读前地感状态
|
||||
private String sensor2; // 读后地感状态
|
||||
|
||||
private ReentrantLock ctrllock; // 同进同出互斥锁
|
||||
|
||||
|
|
@ -60,7 +65,7 @@ public abstract class Controller implements Runnable {
|
|||
this.scaleWaitTime = scaleWaitTime;
|
||||
}
|
||||
|
||||
public Controller(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc, int scaleWaitTime, String rod1Up, String sensor1Reset, String sensor1) {
|
||||
public Controller(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc, int scaleWaitTime, String rod1Up, String rod2Up, String sensor1Reset, String sensor2Reset, String sensor1, String sensor2) {
|
||||
log.info("%s 流程上磅等待时间 %s", which, scaleWaitTime);
|
||||
|
||||
this.which = which;
|
||||
|
|
@ -73,12 +78,21 @@ public abstract class Controller implements Runnable {
|
|||
if (StrKit.notBlank(rod1Up)) {
|
||||
this.rod1Up = rod1Up;
|
||||
}
|
||||
if (StrKit.notBlank(rod2Up)) {
|
||||
this.rod2Up = rod2Up;
|
||||
}
|
||||
if (StrKit.notBlank(sensor1Reset)) {
|
||||
this.sensor1Reset = sensor1Reset;
|
||||
}
|
||||
if (StrKit.notBlank(sensor2Reset)) {
|
||||
this.sensor2Reset = sensor2Reset;
|
||||
}
|
||||
if (StrKit.notBlank(sensor1)) {
|
||||
this.sensor1 = sensor1;
|
||||
}
|
||||
if (StrKit.notBlank(sensor2)) {
|
||||
this.sensor2 = sensor2;
|
||||
}
|
||||
}
|
||||
|
||||
public void onLicenseResult(String license, File file, boolean head, boolean delete) {
|
||||
|
|
@ -307,6 +321,30 @@ public abstract class Controller implements Runnable {
|
|||
this.sensor1 = sensor1;
|
||||
}
|
||||
|
||||
public String getRod2Up() {
|
||||
return rod2Up;
|
||||
}
|
||||
|
||||
public void setRod2Up(String rod2Up) {
|
||||
this.rod2Up = rod2Up;
|
||||
}
|
||||
|
||||
public String getSensor2Reset() {
|
||||
return sensor2Reset;
|
||||
}
|
||||
|
||||
public void setSensor2Reset(String sensor2Reset) {
|
||||
this.sensor2Reset = sensor2Reset;
|
||||
}
|
||||
|
||||
public String getSensor2() {
|
||||
return sensor2;
|
||||
}
|
||||
|
||||
public void setSensor2(String sensor2) {
|
||||
this.sensor2 = sensor2;
|
||||
}
|
||||
|
||||
public ReentrantLock getCtrllock() {
|
||||
return ctrllock;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package com.cowr.local.ssjygl.devicectrl.controllers;
|
||||
|
||||
import com.cowr.local.ssjygl.devicectrl.device.*;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.AbsScale;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.Camera;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.LEDThread;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.PLC;
|
||||
import com.cowr.local.ssjygl.devicectrl.utils.LicenseJPGPair;
|
||||
import com.cowr.local.ssjygl.main.CliCacheData;
|
||||
import com.cowr.local.ssjygl.main.Config;
|
||||
import com.cowr.model.PostLicenseResult;
|
||||
import com.jfinal.kit.StrKit;
|
||||
import com.jfinal.log.Log;
|
||||
|
|
@ -17,22 +19,34 @@ public class InController extends Controller implements Runnable {
|
|||
super(which, camera, scale, led, plc, scaleWaitTime);
|
||||
|
||||
setRod1Up("rodIn1Up");
|
||||
setRod2Up("rodIn2Up");
|
||||
setSensor1Reset("sensorIn1Reset");
|
||||
setSensor2Reset("sensorIn2Reset");
|
||||
setSensor1("sensorIn1");
|
||||
setSensor2("sensorIn2");
|
||||
}
|
||||
|
||||
public InController(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc, int scaleWaitTime, String rod1Up, String sensor1Reset, String sensor1) {
|
||||
super(which, camera, scale, led, plc, scaleWaitTime, rod1Up, sensor1Reset, sensor1);
|
||||
public InController(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc, int scaleWaitTime, String rod1Up, String rod2Up, String sensor1Reset, String sensor2Reset, String sensor1, String sensor2) {
|
||||
super(which, camera, scale, led, plc, scaleWaitTime, rod1Up, rod2Up, sensor1Reset, sensor2Reset, sensor1, sensor2);
|
||||
|
||||
if (StrKit.isBlank(rod1Up)) {
|
||||
setRod1Up("rodIn1Up");
|
||||
}
|
||||
if (StrKit.isBlank(rod2Up)) {
|
||||
setRod1Up("rodIn2Up");
|
||||
}
|
||||
if (StrKit.isBlank(sensor1Reset)) {
|
||||
setSensor1Reset("sensorIn1Reset");
|
||||
}
|
||||
if (StrKit.isBlank(sensor2Reset)) {
|
||||
setSensor1Reset("sensorIn2Reset");
|
||||
}
|
||||
if (StrKit.isBlank(sensor1)) {
|
||||
setSensor1("sensorIn1");
|
||||
}
|
||||
if (StrKit.isBlank(sensor2)) {
|
||||
setSensor2("sensorIn2");
|
||||
}
|
||||
}
|
||||
|
||||
public void run() {
|
||||
|
|
@ -44,7 +58,7 @@ public class InController extends Controller implements Runnable {
|
|||
// 出现错位等情况时,需要重置流程,重新开始
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -70,7 +84,7 @@ public class InController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】 重置流程", getWhich(), getCurrentLicense());
|
||||
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -137,7 +151,7 @@ public class InController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】上磅,抬前闸", getWhich(), pair.license);
|
||||
|
||||
try {
|
||||
getPlc().write(getRod1Up()); // 抬闸
|
||||
getPlc().write(getRod1Up()); // 抬前闸
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -145,7 +159,7 @@ public class InController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】上磅,重置地感线圈状态", getWhich(), pair.license);
|
||||
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -154,7 +168,7 @@ public class InController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】上磅,等待地感线圈状态", getWhich(), pair.license);
|
||||
try {
|
||||
while (!getResetFlow()) { // 流程没有被重置,就一直等待地感线圈状态
|
||||
if (getPlc().read(getSensor1())) { // 读取地感状态
|
||||
if (getPlc().read(getSensor1())) { // 读取前地感状态
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -166,7 +180,7 @@ public class InController extends Controller implements Runnable {
|
|||
// 重置流程,这个位置要重置地感线圈状态
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -218,7 +232,7 @@ public class InController extends Controller implements Runnable {
|
|||
// 重置流程
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -262,7 +276,7 @@ public class InController extends Controller implements Runnable {
|
|||
if (weightPosted != null && weightPosted) {
|
||||
log.debug("%s 【%s】抬入场后闸", getWhich(), pair.license);
|
||||
try {
|
||||
getPlc().write("rodIn2Up");
|
||||
getPlc().write(getRod2Up()); // 抬后闸
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.debug("%s 【%s】入场后闸,PLC连接失败", getWhich(), pair.license);
|
||||
|
|
@ -273,7 +287,7 @@ public class InController extends Controller implements Runnable {
|
|||
}
|
||||
|
||||
try {
|
||||
getPlc().write("sensorIn2Reset");
|
||||
getPlc().write(getSensor2Reset()); // 重置后地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -282,7 +296,7 @@ public class InController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】下磅,等待地感线圈状态", getWhich(), pair.license);
|
||||
try {
|
||||
while (!getResetFlow()) { // 流程没有被重置,就一直等待地感线圈状态
|
||||
if (getPlc().read("sensorIn2")) {
|
||||
if (getPlc().read(getSensor2())) { // 读取后地感状态
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -293,7 +307,7 @@ public class InController extends Controller implements Runnable {
|
|||
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write("sensorIn2Reset");
|
||||
getPlc().write(getSensor2Reset()); // 重置后地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -308,7 +322,7 @@ public class InController extends Controller implements Runnable {
|
|||
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write("sensorIn2Reset");
|
||||
getPlc().write(getSensor2Reset()); // 重置后地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -318,7 +332,7 @@ public class InController extends Controller implements Runnable {
|
|||
continue;
|
||||
}
|
||||
} finally {
|
||||
if (getCtrllock() != null) {
|
||||
if (getCtrllock() != null && getCtrllock().isLocked()) {
|
||||
getCtrllock().unlock();
|
||||
|
||||
log.debug("完成 %s 流程,释放资源", getWhich());
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.cowr.local.ssjygl.devicectrl.controllers;
|
||||
|
||||
import com.cowr.local.ssjygl.devicectrl.device.*;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.AbsScale;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.Camera;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.LEDThread;
|
||||
import com.cowr.local.ssjygl.devicectrl.device.PLC;
|
||||
import com.cowr.local.ssjygl.devicectrl.utils.LicenseJPGPair;
|
||||
import com.cowr.local.ssjygl.main.CliCacheData;
|
||||
import com.cowr.model.PostLicenseResult;
|
||||
|
|
@ -18,22 +21,34 @@ public class OutController extends Controller implements Runnable {
|
|||
super(which, camera, scale, led, plc, scaleWaitTime);
|
||||
|
||||
setRod1Up("rodOut1Up");
|
||||
setRod2Up("rodOut2Up");
|
||||
setSensor1Reset("sensorOut1Reset");
|
||||
setSensor2Reset("sensorOut2Reset");
|
||||
setSensor1("sensorOut1");
|
||||
setSensor2("sensorOut2");
|
||||
}
|
||||
|
||||
public OutController(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc, int scaleWaitTime, String rod1Up, String sensor1Reset, String sensor1) {
|
||||
super(which, camera, scale, led, plc, scaleWaitTime, rod1Up, sensor1Reset, sensor1);
|
||||
public OutController(String which, Camera camera, AbsScale scale, LEDThread led, PLC plc, int scaleWaitTime, String rod1Up, String rod2Up, String sensor1Reset, String sensor2Reset, String sensor1, String sensor2) {
|
||||
super(which, camera, scale, led, plc, scaleWaitTime, rod1Up, rod2Up, sensor1Reset, sensor2Reset, sensor1, sensor2);
|
||||
|
||||
if (StrKit.isBlank(rod1Up)) {
|
||||
setRod1Up("rodOut1Up");
|
||||
}
|
||||
if (StrKit.isBlank(rod2Up)) {
|
||||
setRod2Up("rodOut2Up");
|
||||
}
|
||||
if (StrKit.isBlank(sensor1Reset)) {
|
||||
setSensor1Reset("sensorOut1Reset");
|
||||
}
|
||||
if (StrKit.isBlank(sensor2Reset)) {
|
||||
setSensor2Reset("sensorOut2Reset");
|
||||
}
|
||||
if (StrKit.isBlank(sensor1)) {
|
||||
setSensor1("sensorOut1");
|
||||
}
|
||||
if (StrKit.isBlank(sensor2)) {
|
||||
setSensor1("sensorOut2");
|
||||
}
|
||||
}
|
||||
|
||||
public void run() {
|
||||
|
|
@ -45,7 +60,7 @@ public class OutController extends Controller implements Runnable {
|
|||
// 出现错位等情况时,需要重置流程,重新开始
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -71,7 +86,7 @@ public class OutController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】 重置流程", getWhich(), getCurrentLicense());
|
||||
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -106,7 +121,6 @@ public class OutController extends Controller implements Runnable {
|
|||
}
|
||||
|
||||
try {
|
||||
|
||||
PostLicenseResult postLicenseResult = postLicense(CliCacheData.SUP.getId(), pair.license, pair.file, getWhich());
|
||||
|
||||
if (postLicenseResult.isUploaded()) {
|
||||
|
|
@ -139,7 +153,7 @@ public class OutController extends Controller implements Runnable {
|
|||
|
||||
log.debug("%s 【%s】上磅,抬前闸", getWhich(), pair.license);
|
||||
try {
|
||||
getPlc().write(getRod1Up()); // 抬闸
|
||||
getPlc().write(getRod1Up()); // 抬前闸
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -147,7 +161,7 @@ public class OutController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】上磅,重置地感线圈状态", getWhich(), pair.license);
|
||||
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -156,7 +170,7 @@ public class OutController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】上磅,等待地感线圈状态", getWhich(), pair.license);
|
||||
try {
|
||||
while (!getResetFlow()) { // 流程没有被重置,就一直等待地感线圈状态
|
||||
if (getPlc().read(getSensor1())) { // 读地感状态
|
||||
if (getPlc().read(getSensor1())) { // 读取前地感状态
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -168,7 +182,7 @@ public class OutController extends Controller implements Runnable {
|
|||
// 重置流程,这个位置要重置地感线圈状态
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -220,7 +234,7 @@ public class OutController extends Controller implements Runnable {
|
|||
// 重置流程
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write(getSensor1Reset()); // 重置地感状态
|
||||
getPlc().write(getSensor1Reset()); // 重置前地感状态
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -275,7 +289,7 @@ public class OutController extends Controller implements Runnable {
|
|||
}
|
||||
|
||||
try {
|
||||
getPlc().write("sensorOut2Reset");
|
||||
getPlc().write(getSensor2Reset()); // 重置后地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -284,7 +298,7 @@ public class OutController extends Controller implements Runnable {
|
|||
log.debug("%s 【%s】下磅,等待地感线圈状态", getWhich(), pair.license);
|
||||
try {
|
||||
while (!getResetFlow()) { // 流程没有被重置,就一直等待地感线圈状态
|
||||
if (getPlc().read("sensorOut2")) {
|
||||
if (getPlc().read(getSensor2())) { // 读取后地感状态
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -295,7 +309,7 @@ public class OutController extends Controller implements Runnable {
|
|||
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write("sensorOut2Reset");
|
||||
getPlc().write(getSensor2Reset()); // 重置后地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -310,7 +324,7 @@ public class OutController extends Controller implements Runnable {
|
|||
|
||||
if (getResetFlow()) {
|
||||
try {
|
||||
getPlc().write("sensorOut2Reset");
|
||||
getPlc().write(getSensor2Reset()); // 重置后地感状态
|
||||
} catch (IOException e) {
|
||||
log.debug("%s 【%s】 重置地感线圈状态失败", getWhich(), pair.license);
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
@ -320,7 +334,7 @@ public class OutController extends Controller implements Runnable {
|
|||
continue;
|
||||
}
|
||||
} finally {
|
||||
if (getCtrllock() != null) {
|
||||
if (getCtrllock() != null && getCtrllock().isLocked()) {
|
||||
getCtrllock().unlock();
|
||||
|
||||
log.debug("完成 %s 流程,释放资源", getWhich());
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public class Config extends JFinalConfig {
|
|||
public static DeviceThread deviceThread = new DeviceThread();
|
||||
public static SocketIOService socketio = null;
|
||||
private static boolean client_run = true;
|
||||
public static final String CLINET_VERSION = "20210201";
|
||||
public static final String CLINET_VERSION = "20210221";
|
||||
|
||||
public static String getRootPath() {
|
||||
return PathKit.getWebRootPath()
|
||||
|
|
|
|||
Loading…
Reference in New Issue