Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -340,6 +340,7 @@ public class HongXiangConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
jo.put("finish", finish);
|
jo.put("finish", finish);
|
||||||
jo.put("isOnline", this.getIsonline());
|
jo.put("isOnline", this.getIsonline());
|
||||||
jo.put("error", ErrorUtil.getDictDetail("hx_error_type", String.valueOf(this.getError())));
|
jo.put("error", ErrorUtil.getDictDetail("hx_error_type", String.valueOf(this.getError())));
|
||||||
|
jo.put("error1", ErrorUtil.getDictDetail("hx_error_type", String.valueOf(this.getError1())));
|
||||||
jo.put("isError", this.getIserror());
|
jo.put("isError", this.getIserror());
|
||||||
jo.put("countdown_house", countdown_house);
|
jo.put("countdown_house", countdown_house);
|
||||||
jo.put("countdown_min", countdown_min);
|
jo.put("countdown_min", countdown_min);
|
||||||
@@ -348,9 +349,6 @@ public class HongXiangConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
jo.put("mode", mode);
|
jo.put("mode", mode);
|
||||||
jo.put("move", move);
|
jo.put("move", move);
|
||||||
jo.put("action", action);
|
jo.put("action", action);
|
||||||
// jo.put("isOnline", this.getIsonline());
|
|
||||||
// jo.put("error", this.getError());
|
|
||||||
// jo.put("isError", this.getIserror());
|
|
||||||
jo.put("task", this.getTask());
|
jo.put("task", this.getTask());
|
||||||
return jo;
|
return jo;
|
||||||
}
|
}
|
||||||
@@ -402,4 +400,29 @@ public class HongXiangConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void writing(List list) {
|
||||||
|
Map<String, Object> itemMap = new HashMap<String, Object>();
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
Object ob = list.get(i);
|
||||||
|
JSONObject json = (JSONObject) JSONObject.toJSON(ob);
|
||||||
|
if (!StrUtil.isEmpty(json.getString("value"))) {
|
||||||
|
String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
|
+ "." + json.getString("code");
|
||||||
|
itemMap.put(to_param, json.getString("value"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "下发电气信号:" + itemMap);
|
||||||
|
try {
|
||||||
|
this.checkcontrol(itemMap);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
try {
|
||||||
|
this.checkcontrol(itemMap);
|
||||||
|
} catch (Exception e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -457,11 +457,29 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
this.writing("to_command", "1");
|
this.writing("to_command", "1");
|
||||||
if (startdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
if (startdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
||||||
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startdevice.getDeviceDriver();
|
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startdevice.getDeviceDriver();
|
||||||
hongXiangConveyorDeviceDriver.writing("to_open_door", "1");
|
List list = new ArrayList();
|
||||||
|
Map map = new HashMap();
|
||||||
|
map.put("code", "to_open_door");
|
||||||
|
map.put("value", "1");
|
||||||
|
list.add(map);
|
||||||
|
try {
|
||||||
|
hongXiangConveyorDeviceDriver.writing(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "起点设备:" + start_device_code + "未打开烘箱门,导致now_steps_type不等于: 2 ;now_steps_type:" + now_steps_type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (nextdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
if (nextdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
||||||
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextdevice.getDeviceDriver();
|
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextdevice.getDeviceDriver();
|
||||||
hongXiangConveyorDeviceDriver.writing("to_open_door", "1");
|
List list = new ArrayList();
|
||||||
|
Map map = new HashMap();
|
||||||
|
map.put("code", "to_open_door");
|
||||||
|
map.put("value", "1");
|
||||||
|
list.add(map);
|
||||||
|
try {
|
||||||
|
hongXiangConveyorDeviceDriver.writing(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "终点设备:" + next_device_code + "未打开烘箱门,导致now_steps_type不等于: 2;now_steps_type:" + now_steps_type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.setNow_steps_type(2);
|
this.setNow_steps_type(2);
|
||||||
this.setRequireSucess(true);
|
this.setRequireSucess(true);
|
||||||
@@ -605,13 +623,29 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
//HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
|
//HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
|
||||||
if (nextDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
if (nextDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
||||||
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextDevice.getDeviceDriver();
|
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextDevice.getDeviceDriver();
|
||||||
hongXiangConveyorDeviceDriver.writing("to_open_door", "1");
|
List list = new ArrayList();
|
||||||
hongXiangConveyorDeviceDriver.writing("to_open_door", "1");
|
Map map = new HashMap();
|
||||||
|
map.put("code", "to_open_door");
|
||||||
|
map.put("value", "1");
|
||||||
|
list.add(map);
|
||||||
|
try {
|
||||||
|
hongXiangConveyorDeviceDriver.writing(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "终点设备:" + next_device_code + "未打开烘箱门,导致now_steps_type不等于: 2;now_steps_type:" + now_steps_type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (startDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
if (startDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
|
||||||
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startDevice.getDeviceDriver();
|
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startDevice.getDeviceDriver();
|
||||||
hongXiangConveyorDeviceDriver.writing("to_open_door", "1");
|
List list = new ArrayList();
|
||||||
hongXiangConveyorDeviceDriver.writing("to_open_door", "1");
|
Map map = new HashMap();
|
||||||
|
map.put("code", "to_open_door");
|
||||||
|
map.put("value", "1");
|
||||||
|
list.add(map);
|
||||||
|
try {
|
||||||
|
hongXiangConveyorDeviceDriver.writing(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "起点设备:" + start_device_code + "未打开烘箱门,导致now_steps_type不等于: 2;now_steps_type:" + now_steps_type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.setNow_steps_type(2);
|
this.setNow_steps_type(2);
|
||||||
this.setRequireSucess(true);
|
this.setRequireSucess(true);
|
||||||
@@ -800,11 +834,11 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
steps_type = "更新指令状态";
|
steps_type = "更新指令状态";
|
||||||
} else if (now_steps_type == 2) {
|
} else if (now_steps_type == 2) {
|
||||||
steps_type = "下发电气信号";
|
steps_type = "下发电气信号";
|
||||||
}else if(now_steps_type == 3){
|
} else if (now_steps_type == 3) {
|
||||||
steps_type = "允许取货";
|
steps_type = "允许取货";
|
||||||
}else if (now_steps_type ==4 ){
|
} else if (now_steps_type == 4) {
|
||||||
steps_type += "允许放货";
|
steps_type += "允许放货";
|
||||||
}else if (now_steps_type == 5){
|
} else if (now_steps_type == 5) {
|
||||||
steps_type += "放货完成";
|
steps_type += "放货完成";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ public class PluggingUnpluggingMachineDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
case 3:
|
case 3:
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if ((task1 > 0) && !requireSucess) {
|
if (!requireSucess) {
|
||||||
applyBushing();
|
applyBushing();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -274,14 +274,14 @@ public class PluggingUnpluggingMachineDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
private synchronized void applyBushing() {
|
private synchronized void applyBushing() {
|
||||||
ApplyManipulatorActionRequest applyManipulatorActionRequest = new ApplyManipulatorActionRequest();
|
ApplyManipulatorActionRequest applyManipulatorActionRequest = new ApplyManipulatorActionRequest();
|
||||||
ApplyManipulatorActionResponse applyManipulatorActionResponse;
|
ApplyManipulatorActionResponse applyManipulatorActionResponse;
|
||||||
Instruction inst1 = instructionService.findByCode(String.valueOf(task1));
|
/*Instruction inst1 = instructionService.findByCode(String.valueOf(task1));
|
||||||
String task_code1 = inst1.getTask_code();
|
String task_code1 = inst1.getTask_code();
|
||||||
if (Long.parseLong(task_code1) < 1) {
|
if (Long.parseLong(task_code1) < 1) {
|
||||||
message = "任务ACS创建,不向LMS申请套轴";
|
message = "任务ACS创建,不向LMS申请套轴";
|
||||||
return;
|
return;
|
||||||
}
|
}*/
|
||||||
applyManipulatorActionRequest.setDevice_code(device_code);
|
applyManipulatorActionRequest.setDevice_code(device_code);
|
||||||
applyManipulatorActionRequest.setTask_code1(task_code1);
|
//applyManipulatorActionRequest.setTask_code1(task_code1);
|
||||||
applyManipulatorActionRequest.setType("6");
|
applyManipulatorActionRequest.setType("6");
|
||||||
applyManipulatorActionResponse = acsToWmsService.applyManipulatorActionRequest(applyManipulatorActionRequest);
|
applyManipulatorActionResponse = acsToWmsService.applyManipulatorActionRequest(applyManipulatorActionRequest);
|
||||||
if (ObjectUtils.isNotEmpty(applyManipulatorActionResponse) && ("1".equals(applyManipulatorActionResponse.getIs_bushing()))) {
|
if (ObjectUtils.isNotEmpty(applyManipulatorActionResponse) && ("1".equals(applyManipulatorActionResponse.getIs_bushing()))) {
|
||||||
|
|||||||
@@ -476,7 +476,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
message = "task变化请求LMS失败: " + response.getMessage();
|
message = "task变化请求LMS失败: " + response.getMessage();
|
||||||
Thread.sleep(5000);
|
Thread.sleep(15000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -470,6 +470,9 @@ export default {
|
|||||||
} else if (val === 'error') {
|
} else if (val === 'error') {
|
||||||
const obj = { name: '报警', value: data[val] }
|
const obj = { name: '报警', value: data[val] }
|
||||||
this.arr.push(obj)
|
this.arr.push(obj)
|
||||||
|
} else if (val === 'error1') {
|
||||||
|
const obj = { name: '报警2', value: data[val] }
|
||||||
|
this.arr.push(obj)
|
||||||
} else if (val === 'ip') {
|
} else if (val === 'ip') {
|
||||||
const obj = { name: 'IP地址', value: data[val] }
|
const obj = { name: 'IP地址', value: data[val] }
|
||||||
this.arr.push(obj)
|
this.arr.push(obj)
|
||||||
|
|||||||
@@ -1,150 +0,0 @@
|
|||||||
//package org.nl.acs.device_driver.conveyor.oven_manipulator;
|
|
||||||
//
|
|
||||||
//import cn.hutool.core.util.StrUtil;
|
|
||||||
//import lombok.Data;
|
|
||||||
//import lombok.extern.slf4j.Slf4j;
|
|
||||||
//import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
|
||||||
//
|
|
||||||
//import java.util.ArrayList;
|
|
||||||
//import java.util.List;
|
|
||||||
//
|
|
||||||
//@Slf4j
|
|
||||||
//@Data
|
|
||||||
//public class ItemProtocol {
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 心跳
|
|
||||||
// */
|
|
||||||
// public static String item_heartbeat = "heartbeat";
|
|
||||||
// /**
|
|
||||||
// * 工作模式
|
|
||||||
// */
|
|
||||||
// public static String item_mode = "mode";
|
|
||||||
// /**
|
|
||||||
// * 光电信号
|
|
||||||
// */
|
|
||||||
// public static String item_move = "move";
|
|
||||||
// /**
|
|
||||||
// * 动作信号
|
|
||||||
// */
|
|
||||||
// public static String item_action = "action";
|
|
||||||
// /**
|
|
||||||
// * 行走列
|
|
||||||
// */
|
|
||||||
// public static String item_walk_y = "walk_y";
|
|
||||||
// /**
|
|
||||||
// * 报警
|
|
||||||
// */
|
|
||||||
// public static String item_error = "error";
|
|
||||||
// /**
|
|
||||||
// * 任务号
|
|
||||||
// */
|
|
||||||
// public static String item_task = "task";
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 行走列
|
|
||||||
// */
|
|
||||||
// public static String item_to_command = "to_command";
|
|
||||||
// /**
|
|
||||||
// * 下发起始站
|
|
||||||
// */
|
|
||||||
// public static String item_to_onset = "to_onset";
|
|
||||||
// /**
|
|
||||||
// * 下发目标站
|
|
||||||
// */
|
|
||||||
// public static String item_to_target = "to_target";
|
|
||||||
// /**
|
|
||||||
// * 下发任务号
|
|
||||||
// */
|
|
||||||
// public static String item_to_task = "to_task";
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// private OvenGantryManipulatorDeviceDriver driver;
|
|
||||||
//
|
|
||||||
// public ItemProtocol(OvenGantryManipulatorDeviceDriver driver) {
|
|
||||||
// this.driver = driver;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int getHeartbeat() {
|
|
||||||
// return this.getOpcIntegerValue(item_heartbeat);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int getMode() {
|
|
||||||
// return this.getOpcIntegerValue(item_mode);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int getMove() {
|
|
||||||
// return this.getOpcIntegerValue(item_move);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int getAction() {
|
|
||||||
// return this.getOpcIntegerValue(item_action);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int getWalk_y() {
|
|
||||||
// return this.getOpcIntegerValue(item_walk_y);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int getError() {
|
|
||||||
// return this.getOpcIntegerValue(item_error);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public int getTask() {
|
|
||||||
// return this.getOpcIntegerValue(item_task);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Boolean isonline;
|
|
||||||
//
|
|
||||||
// public int getOpcIntegerValue(String protocol) {
|
|
||||||
// Integer value = this.driver.getIntegeregerValue(protocol);
|
|
||||||
// if (value == null) {
|
|
||||||
// // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!");
|
|
||||||
// setIsonline(false);
|
|
||||||
// } else {
|
|
||||||
// setIsonline(true);
|
|
||||||
// return value;
|
|
||||||
// }
|
|
||||||
// return 0;
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getOpcStringValue(String protocol) {
|
|
||||||
// String value = this.driver.getStringValue(protocol);
|
|
||||||
// if (StrUtil.isEmpty(value)) {
|
|
||||||
//
|
|
||||||
// } else {
|
|
||||||
// return value;
|
|
||||||
// }
|
|
||||||
// return "0";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public static List<ItemDto> getReadableItemDtos() {
|
|
||||||
// ArrayList list = new ArrayList();
|
|
||||||
// list.add(new ItemDto(item_heartbeat, "心跳", "DB1.B0"));
|
|
||||||
// list.add(new ItemDto(item_mode, "工作模式", "DB1.B1"));
|
|
||||||
// list.add(new ItemDto(item_move, "光电信号", "DB1.B2"));
|
|
||||||
// list.add(new ItemDto(item_action, "动作信号", "DB1.B3"));
|
|
||||||
// list.add(new ItemDto(item_walk_y, "行走列", "DB1.B4"));
|
|
||||||
// list.add(new ItemDto(item_error, "报警信号", "DB1.B5"));
|
|
||||||
// list.add(new ItemDto(item_task, "任务号", "DB1.D6"));
|
|
||||||
// return list;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public static List<ItemDto> getWriteableItemDtos() {
|
|
||||||
// ArrayList list = new ArrayList();
|
|
||||||
// list.add(new ItemDto(item_to_command, "下发命令", "DB2.W0"));
|
|
||||||
// list.add(new ItemDto(item_to_onset, "下发起始站", "DB2.W2"));
|
|
||||||
// list.add(new ItemDto(item_to_target, "下发目标站", "DB2.W4"));
|
|
||||||
// list.add(new ItemDto(item_to_task, "下发任务号", "DB2.D6"));
|
|
||||||
// return list;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public String toString() {
|
|
||||||
// return "";
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
//package org.nl.acs.device_driver.conveyor.oven_manipulator;
|
|
||||||
//
|
|
||||||
//import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
|
||||||
//import org.nl.acs.device.domain.Device;
|
|
||||||
//import org.nl.acs.device_driver.DeviceDriver;
|
|
||||||
//import org.nl.acs.device_driver.defination.OpcDeviceDriverDefination;
|
|
||||||
//import org.nl.acs.device.enums.DeviceType;
|
|
||||||
//import org.springframework.stereotype.Service;
|
|
||||||
//
|
|
||||||
//import java.util.LinkedList;
|
|
||||||
//import java.util.List;
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * 烘箱-行架机械手
|
|
||||||
// */
|
|
||||||
//@Service
|
|
||||||
//public class OvenGantryManipulatorDefination implements OpcDeviceDriverDefination {
|
|
||||||
// @Override
|
|
||||||
// public String getDriverCode() {
|
|
||||||
// return "oven_manipulator";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public String getDriverName() {
|
|
||||||
// return "烘箱-行架机械手";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public String getDriverDescription() {
|
|
||||||
// return "烘箱-行架机械手";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public DeviceDriver getDriverInstance(Device device) {
|
|
||||||
// return (new OvenGantryManipulatorDeviceDriver()).setDevice(device).setDriverDefination(this);
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public Class<? extends DeviceDriver> getDeviceDriverType() {
|
|
||||||
// return OvenGantryManipulatorDeviceDriver.class;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public List<DeviceType> getFitDeviceTypes() {
|
|
||||||
// List<DeviceType> types = new LinkedList();
|
|
||||||
// types.add(DeviceType.station);
|
|
||||||
// return types;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public List<ItemDto> getReadableItemDtos() {
|
|
||||||
// return ItemProtocol.getReadableItemDtos();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// @Override
|
|
||||||
// public List<ItemDto> getWriteableItemDtos() {
|
|
||||||
// return ItemProtocol.getWriteableItemDtos();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,56 +0,0 @@
|
|||||||
package org.nl.acs.device_driver.conveyor.oven_manipulator;
|
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
public class Test {
|
|
||||||
public static String beautifyTime(double second) {
|
|
||||||
if (second <= 0) {
|
|
||||||
return "0";
|
|
||||||
}
|
|
||||||
final String[] units = new String[]{"秒", "分钟", "小时"};
|
|
||||||
int digitGroups = (int) (Math.log10(second) / Math.log10(60));
|
|
||||||
String value = "0";
|
|
||||||
if (digitGroups < 3) {
|
|
||||||
value = new DecimalFormat("#,##0.#").format(second / Math.pow(60, digitGroups)) + "" + units[digitGroups];
|
|
||||||
} else if (digitGroups >= 3) {
|
|
||||||
//如果超过了小时的表达范围则,则转换为天,小时,分,秒格式
|
|
||||||
|
|
||||||
value = secondToDate(second);
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String secondToDate(double second) {
|
|
||||||
Long time = new Long(new Double(second).longValue());
|
|
||||||
String strTime = null;
|
|
||||||
Long days = time / (60 * 60 * 24);
|
|
||||||
Long hours = (time % (60 * 60 * 24)) / (60 * 60);
|
|
||||||
Long minutes = (time % (60 * 60)) / 60;
|
|
||||||
Long seconds = time % 60;
|
|
||||||
if (days > 0) {
|
|
||||||
strTime = days + "天" + hours + "小时" + minutes + "分钟";
|
|
||||||
} else if (hours > 0) {
|
|
||||||
strTime = hours + "小时" + minutes + "分钟";
|
|
||||||
} else if (minutes > 0) {
|
|
||||||
strTime = minutes + "分钟" + seconds + "秒";
|
|
||||||
} else {
|
|
||||||
strTime = second + "秒";
|
|
||||||
}
|
|
||||||
return strTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
Long time = new Long(new Double(7500).longValue());
|
|
||||||
Long hours = (time % (60 * 60 * 24)) / (60 * 60);
|
|
||||||
Long minutes = (time % (60 * 60)) / 60;
|
|
||||||
Long seconds = time % 60;
|
|
||||||
System.out.println(hours);
|
|
||||||
System.out.println(minutes);
|
|
||||||
System.out.println(seconds);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -190,7 +190,7 @@ public interface OpcDeviceDriver extends DeviceDriver {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
default String getStringValue(String protocol) {
|
default String getStringValue(String protocol) {
|
||||||
return this.getOpcValueAccessor().getValue(this.getItem(protocol)).toString();
|
return (String) this.getOpcValueAccessor().getValue(this.getItem(protocol));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ public class ItemProtocol {
|
|||||||
} else {
|
} else {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
return "0";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<ItemDto> getReadableItemDtos() {
|
public static List<ItemDto> getReadableItemDtos() {
|
||||||
|
|||||||
@@ -207,10 +207,8 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
|
|||||||
|
|
||||||
if (!UnifiedDataAppService.isEquals(value, his)) {
|
if (!UnifiedDataAppService.isEquals(value, his)) {
|
||||||
OpcItemDto itemDto = this.getItem(itemId);
|
OpcItemDto itemDto = this.getItem(itemId);
|
||||||
if (true) {
|
|
||||||
this.logItemChanged(itemId, accessor_value, value, itemDto);
|
|
||||||
}
|
|
||||||
if (!ObjectUtil.isEmpty(value)) {
|
if (!ObjectUtil.isEmpty(value)) {
|
||||||
|
this.logItemChanged(itemId, accessor_value, value, itemDto);
|
||||||
accessor_value.setValue(itemId, value);
|
accessor_value.setValue(itemId, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -436,7 +434,6 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
|
|||||||
String.valueOf(itemDto.getHis_item_value()), String.valueOf(itemDto.getItem_value()));
|
String.valueOf(itemDto.getHis_item_value()), String.valueOf(itemDto.getItem_value()));
|
||||||
luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
|
luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
|
||||||
log.info("{}", JSON.toJSONString(luceneLogDto));
|
log.info("{}", JSON.toJSONString(luceneLogDto));
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(his instanceof int[]){
|
if(his instanceof int[]){
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
v-model="query.createTime"
|
v-model="query.createTime"
|
||||||
type="datetimerange"
|
type="datetimerange"
|
||||||
:picker-options="pickerOptions"
|
:picker-options="pickerOptions"
|
||||||
range-separator="至"
|
:range-separator="$t('monitor.lucence.until')"
|
||||||
start-placeholder="开始日期"
|
:start-placeholder="$t('auto.common.startDate')"
|
||||||
end-placeholder="结束日期"
|
:end-placeholder="$t('auto.common.endDate')"
|
||||||
align="right"
|
align="right"
|
||||||
/>
|
/>
|
||||||
<rrOperation />
|
<rrOperation />
|
||||||
|
|||||||
@@ -13,6 +13,5 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
@Data
|
@Data
|
||||||
public class ESConfig {
|
public class ESConfig {
|
||||||
|
|
||||||
@Value(("${es.index}"))
|
|
||||||
private String index;
|
private String index;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1315,11 +1315,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
String point_type = task_jo.getString("task_type");
|
String point_type = task_jo.getString("task_type");
|
||||||
//取货完成
|
//取货完成
|
||||||
if ("1".equals(type)) {
|
if ("1".equals(type)) {
|
||||||
if ("010602".equals(point_type) || "010606".equals(point_type)) {
|
if ("010602".equals(point_type)) {
|
||||||
JSONObject point1_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code1") + "'").uniqueResult(0);
|
JSONObject point1_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code1") + "'").uniqueResult(0);
|
||||||
point1_jo.put("have_qzz", "0");
|
point1_jo.put("have_qzz", "0");
|
||||||
ivt_shaftivt.update(point1_jo);
|
ivt_shaftivt.update(point1_jo);
|
||||||
} else if ("010607".equals(point_type) || "010603".equals(point_type)) {
|
} else if ("010607".equals(point_type) || "010603".equals(point_type) || "010606".equals(point_type)) {
|
||||||
JSONObject point1_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code1") + "'").uniqueResult(0);
|
JSONObject point1_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code1") + "'").uniqueResult(0);
|
||||||
point1_jo.put("qzz_size", "");
|
point1_jo.put("qzz_size", "");
|
||||||
point1_jo.put("qzz_generation", "");
|
point1_jo.put("qzz_generation", "");
|
||||||
@@ -1388,6 +1388,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
paperTrussTask.immediateNotifyAcs(null);
|
paperTrussTask.immediateNotifyAcs(null);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
//判断当前套管工位上是否存在可用的纸管或任务
|
||||||
|
JSONObject tggw_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("point_type = '4' AND product_area = '" + product_area + "'").uniqueResult(0);
|
||||||
|
JSONObject tggw_task = WQLObject.getWQLObject("sch_base_task").query("point_code1 = '"+tggw_jo.getString("point_code")+"' AND task_type = '010607' AND is_delete = '0' ADN task_status < '07'").uniqueResult(0);
|
||||||
//判断在等待任务数量范围内是否存在符合的纸管,如果存在则等待,不存在则创建空载具入库任务
|
//判断在等待任务数量范围内是否存在符合的纸管,如果存在则等待,不存在则创建空载具入库任务
|
||||||
boolean need_wait = this.judgeWait(product_area, vehicle_jo);
|
boolean need_wait = this.judgeWait(product_area, vehicle_jo);
|
||||||
if (!need_wait) {
|
if (!need_wait) {
|
||||||
|
|||||||
@@ -57,6 +57,16 @@ public class PackagePointIvtDto implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String tube_name1;
|
private String tube_name1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 子卷号1编码
|
||||||
|
*/
|
||||||
|
private String container_name1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 子卷号2编码
|
||||||
|
*/
|
||||||
|
private String container_name2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 顺序号
|
* 顺序号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package org.nl.wms.sch.manage;
|
package org.nl.wms.sch.manage;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.wql.WQL;
|
import org.nl.modules.wql.WQL;
|
||||||
@@ -17,9 +19,12 @@ import org.nl.wms.sch.tasks.CutConveyorTask;
|
|||||||
import org.nl.wms.sch.tasks.PaperTrussTask;
|
import org.nl.wms.sch.tasks.PaperTrussTask;
|
||||||
import org.nl.wms.sch.tasks.PaperTubeTask;
|
import org.nl.wms.sch.tasks.PaperTubeTask;
|
||||||
import org.nl.wms.sch.tasks.URLEnum;
|
import org.nl.wms.sch.tasks.URLEnum;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@@ -34,20 +39,35 @@ public class AutoCallEmptyVehicle {
|
|||||||
|
|
||||||
private final WmsToAcsService wmsToAcsService;
|
private final WmsToAcsService wmsToAcsService;
|
||||||
|
|
||||||
|
private final RedissonClient redissonClient;
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
for (URLEnum url : URLEnum.values()) {
|
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||||
String product_area = url.getProduct_area();
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
JSONObject nbj_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '9'").uniqueResult(0);
|
try {
|
||||||
if (ObjectUtil.isEmpty(nbj_jo)) {
|
if (tryLock){
|
||||||
continue;
|
// log.info("AutoCallEmptyVehicle"+ DateUtil.now()+"执行!!!!");
|
||||||
|
for (URLEnum url : URLEnum.values()) {
|
||||||
|
String product_area = url.getProduct_area();
|
||||||
|
JSONObject nbj_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '9'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(nbj_jo)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (nbj_jo.getString("is_used").equals("1")) {
|
||||||
|
//上半部分
|
||||||
|
this.callEmptyVehicle(product_area, "0");
|
||||||
|
//下半部分
|
||||||
|
this.callEmptyVehicle(product_area, "1");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (nbj_jo.getString("is_used").equals("1")) {
|
}finally {
|
||||||
//上半部分
|
if (tryLock) {
|
||||||
this.callEmptyVehicle(product_area, "0");
|
lock.unlock();
|
||||||
//下半部分
|
|
||||||
this.callEmptyVehicle(product_area, "1");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void callEmptyVehicle(String product_area, String point_location) {
|
void callEmptyVehicle(String product_area, String point_location) {
|
||||||
|
|||||||
@@ -1,32 +1,55 @@
|
|||||||
package org.nl.wms.sch.manage;
|
package org.nl.wms.sch.manage;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpRequest;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AutoQueryBillInfo {
|
public class AutoQueryBillInfo {
|
||||||
|
|
||||||
|
private final RedissonClient redissonClient;
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
//查询已经处于分配中、分配完但还未回传给MES的销售出库单
|
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_iostorinv");
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
String nofity_day = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("NOFITY_DAY").getValue();
|
try {
|
||||||
JSONArray send_rows = new JSONArray();
|
if (tryLock) {
|
||||||
if (Integer.parseInt(nofity_day) == 0) {
|
System.out.println("AutoQueryBillInfo" + DateUtil.now() + "执行!!!!");
|
||||||
send_rows = wo.query("(bill_type = '1001' OR bill_type = '1004') AND bill_status = '99' AND confirm_time > '2023-09-01' AND is_delete = '0' AND ( IFNULL(trans_code,'') = '' OR IFNULL( deliveryaddress, '' ) = '' OR IFNULL( deliveryunit, '' ) = '' OR (IFNULL(trans_code,'') <> '00000000' AND IFNULL(estimated_freight,0) = 0) OR IFNULL(estimated_freight,'') = '' OR IFNULL(order_number,'') = '' OR IFNULL(car_type,'') = '')").getResultJSONArray(0);
|
//查询已经处于分配中、分配完但还未回传给MES的销售出库单
|
||||||
} else {
|
WQLObject wo = WQLObject.getWQLObject("st_ivt_iostorinv");
|
||||||
send_rows = wo.query("(bill_type = '1001' OR bill_type = '1004') AND bill_status = '99' AND confirm_time > '2023-09-01' AND is_delete = '0' AND ( IFNULL(trans_code,'') = '' OR IFNULL( deliveryaddress, '' ) = '' OR IFNULL( deliveryunit, '' ) = '' OR (IFNULL(trans_code,'') <> '00000000' AND IFNULL(estimated_freight,0) = 0) OR IFNULL(estimated_freight,'') = '' OR IFNULL(order_number,'') = '' OR IFNULL(car_type,'') = '') AND TIMESTAMPDIFF(DAY,confirm_time,NOW()) >= " + nofity_day).getResultJSONArray(0);
|
String nofity_day = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("NOFITY_DAY").getValue();
|
||||||
|
JSONArray send_rows = new JSONArray();
|
||||||
|
if (Integer.parseInt(nofity_day) == 0) {
|
||||||
|
send_rows = wo.query("(bill_type = '1001' OR bill_type = '1004') AND bill_status = '99' AND confirm_time > '2023-09-01' AND is_delete = '0' AND ( IFNULL(trans_code,'') = '' OR IFNULL( deliveryaddress, '' ) = '' OR IFNULL( deliveryunit, '' ) = '' OR (IFNULL(trans_code,'') <> '00000000' AND IFNULL(estimated_freight,0) = 0) OR IFNULL(estimated_freight,'') = '' OR IFNULL(order_number,'') = '' OR IFNULL(car_type,'') = '')").getResultJSONArray(0);
|
||||||
|
} else {
|
||||||
|
send_rows = wo.query("(bill_type = '1001' OR bill_type = '1004') AND bill_status = '99' AND confirm_time > '2023-09-01' AND is_delete = '0' AND ( IFNULL(trans_code,'') = '' OR IFNULL( deliveryaddress, '' ) = '' OR IFNULL( deliveryunit, '' ) = '' OR (IFNULL(trans_code,'') <> '00000000' AND IFNULL(estimated_freight,0) = 0) OR IFNULL(estimated_freight,'') = '' OR IFNULL(order_number,'') = '' OR IFNULL(car_type,'') = '') AND TIMESTAMPDIFF(DAY,confirm_time,NOW()) >= " + nofity_day).getResultJSONArray(0);
|
||||||
|
}
|
||||||
|
this.sendInfo(send_rows);
|
||||||
|
} else {
|
||||||
|
System.out.println("AutoQueryBillInfo" + DateUtil.now() + "被锁住!!!!");
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (tryLock) {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.sendInfo(send_rows);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendInfo(JSONArray send_rows) {
|
void sendInfo(JSONArray send_rows) {
|
||||||
|
|||||||
@@ -6,42 +6,60 @@ import cn.hutool.http.HttpRequest;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AutoQueryConRem {
|
public class AutoQueryConRem {
|
||||||
|
private final RedissonClient redissonClient;
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
//查询立库贴标、捆扎机剩余材料是否低于下限
|
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||||
JSONArray rows = new JSONArray();
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
//捆扎米数
|
try {
|
||||||
String lash_num_up = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("lash_num_up").getValue();
|
if (tryLock){
|
||||||
//捆扎下限
|
//查询立库贴标、捆扎机剩余材料是否低于下限
|
||||||
String lash_num_down = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("lash_num_down").getValue();
|
JSONArray rows = new JSONArray();
|
||||||
if (Double.parseDouble(lash_num_down) >= Double.parseDouble(lash_num_up)) {
|
//捆扎米数
|
||||||
JSONObject jo = new JSONObject();
|
String lash_num_up = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("lash_num_up").getValue();
|
||||||
jo.put("device_code", "NKZ01");
|
//捆扎下限
|
||||||
jo.put("device_name", "一楼入库北区捆扎位1");
|
String lash_num_down = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("lash_num_down").getValue();
|
||||||
jo.put("param_name", "lash_num_up");
|
if (Double.parseDouble(lash_num_down) >= Double.parseDouble(lash_num_up)) {
|
||||||
rows.add(jo);
|
JSONObject jo = new JSONObject();
|
||||||
}
|
jo.put("device_code", "NKZ01");
|
||||||
//标签纸数量
|
jo.put("device_name", "一楼入库北区捆扎位1");
|
||||||
String label_num_up = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("label_num_up").getValue();
|
jo.put("param_name", "lash_num_up");
|
||||||
//标签纸下限
|
rows.add(jo);
|
||||||
String label_num_down = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("lash_num_down").getValue();
|
}
|
||||||
if (Double.parseDouble(label_num_down) >= Double.parseDouble(label_num_up)) {
|
//标签纸数量
|
||||||
JSONObject jo = new JSONObject();
|
String label_num_up = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("label_num_up").getValue();
|
||||||
jo.put("device_code", "NTB01");
|
//标签纸下限
|
||||||
jo.put("device_name", "一楼入库北区贴标位1");
|
String label_num_down = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("lash_num_down").getValue();
|
||||||
jo.put("param_name", "label_num_up");
|
if (Double.parseDouble(label_num_down) >= Double.parseDouble(label_num_up)) {
|
||||||
rows.add(jo);
|
JSONObject jo = new JSONObject();
|
||||||
}
|
jo.put("device_code", "NTB01");
|
||||||
this.sendInfo(rows);
|
jo.put("device_name", "一楼入库北区贴标位1");
|
||||||
|
jo.put("param_name", "label_num_up");
|
||||||
|
rows.add(jo);
|
||||||
|
}
|
||||||
|
this.sendInfo(rows);
|
||||||
|
}
|
||||||
|
}finally {
|
||||||
|
if (tryLock) {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendInfo(JSONArray send_rows) {
|
void sendInfo(JSONArray send_rows) {
|
||||||
@@ -65,7 +83,7 @@ public class AutoQueryConRem {
|
|||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String Message = row.getString("device_name") + "消耗材料已低于下限,请及时更换。并将系统对应的:" + row.getString("param_name" + "进行维护!");
|
String Message = row.getString("device_name") + "消耗材料已低于下限,请及时更换。并将系统对应的:" + row.getString("param_name") + "进行维护!";
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
jo.put("SendType", "L");
|
jo.put("SendType", "L");
|
||||||
jo.put("Title", "捆扎、贴标预警信息");
|
jo.put("Title", "捆扎、贴标预警信息");
|
||||||
|
|||||||
@@ -5,15 +5,19 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.common.utils.RedisUtils;
|
import org.nl.modules.common.utils.RedisUtils;
|
||||||
import org.nl.modules.wql.WQL;
|
import org.nl.modules.wql.WQL;
|
||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
import org.nl.wms.sch.tasks.URLEnum;
|
import org.nl.wms.sch.tasks.URLEnum;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@@ -23,45 +27,59 @@ public class AutoQueryDeviceStatus {
|
|||||||
private RedisUtils redisUtils;
|
private RedisUtils redisUtils;
|
||||||
private final WmsToAcsService wmsToAcsService;
|
private final WmsToAcsService wmsToAcsService;
|
||||||
|
|
||||||
public void run() {
|
private final RedissonClient redissonClient;
|
||||||
for (URLEnum url : URLEnum.values()) {
|
|
||||||
try {
|
|
||||||
String product_area = url.getProduct_area();
|
|
||||||
//通过ACS接口获取温度
|
|
||||||
JSONArray device_rows = WQL.getWO("PDA_02").addParam("flag", "15").addParam("product_area", product_area).process().getResultJSONArray(0);
|
|
||||||
if (device_rows.size() == 0) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
JSONObject jo = wmsToAcsService.getHotPointStatus(device_rows);
|
|
||||||
JSONArray de_rows = jo.getJSONArray("data");
|
|
||||||
for (int i = 0; i < de_rows.size(); i++) {
|
|
||||||
JSONObject row = de_rows.getJSONObject(i);
|
|
||||||
String device_code = row.getString("device_code");
|
|
||||||
HashMap<String, String> map = new HashMap<>();
|
|
||||||
map.put("temperature", row.getString("now_temperature"));
|
|
||||||
//获取倒计时,分,秒
|
|
||||||
String countdown_house = row.getString("countdown_house");
|
|
||||||
String countdown_min = row.getString("countdown_min");
|
|
||||||
String countdown_sec = row.getString("countdown_sec");
|
|
||||||
|
|
||||||
if (StrUtil.isEmpty(countdown_house)) {
|
@SneakyThrows
|
||||||
countdown_house = "0";
|
public void run() {
|
||||||
|
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||||
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
|
try {
|
||||||
|
if (tryLock){
|
||||||
|
for (URLEnum url : URLEnum.values()) {
|
||||||
|
try {
|
||||||
|
String product_area = url.getProduct_area();
|
||||||
|
//通过ACS接口获取温度
|
||||||
|
JSONArray device_rows = WQL.getWO("PDA_02").addParam("flag", "15").addParam("product_area", product_area).process().getResultJSONArray(0);
|
||||||
|
if (device_rows.size() == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
JSONObject jo = wmsToAcsService.getHotPointStatus(device_rows);
|
||||||
|
JSONArray de_rows = jo.getJSONArray("data");
|
||||||
|
for (int i = 0; i < de_rows.size(); i++) {
|
||||||
|
JSONObject row = de_rows.getJSONObject(i);
|
||||||
|
String device_code = row.getString("device_code");
|
||||||
|
HashMap<String, String> map = new HashMap<>();
|
||||||
|
map.put("temperature", row.getString("now_temperature"));
|
||||||
|
//获取倒计时,分,秒
|
||||||
|
String countdown_house = row.getString("countdown_house");
|
||||||
|
String countdown_min = row.getString("countdown_min");
|
||||||
|
String countdown_sec = row.getString("countdown_sec");
|
||||||
|
|
||||||
|
if (StrUtil.isEmpty(countdown_house)) {
|
||||||
|
countdown_house = "0";
|
||||||
|
}
|
||||||
|
if (StrUtil.isEmpty(countdown_min)) {
|
||||||
|
countdown_min = "0";
|
||||||
|
}
|
||||||
|
if (StrUtil.isEmpty(countdown_sec)) {
|
||||||
|
countdown_sec = "0";
|
||||||
|
}
|
||||||
|
String last_time = countdown_house + "小时" + countdown_min + "分钟";
|
||||||
|
map.put("last_time", last_time);
|
||||||
|
redisUtils.hset(device_code, "temperature", row.getString("temperature"));
|
||||||
|
redisUtils.hset(device_code, "last_time", last_time);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info(e.getMessage());
|
||||||
}
|
}
|
||||||
if (StrUtil.isEmpty(countdown_min)) {
|
|
||||||
countdown_min = "0";
|
}
|
||||||
}
|
}
|
||||||
if (StrUtil.isEmpty(countdown_sec)) {
|
}finally {
|
||||||
countdown_sec = "0";
|
if (tryLock) {
|
||||||
}
|
lock.unlock();
|
||||||
String last_time = countdown_house + "小时" + countdown_min + "分钟";
|
|
||||||
map.put("last_time", last_time);
|
|
||||||
redisUtils.hset(device_code, "temperature", row.getString("temperature"));
|
|
||||||
redisUtils.hset(device_code, "last_time", last_time);
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
log.info(e.getMessage());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.wql.WQL;
|
import org.nl.modules.wql.WQL;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
@@ -15,9 +16,12 @@ import org.nl.modules.wql.util.SpringContextHolder;
|
|||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
import org.nl.wms.ext.mes.service.LmsToMesService;
|
import org.nl.wms.ext.mes.service.LmsToMesService;
|
||||||
import org.nl.wms.sch.AutoQueryEnum;
|
import org.nl.wms.sch.AutoQueryEnum;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -27,33 +31,45 @@ public class AutoQueryProudDayData {
|
|||||||
|
|
||||||
private final LmsToMesService lmsToMesService;
|
private final LmsToMesService lmsToMesService;
|
||||||
|
|
||||||
|
private final RedissonClient redissonClient;
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
JSONObject param = new JSONObject();
|
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||||
|
boolean tryLock = lock.tryLock(0,600, TimeUnit.SECONDS);
|
||||||
|
try {
|
||||||
|
if (tryLock){
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
|
||||||
JSONArray UserList = new JSONArray();
|
JSONArray UserList = new JSONArray();
|
||||||
|
|
||||||
String userList = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("USER_LIST_FEISHU").getValue();
|
String userList = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("USER_LIST_FEISHU").getValue();
|
||||||
|
|
||||||
String[] split = userList.split(",");
|
String[] split = userList.split(",");
|
||||||
if (split.length > 0) {
|
if (split.length > 0) {
|
||||||
for (String s : split) {
|
for (String s : split) {
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
jo.put("User", s);
|
jo.put("User", s);
|
||||||
UserList.add(jo);
|
UserList.add(jo);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("User", "");
|
||||||
|
UserList.add(jo);
|
||||||
|
}
|
||||||
|
param.put("UserList", UserList);
|
||||||
|
|
||||||
|
param.put("Code", "ctp_AAyBZtDQiYwG");
|
||||||
|
param.put("card", data());
|
||||||
|
|
||||||
|
// 调用接口
|
||||||
|
lmsToMesService.proudDayData(param);
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
if (tryLock) {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
JSONObject jo = new JSONObject();
|
|
||||||
jo.put("User", "");
|
|
||||||
UserList.add(jo);
|
|
||||||
}
|
|
||||||
param.put("UserList", UserList);
|
|
||||||
|
|
||||||
param.put("Code", "ctp_AAyBZtDQiYwG");
|
|
||||||
param.put("card", data());
|
|
||||||
|
|
||||||
// 调用接口
|
|
||||||
lmsToMesService.proudDayData(param);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public JSONObject data() {
|
public JSONObject data() {
|
||||||
|
|||||||
@@ -7,23 +7,42 @@ import cn.hutool.http.HttpRequest;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AutoQueryUpload {
|
public class AutoQueryUpload {
|
||||||
|
|
||||||
|
private final RedissonClient redissonClient;
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
//查询已经处于分配中、分配完但还未回传给MES的销售出库单
|
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_iostorinv");
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
JSONArray send_rows = wo.query("bill_type = '1001' AND bill_status IN ( '30', '40' ) AND stor_code = 'AC01' AND upload_mes = '0' AND is_delete = '0'").getResultJSONArray(0);
|
try {
|
||||||
this.sendInfo(send_rows);
|
if (tryLock){
|
||||||
|
//查询已经处于分配中、分配完但还未回传给MES的销售出库单
|
||||||
|
WQLObject wo = WQLObject.getWQLObject("st_ivt_iostorinv");
|
||||||
|
JSONArray send_rows = wo.query("bill_type = '1001' AND bill_status IN ( '30', '40' ) AND stor_code = 'AC01' AND upload_mes = '0' AND is_delete = '0'").getResultJSONArray(0);
|
||||||
|
this.sendInfo(send_rows);
|
||||||
|
}
|
||||||
|
}finally {
|
||||||
|
if (tryLock) {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendInfo(JSONArray send_rows) {
|
void sendInfo(JSONArray send_rows) {
|
||||||
|
|||||||
@@ -6,31 +6,46 @@ import cn.hutool.http.HttpRequest;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AutoSendFeiShu {
|
public class AutoSendFeiShu {
|
||||||
|
|
||||||
|
private final RedissonClient redissonClient;
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
|
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||||
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
|
try {
|
||||||
|
if (tryLock) {
|
||||||
|
WQLObject wo = WQLObject.getWQLObject("em_bi_devicestatus");
|
||||||
|
//查询故障了还未发送的
|
||||||
|
JSONArray send_rows = wo.query("error > '0' AND IFNULL(is_upload,'0') = '0' AND upload_flag = '1'").getResultJSONArray(0);
|
||||||
|
this.sendInfo(send_rows);
|
||||||
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("em_bi_devicestatus");
|
//查询已经发送了但是还是故障中的
|
||||||
//查询故障了还未发送的
|
String resend_time = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("RESEND_TIME").getValue();
|
||||||
JSONArray send_rows = wo.query("error > '0' AND IFNULL(is_upload,'0') = '0' AND upload_flag = '1'").getResultJSONArray(0);
|
JSONArray resend_rows = wo.query("error > '0' AND is_upload = '1' AND upload_flag = '1' AND TIMESTAMPDIFF(MINUTE,upload_time,NOW()) > " + resend_time).getResultJSONArray(0);
|
||||||
this.sendInfo(send_rows);
|
this.sendInfo(resend_rows);
|
||||||
|
}
|
||||||
//查询已经发送了但是还是故障中的
|
} finally {
|
||||||
String resend_time = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("RESEND_TIME").getValue();
|
if (tryLock) {
|
||||||
JSONArray resend_rows = wo.query("error > '0' AND is_upload = '1' AND upload_flag = '1' AND TIMESTAMPDIFF(MINUTE,upload_time,NOW()) > " + resend_time).getResultJSONArray(0);
|
lock.unlock();
|
||||||
this.sendInfo(resend_rows);
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendInfo(JSONArray device_rows) {
|
void sendInfo(JSONArray device_rows) {
|
||||||
|
|||||||
@@ -891,10 +891,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
row_map.put("material_code", material_code);
|
row_map.put("material_code", material_code);
|
||||||
row_map.put("sale_order_name", sale_order_name);
|
row_map.put("sale_order_name", sale_order_name);
|
||||||
row_map.put("sect_id", sect_id);
|
row_map.put("sect_id", sect_id);
|
||||||
row_map.put("flag", "11");
|
row_map.put("flag", "111");
|
||||||
|
|
||||||
// 获取系统参数入库到第几层 0-3层都可 1-1层 2-2层 3-3层
|
// 获取系统参数入库到第几层 0-3层都可 1-1层 2-2层 3-3层
|
||||||
String in_layer_num = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("in_layer_num").getValue();
|
String in_layer_num;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 判断木箱高度能入第几层:
|
* 判断木箱高度能入第几层:
|
||||||
@@ -923,7 +923,23 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
row_map.put("in_layer_num", in_layer_num);
|
row_map.put("in_layer_num", in_layer_num);
|
||||||
|
|
||||||
//查询到当前可用的巷道
|
//查询到当前可用的巷道
|
||||||
JSONArray rowArr = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(row_map).process().getResultJSONArray(0);
|
JSONArray rowArr2 = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(row_map).process().getResultJSONArray(0);
|
||||||
|
JSONArray rowArr = new JSONArray();
|
||||||
|
for (int i = 0; i < rowArr2.size(); i++) {
|
||||||
|
JSONObject jo = rowArr2.getJSONObject(i);
|
||||||
|
String block_num = jo.getString("block_num");
|
||||||
|
String row_num = jo.getString("row_num");
|
||||||
|
String placement_type = jo.getString("placement_type");
|
||||||
|
row_map.put("block_num", block_num);
|
||||||
|
row_map.put("row_num", row_num);
|
||||||
|
row_map.put("placement_type", placement_type);
|
||||||
|
row_map.put("flag", "112");
|
||||||
|
JSONObject row_jo = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(row_map).process().uniqueResult(0);
|
||||||
|
int num = row_jo.getIntValue("num");
|
||||||
|
if (num > 0) {
|
||||||
|
rowArr.add(jo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < rowArr.size(); i++) {
|
for (int i = 0; i < rowArr.size(); i++) {
|
||||||
JSONObject row_jo = rowArr.getJSONObject(i);
|
JSONObject row_jo = rowArr.getJSONObject(i);
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
输入.point_code TYPEAS s_string
|
输入.point_code TYPEAS s_string
|
||||||
输入.row_num TYPEAS s_string
|
输入.row_num TYPEAS s_string
|
||||||
输入.block_num TYPEAS s_string
|
输入.block_num TYPEAS s_string
|
||||||
|
输入.placement_type TYPEAS s_string
|
||||||
输入.sql_str TYPEAS f_string
|
输入.sql_str TYPEAS f_string
|
||||||
输入.in_stor_id TYPEAS f_string
|
输入.in_stor_id TYPEAS f_string
|
||||||
输入.in_layer_num TYPEAS f_string
|
输入.in_layer_num TYPEAS f_string
|
||||||
@@ -471,6 +472,70 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "111"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
count(sa.struct_code) AS num,
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num,
|
||||||
|
sa.placement_type
|
||||||
|
FROM
|
||||||
|
st_ivt_structivt ivt
|
||||||
|
INNER JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn
|
||||||
|
LEFT JOIN st_ivt_structattr sa ON sa.struct_code = ivt.struct_code
|
||||||
|
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt.material_id
|
||||||
|
WHERE
|
||||||
|
sa.sect_id = 输入.sect_id
|
||||||
|
OPTION 输入.material_code <> ""
|
||||||
|
mb.material_code = 输入.material_code
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.sale_order_name <> ""
|
||||||
|
sub.sale_order_name = 输入.sale_order_name
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
sa.block_num,sa.row_num,sa.placement_type
|
||||||
|
ORDER BY
|
||||||
|
sa.placement_type desc,num
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "112"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
count(sa.struct_code) AS num,
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num,
|
||||||
|
sa.placement_type
|
||||||
|
FROM
|
||||||
|
st_ivt_structattr sa
|
||||||
|
WHERE
|
||||||
|
IFNULL(sa.storagevehicle_code,'') = ''
|
||||||
|
AND
|
||||||
|
sa.lock_type = '1'
|
||||||
|
AND
|
||||||
|
sa.is_delete = '0'
|
||||||
|
AND
|
||||||
|
sa.is_used = '1'
|
||||||
|
OPTION 输入.in_layer_num <> ""
|
||||||
|
sa.layer_num in 输入.in_layer_num
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.col_num <> ""
|
||||||
|
sa.layer_num = 输入.col_num
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.block_num <> ""
|
||||||
|
sa.block_num = 输入.block_num
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.row_num <> ""
|
||||||
|
sa.row_num = 输入.row_num
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.placement_type <> ""
|
||||||
|
sa.placement_type = 输入.placement_type
|
||||||
|
ENDOPTION
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
IF 输入.flag = "12"
|
IF 输入.flag = "12"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
server:
|
server:
|
||||||
port: 8013
|
port: 8011
|
||||||
#配置数据源
|
#配置数据源
|
||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
druid:
|
druid:
|
||||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||||
url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lms_test2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:hl_tb_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:hl_tb_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
# username: ${DB_USER:root}
|
# username: ${DB_USER:root}
|
||||||
username: ${DB_USER:root}
|
username: ${DB_USER:root}
|
||||||
@@ -17,11 +17,11 @@ spring:
|
|||||||
# 最小连接数
|
# 最小连接数
|
||||||
min-idle: 15
|
min-idle: 15
|
||||||
# 最大连接数
|
# 最大连接数
|
||||||
max-active: 30
|
max-active: 220
|
||||||
# 超时时间(以秒数为单位)
|
# 超时时间(以秒数为单位)
|
||||||
remove-abandoned-timeout: 180
|
remove-abandoned-timeout: 180
|
||||||
# 获取连接超时时间
|
# 获取连接超时时间
|
||||||
max-wait: 3000
|
max-wait: 2000
|
||||||
# 连接有效性检测时间
|
# 连接有效性检测时间
|
||||||
time-between-eviction-runs-millis: 60000
|
time-between-eviction-runs-millis: 60000
|
||||||
# 连接在池中最小生存的时间
|
# 连接在池中最小生存的时间
|
||||||
@@ -45,20 +45,19 @@ spring:
|
|||||||
reset-enable: false
|
reset-enable: false
|
||||||
filters:
|
filters:
|
||||||
DruidFilter,stat
|
DruidFilter,stat
|
||||||
validation-query-timeout: 5000
|
|
||||||
# stat:
|
# stat:
|
||||||
# enabled: true
|
# enabled: true
|
||||||
# # 记录慢SQL
|
# # 记录慢SQL
|
||||||
# log-slow-sql: true
|
# log-slow-sql: true
|
||||||
# slow-sql-millis: 1000
|
# slow-sql-millis: 1000
|
||||||
# merge-sql: true
|
# merge-sql: true
|
||||||
# wall:
|
# wall:
|
||||||
# config:
|
# config:
|
||||||
# multi-statement-allow: true
|
# multi-statement-allow: true
|
||||||
redis:
|
redis:
|
||||||
#数据库索引
|
#数据库索引
|
||||||
database: ${REDIS_DB:14}
|
database: ${REDIS_DB:11}
|
||||||
host: ${REDIS_HOST:127.0.0.1}
|
host: ${REDIS_HOST:10.1.3.93}
|
||||||
port: ${REDIS_PORT:6379}
|
port: ${REDIS_PORT:6379}
|
||||||
password: ${REDIS_PWD:}
|
password: ${REDIS_PWD:}
|
||||||
redisson:
|
redisson:
|
||||||
@@ -68,12 +67,10 @@ spring:
|
|||||||
singleServerConfig:
|
singleServerConfig:
|
||||||
connectionMinimumIdleSize: 8
|
connectionMinimumIdleSize: 8
|
||||||
connectionPoolSize: 8
|
connectionPoolSize: 8
|
||||||
database: 14
|
database: 11
|
||||||
address: redis://127.0.0.1:6379
|
address: redis://10.1.3.93:6379
|
||||||
idleConnectionTimeout: 10000
|
idleConnectionTimeout: 10000
|
||||||
timeout: 3000
|
timeout: 3000
|
||||||
|
|
||||||
|
|
||||||
# 登录相关配置
|
# 登录相关配置
|
||||||
login:
|
login:
|
||||||
# 登录缓存
|
# 登录缓存
|
||||||
@@ -114,15 +111,10 @@ jwt:
|
|||||||
detect: 1800000
|
detect: 1800000
|
||||||
# 续期时间范围,默认1小时,单位毫秒
|
# 续期时间范围,默认1小时,单位毫秒
|
||||||
renew: 3600000
|
renew: 3600000
|
||||||
|
|
||||||
#是否允许生成代码,生产环境设置为false
|
#是否允许生成代码,生产环境设置为false
|
||||||
generator:
|
generator:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
#是否开启 swagger-ui
|
|
||||||
swagger:
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
# IP 本地解析
|
# IP 本地解析
|
||||||
ip:
|
ip:
|
||||||
local-parsing: true
|
local-parsing: true
|
||||||
@@ -143,7 +135,7 @@ file:
|
|||||||
avatarMaxSize: 5
|
avatarMaxSize: 5
|
||||||
logging:
|
logging:
|
||||||
file:
|
file:
|
||||||
path: C:\log\wms
|
path: d:\log\wms
|
||||||
config: classpath:logback-spring.xml
|
config: classpath:logback-spring.xml
|
||||||
|
|
||||||
# Sa-Token配置
|
# Sa-Token配置
|
||||||
@@ -164,10 +156,7 @@ sa-token:
|
|||||||
is-log: false
|
is-log: false
|
||||||
jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq
|
jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq
|
||||||
# token 前缀
|
# token 前缀
|
||||||
token-prefix: Bearer
|
token-prefix:
|
||||||
cookie:
|
cookie:
|
||||||
# 配置 Cookie 作用域:根据二级域名实现sso登入如lms.sso.com;acs.sso.com
|
# 配置 Cookie 作用域:根据二级域名实现sso登入如lms.sso.com;acs.sso.com
|
||||||
domain:
|
domain:
|
||||||
lucene:
|
|
||||||
index:
|
|
||||||
path: D:\lms\lucene\index
|
|
||||||
|
|||||||
@@ -19,39 +19,15 @@ spring:
|
|||||||
enabledBanner: false # 是否启用 控制台banner,默认true
|
enabledBanner: false # 是否启用 控制台banner,默认true
|
||||||
enabledCollect: true # 是否开启监控指标采集,默认true
|
enabledCollect: true # 是否开启监控指标采集,默认true
|
||||||
collectorTypes: logging # 监控数据采集器类型(logging | micrometer | internal_logging),默认micrometer
|
collectorTypes: logging # 监控数据采集器类型(logging | micrometer | internal_logging),默认micrometer
|
||||||
logPath: C:\log\lms # 监控日志数据路径,默认 ${user.home}/logs,采集类型非logging不用配置
|
logPath: d:\log\lms # 监控日志数据路径,默认 ${user.home}/logs,采集类型非logging不用配置
|
||||||
monitorInterval: 8
|
monitorInterval: 8
|
||||||
tomcatTp: # tomcat webserver 线程池配置
|
tomcatTp: # tomcat webserver 线程池配置
|
||||||
threadPoolAliasName: tomcat 线程池 # 线程池别名,可选
|
threadPoolAliasName: tomcat 线程池 # 线程池别名,可选
|
||||||
corePoolSize: 100
|
corePoolSize: 50
|
||||||
maximumPoolSize: 200
|
maximumPoolSize: 600
|
||||||
keepAliveTime: 60
|
keepAliveTime: 60
|
||||||
runTimeout: 10000
|
runTimeout: 10000
|
||||||
queueTimeout: 100
|
queueTimeout: 100
|
||||||
notifyItems: # 报警项,不配置自动会按默认值配置(变更通知、容量报警、活性报警、拒绝报警、任务超时报警)
|
|
||||||
- type: change
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
- type: capacity # 队列容量使用率,报警项类型,查看源码 NotifyTypeEnum枚举类
|
|
||||||
enabled: true
|
|
||||||
threshold: 80 # 报警阈值,默认70,意思是队列使用率达到70%告警
|
|
||||||
interval: 120 # 报警间隔(单位:s),默认120
|
|
||||||
|
|
||||||
- type: liveness # 线程池活性
|
|
||||||
enabled: true
|
|
||||||
threshold: 80 # 报警阈值,默认 70,意思是活性达到70%告警
|
|
||||||
|
|
||||||
- type: reject # 触发任务拒绝告警
|
|
||||||
enabled: true
|
|
||||||
threshold: 100 # 默认阈值10
|
|
||||||
|
|
||||||
- type: run_timeout # 任务执行超时告警
|
|
||||||
enabled: true
|
|
||||||
threshold: 100 # 默认阈值10
|
|
||||||
|
|
||||||
- type: queue_timeout # 任务排队超时告警
|
|
||||||
enabled: true
|
|
||||||
threshold: 100 # 默认阈值10
|
|
||||||
#配置 Jpa
|
#配置 Jpa
|
||||||
jpa:
|
jpa:
|
||||||
hibernate:
|
hibernate:
|
||||||
@@ -90,7 +66,7 @@ rsa:
|
|||||||
private_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A==
|
private_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A==
|
||||||
logging:
|
logging:
|
||||||
file:
|
file:
|
||||||
path: C:\log\lms
|
path: d:\log\lms
|
||||||
config: classpath:logback-spring.xml
|
config: classpath:logback-spring.xml
|
||||||
# sa-token白名单配置
|
# sa-token白名单配置
|
||||||
security:
|
security:
|
||||||
@@ -100,9 +76,6 @@ security:
|
|||||||
- /auth/login
|
- /auth/login
|
||||||
- /auth/code
|
- /auth/code
|
||||||
- /auth/logout
|
- /auth/logout
|
||||||
# swagger
|
|
||||||
- /swagger-ui.html
|
|
||||||
- /swagger-resources/**
|
|
||||||
- /webjars/**
|
- /webjars/**
|
||||||
- /file/**
|
- /file/**
|
||||||
- /webSocket/**
|
- /webSocket/**
|
||||||
@@ -183,4 +156,4 @@ jetcache:
|
|||||||
port: 6379
|
port: 6379
|
||||||
lucene:
|
lucene:
|
||||||
index:
|
index:
|
||||||
path: D:\lms\lucene\index
|
path: D:\log\lms\lucene\index
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<property name="log.pattern"
|
<property name="log.pattern"
|
||||||
value="%black(%contextName-) %X{traceId} %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
value="%black(%contextName-) %X{traceId} %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
||||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||||
<springProperty scope="context" name="esIndex" source="es.index"/>
|
|
||||||
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||||
<property name="LOG_HOME" value="${logPath}"/>
|
<property name="LOG_HOME" value="${logPath}"/>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user