界面调整
This commit is contained in:
@@ -7,6 +7,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import cn.hutool.core.lang.UUID;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
@@ -191,7 +192,7 @@ public class MydoJobServiceImpl extends ServiceImpl<MydoJobMapper, MydoJob> impl
|
|||||||
//插入历史表
|
//插入历史表
|
||||||
mydoJobMapper.insertHistory(jobId);
|
mydoJobMapper.insertHistory(jobId);
|
||||||
|
|
||||||
//生成回传记录的参数
|
//生成回传记录
|
||||||
MydoJob mydoJob = mydoJobMapper.selectMydoJobByJobId(jobId);
|
MydoJob mydoJob = mydoJobMapper.selectMydoJobByJobId(jobId);
|
||||||
JobCallBack jobCallBack = new JobCallBack();
|
JobCallBack jobCallBack = new JobCallBack();
|
||||||
long jobIdNum = Long.parseLong(mydoJob.getInOrOut());
|
long jobIdNum = Long.parseLong(mydoJob.getInOrOut());
|
||||||
@@ -206,8 +207,8 @@ public class MydoJobServiceImpl extends ServiceImpl<MydoJobMapper, MydoJob> impl
|
|||||||
jobCallBack.setTaskNo(Convert.toLong(mydoJob.getTaskNo()));
|
jobCallBack.setTaskNo(Convert.toLong(mydoJob.getTaskNo()));
|
||||||
jobCallBack.setCreateTime(new Date());
|
jobCallBack.setCreateTime(new Date());
|
||||||
jobCallBack.setTaskCode(mydoJob.getWmsTaskNo());
|
jobCallBack.setTaskCode(mydoJob.getWmsTaskNo());
|
||||||
// jobCallBack.setTaskTypeCode();//todo wms下发的任务类型
|
jobCallBack.setTaskTypeCode("");//todo wms下发的任务类型
|
||||||
jobCallBack.setReqCode(mydoJob.getJobId() + mydoJob.getTaskNo());
|
jobCallBack.setReqCode(UUID.randomUUID().toString());
|
||||||
// jobCallBack.setSpare1("0");
|
// jobCallBack.setSpare1("0");
|
||||||
jobCallBackService.insertJobCallBack(jobCallBack);
|
jobCallBackService.insertJobCallBack(jobCallBack);
|
||||||
|
|
||||||
|
|||||||
@@ -110,11 +110,12 @@ public class PortConvThread implements Runnable {
|
|||||||
// inSsjDevice.setException(0);
|
// inSsjDevice.setException(0);
|
||||||
// inSsjDevice.setRkqq(1);
|
// inSsjDevice.setRkqq(1);
|
||||||
|
|
||||||
|
//todo 是否需要校验出入库模式
|
||||||
switch (inSsjDevice.getInOrOut()) {
|
switch (inSsjDevice.getInOrOut()) {
|
||||||
//---------------------------入库模式---------------------------
|
//---------------------------入库模式---------------------------
|
||||||
case 1:
|
case 1:
|
||||||
//---------------------------入口取输送机(叉车取放货位置)---------------------------
|
//---------------------------入口取输送机(叉车取放货位置)---------------------------
|
||||||
//输送机【非空闲】、【输送到位】、【入库请求】
|
//输送机【非空闲】、【输送到位】、【入库请求?】
|
||||||
if (inSsjDevice.getKx() != 1 && inSsjDevice.getDw() == 1) {
|
if (inSsjDevice.getKx() != 1 && inSsjDevice.getDw() == 1) {
|
||||||
|
|
||||||
//更新入库任务阶段
|
//更新入库任务阶段
|
||||||
@@ -136,102 +137,6 @@ public class PortConvThread implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void inDispatch1(DeviceSsj ssjDevice) {
|
|
||||||
//有入库请求就肯定是电气的任务号的作业
|
|
||||||
if(StrUtil.isNotBlank(ssjDevice.getTrayCode()) && ssjDevice.getRkqq()==1 && ssjDevice.getTaskNo()<1000){
|
|
||||||
//,如果有正执行的出库作业退回
|
|
||||||
MydoJob mydoJobParam = new MydoJob();
|
|
||||||
// mydoJobParam.setInOut("2");
|
|
||||||
mydoJobParam.setStatus("3");
|
|
||||||
mydoJobParam.setExitId(ssjDevice.getDeviceCode());
|
|
||||||
List<MydoJob> outMydoJobList = mydoJobService.selectInOrOutMydoJobList(mydoJobParam);
|
|
||||||
if(!outMydoJobList.isEmpty()){
|
|
||||||
//todo 去向不明朗
|
|
||||||
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),"99",2,2);
|
|
||||||
if (i == 1) {
|
|
||||||
log.info(ssjDevice.getDeviceCode()+"有正执行的出库作业退回" );
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
MydoJob mydoJob = new MydoJob();
|
|
||||||
mydoJob.setInOrOut("1");
|
|
||||||
// mydoJob.setStatus("1");
|
|
||||||
String trayCode = ssjDevice.getTrayCode();
|
|
||||||
//String[] split = trayCode.split("\\s+");
|
|
||||||
String serial = findFirst(PATTERNS.get("SERIAL"), trayCode);
|
|
||||||
mydoJob.setTrayCode(serial);
|
|
||||||
mydoJob.setEntranceId(ssjDevice.getDeviceCode());
|
|
||||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
|
||||||
if(!mydoJobs.isEmpty()){
|
|
||||||
MydoJob mydoJob1 = mydoJobs.get(0);
|
|
||||||
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob1.getTaskNo(),1,1);
|
|
||||||
if (i == 1) {
|
|
||||||
mydoJob1.setExecutionPhase(TASK_EP_SSJ);
|
|
||||||
mydoJob1.setStatus("3");
|
|
||||||
mydoJobService.updateMydoJob(mydoJob1);
|
|
||||||
log.info(ssjDevice.getDeviceCode()+"输送机下发任务号成功:{}" , mydoJob1.getTaskNo());
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
|
||||||
map.put("trayCode",ssjDevice.getTrayCode());
|
|
||||||
map.put("entranceId",ssjDevice.getDeviceCode());
|
|
||||||
map.put("floor", "2");
|
|
||||||
AjaxResult ajaxResult = apiService.selectMydoJobByTrayCodeAndEntranceId(map);
|
|
||||||
if(ajaxResult.isSuccess()){
|
|
||||||
MydoJob mydoJob2 = BeanUtil.toBean(ajaxResult.get("data"), MydoJob.class);
|
|
||||||
mydoJob2.setStatus("1");
|
|
||||||
mydoJob2.setExecutionPhase(TASK_EP_CREATE);
|
|
||||||
mydoJob2.setCreateTime(new Date());
|
|
||||||
mydoJob2.setFaultFlag("0");
|
|
||||||
mydoJob2.setPriority(10L);
|
|
||||||
mydoJobService.insertMydoJob(mydoJob2);
|
|
||||||
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob2.getTaskNo(),1,1);
|
|
||||||
if (i == 1) {
|
|
||||||
mydoJob2.setExecutionPhase(TASK_EP_SSJ);
|
|
||||||
mydoJob2.setStatus("3");
|
|
||||||
mydoJobService.updateMydoJob(mydoJob2);
|
|
||||||
log.info(ssjDevice.getDeviceCode()+"输送机下发任务号成功:{}" , mydoJob2.getTaskNo());
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
//todo 去向不明朗
|
|
||||||
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),"99",2,2);
|
|
||||||
if (i == 1) {
|
|
||||||
log.info(ssjDevice.getDeviceCode()+"输送机没取到作业下发输送线" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final Map<String, Pattern> PATTERNS = createPatterns();
|
|
||||||
|
|
||||||
private static Map<String, Pattern> createPatterns() {
|
|
||||||
Map<String, Pattern> map = new LinkedHashMap<>();
|
|
||||||
map.put("MODEL", Pattern.compile("MODEL:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("COLOR", Pattern.compile("COLOR:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("SERIAL", Pattern.compile("SERIAL:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("V", Pattern.compile("V:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("Hz", Pattern.compile("Hz:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("PH", Pattern.compile("PH:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("NW", Pattern.compile("N\\.W\\.:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("GW", Pattern.compile("G\\.W\\.:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("ITEM_CODE", Pattern.compile("ITEM_CODE:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
map.put("@", Pattern.compile("@:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String findFirst(Pattern pattern, String input) {
|
|
||||||
if (pattern == null || input == null) return null;
|
|
||||||
Matcher m = pattern.matcher(input);
|
|
||||||
return m.find() ? m.group(1) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求wms获取wcs任务参数
|
* 请求wms获取wcs任务参数
|
||||||
* @param inSsjDevice
|
* @param inSsjDevice
|
||||||
@@ -409,4 +314,99 @@ public class PortConvThread implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void inDispatch1(DeviceSsj ssjDevice) {
|
||||||
|
//有入库请求就肯定是电气的任务号的作业
|
||||||
|
if(StrUtil.isNotBlank(ssjDevice.getTrayCode()) && ssjDevice.getRkqq()==1 && ssjDevice.getTaskNo()<1000){
|
||||||
|
//,如果有正执行的出库作业退回
|
||||||
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
|
// mydoJobParam.setInOut("2");
|
||||||
|
mydoJobParam.setStatus("3");
|
||||||
|
mydoJobParam.setExitId(ssjDevice.getDeviceCode());
|
||||||
|
List<MydoJob> outMydoJobList = mydoJobService.selectInOrOutMydoJobList(mydoJobParam);
|
||||||
|
if(!outMydoJobList.isEmpty()){
|
||||||
|
//todo 去向不明朗
|
||||||
|
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),"99",2,2);
|
||||||
|
if (i == 1) {
|
||||||
|
log.info(ssjDevice.getDeviceCode()+"有正执行的出库作业退回" );
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
MydoJob mydoJob = new MydoJob();
|
||||||
|
mydoJob.setInOrOut("1");
|
||||||
|
// mydoJob.setStatus("1");
|
||||||
|
String trayCode = ssjDevice.getTrayCode();
|
||||||
|
//String[] split = trayCode.split("\\s+");
|
||||||
|
String serial = findFirst(PATTERNS.get("SERIAL"), trayCode);
|
||||||
|
mydoJob.setTrayCode(serial);
|
||||||
|
mydoJob.setEntranceId(ssjDevice.getDeviceCode());
|
||||||
|
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
||||||
|
if(!mydoJobs.isEmpty()){
|
||||||
|
MydoJob mydoJob1 = mydoJobs.get(0);
|
||||||
|
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob1.getTaskNo(),1,1);
|
||||||
|
if (i == 1) {
|
||||||
|
mydoJob1.setExecutionPhase(TASK_EP_SSJ);
|
||||||
|
mydoJob1.setStatus("3");
|
||||||
|
mydoJobService.updateMydoJob(mydoJob1);
|
||||||
|
log.info(ssjDevice.getDeviceCode()+"输送机下发任务号成功:{}" , mydoJob1.getTaskNo());
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
|
map.put("trayCode",ssjDevice.getTrayCode());
|
||||||
|
map.put("entranceId",ssjDevice.getDeviceCode());
|
||||||
|
map.put("floor", "2");
|
||||||
|
AjaxResult ajaxResult = apiService.selectMydoJobByTrayCodeAndEntranceId(map);
|
||||||
|
if(ajaxResult.isSuccess()){
|
||||||
|
MydoJob mydoJob2 = BeanUtil.toBean(ajaxResult.get("data"), MydoJob.class);
|
||||||
|
mydoJob2.setStatus("1");
|
||||||
|
mydoJob2.setExecutionPhase(TASK_EP_CREATE);
|
||||||
|
mydoJob2.setCreateTime(new Date());
|
||||||
|
mydoJob2.setFaultFlag("0");
|
||||||
|
mydoJob2.setPriority(10L);
|
||||||
|
mydoJobService.insertMydoJob(mydoJob2);
|
||||||
|
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob2.getTaskNo(),1,1);
|
||||||
|
if (i == 1) {
|
||||||
|
mydoJob2.setExecutionPhase(TASK_EP_SSJ);
|
||||||
|
mydoJob2.setStatus("3");
|
||||||
|
mydoJobService.updateMydoJob(mydoJob2);
|
||||||
|
log.info(ssjDevice.getDeviceCode()+"输送机下发任务号成功:{}" , mydoJob2.getTaskNo());
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//todo 去向不明朗
|
||||||
|
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),"99",2,2);
|
||||||
|
if (i == 1) {
|
||||||
|
log.info(ssjDevice.getDeviceCode()+"输送机没取到作业下发输送线" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final Map<String, Pattern> PATTERNS = createPatterns();
|
||||||
|
|
||||||
|
private static Map<String, Pattern> createPatterns() {
|
||||||
|
Map<String, Pattern> map = new LinkedHashMap<>();
|
||||||
|
map.put("MODEL", Pattern.compile("MODEL:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("COLOR", Pattern.compile("COLOR:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("SERIAL", Pattern.compile("SERIAL:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("V", Pattern.compile("V:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("Hz", Pattern.compile("Hz:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("PH", Pattern.compile("PH:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("NW", Pattern.compile("N\\.W\\.:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("GW", Pattern.compile("G\\.W\\.:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("ITEM_CODE", Pattern.compile("ITEM_CODE:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
map.put("@", Pattern.compile("@:([^\\s]+)", Pattern.CASE_INSENSITIVE));
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String findFirst(Pattern pattern, String input) {
|
||||||
|
if (pattern == null || input == null) return null;
|
||||||
|
Matcher m = pattern.matcher(input);
|
||||||
|
return m.find() ? m.group(1) : null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
<div slot="header" class="card-header">
|
<div slot="header" class="card-header">
|
||||||
<span>任务类型分布</span> <!-- 任务类型分布 -->
|
<span>任务类型分布</span> <!-- 任务类型分布 -->
|
||||||
</div>
|
</div>
|
||||||
<div id="taskTypeChart" style="height: 300px;"></div>
|
<div id="taskTypeChart" style="height: 350px;"></div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
<div slot="header" class="card-header">
|
<div slot="header" class="card-header">
|
||||||
<span>设备状态分布</span> <!-- 设备状态分布 -->
|
<span>设备状态分布</span> <!-- 设备状态分布 -->
|
||||||
</div>
|
</div>
|
||||||
<div id="deviceStatusChart" style="height: 300px;"></div>
|
<div id="deviceStatusChart" style="height: 350px;"></div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -149,9 +149,12 @@
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
height="300"
|
height="300"
|
||||||
v-loading="loading.devices">
|
v-loading="loading.devices">
|
||||||
<el-table-column prop="deviceCode" :label="$t('index.deviceCode')" width="200"/> <!-- 设备编码 -->
|
<!-- 设备编码 -->
|
||||||
<el-table-column prop="deviceName" :label="$t('index.deviceName')" width="200"/> <!-- 设备名称 -->
|
<!-- <el-table-column prop="deviceCode" :label="$t('index.deviceCode')" width="200"/> -->
|
||||||
<el-table-column prop="deviceType" :label="$t('index.type')" width="150"> <!-- 类型 -->
|
<!-- 设备名称 -->
|
||||||
|
<el-table-column prop="deviceName" :label="$t('index.deviceName')" width="200"/>
|
||||||
|
<!-- 类型 -->
|
||||||
|
<el-table-column prop="deviceType" :label="$t('index.type')" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag>{{scope.row.deviceType}}</el-tag>
|
<el-tag>{{scope.row.deviceType}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
@@ -585,6 +588,8 @@ export default {
|
|||||||
height: 120px;
|
height: 120px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
|
overflow-x: auto;
|
||||||
|
/* white-space: nowrap; */
|
||||||
}
|
}
|
||||||
|
|
||||||
.stats-card:hover {
|
.stats-card:hover {
|
||||||
@@ -601,6 +606,7 @@ export default {
|
|||||||
|
|
||||||
.stats-icon {
|
.stats-icon {
|
||||||
width: 60px;
|
width: 60px;
|
||||||
|
/* width: 60vh; */
|
||||||
height: 60px;
|
height: 60px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -401,7 +401,7 @@ export default {
|
|||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const jobIds = row.jobId || this.ids
|
const jobIds = row.jobId || this.ids
|
||||||
this.$modal.confirm('是否确认删除作业信息编号为"' + jobIds + '"的数据项?').then(function() {
|
this.$modal.confirm('是否确认删除作业信息编号为"' + jobIds + '"的数据项?(此操作可能影响任务回传,请和上层系统核对账目)').then(function() {
|
||||||
return delMydoJob(jobIds)
|
return delMydoJob(jobIds)
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList()
|
this.getList()
|
||||||
|
|||||||
Reference in New Issue
Block a user