现场修改
This commit is contained in:
@@ -7,6 +7,9 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.ruoyi.bas.fault.domain.BasFaultRecord;
|
||||
import com.ruoyi.bas.fault.service.IBasFaultRecordService;
|
||||
import com.ruoyi.job.domain.MydoJobScreen;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -28,97 +31,29 @@ import com.ruoyi.job.service.IMydoJobService;
|
||||
@RequestMapping("/api/screen")
|
||||
public class ScreenController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private IDeviceSsjService deviceSsjService;
|
||||
|
||||
@Autowired
|
||||
private IMydoJobService mydoJobService;
|
||||
@Autowired
|
||||
private IBasFaultRecordService basFaultRecordService;
|
||||
|
||||
// 定义各区域输送机编号数组
|
||||
private static final Map<Integer, List<String>> AREA_SSJ_CODES = new HashMap<>();
|
||||
|
||||
// 静态初始化输送机编号数组
|
||||
static {
|
||||
// 1区域输送机编号
|
||||
AREA_SSJ_CODES.put(1, Arrays.asList(
|
||||
"L2007","L2008","L2005","L2006","L2013"
|
||||
));
|
||||
|
||||
// 2区域输送机编号
|
||||
AREA_SSJ_CODES.put(2, Arrays.asList(
|
||||
"L2003","L2004","L2012","L2001","L2002"
|
||||
));
|
||||
|
||||
// 3区域输送机编号
|
||||
AREA_SSJ_CODES.put(3, Arrays.asList(
|
||||
"L1001","L1002","L1011"
|
||||
));
|
||||
|
||||
// 4区域输送机编号
|
||||
AREA_SSJ_CODES.put(4, Arrays.asList(
|
||||
"L1003","L1004","L1012"
|
||||
));
|
||||
/**
|
||||
* 查询任务列表
|
||||
*/
|
||||
@GetMapping("/selectJobListByWarehouseIdAndType")
|
||||
public AjaxResult selectJobListByWarehouseIdAndType(@RequestParam("warehouseId") String warehouseId,@RequestParam("type") String type) {
|
||||
Map<String,List<MydoJobScreen>> jobList = mydoJobService.selectJobListByWarehouseIdAndType(warehouseId,type);
|
||||
return AjaxResult.success(jobList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据区域编号查询输送机列表
|
||||
*
|
||||
* @param areaNum 区域编号(1-4)
|
||||
* @return 输送机数据列表
|
||||
* 查询设备故障记录
|
||||
*/
|
||||
@PostMapping("/ssj/{areaNum}")
|
||||
public AjaxResult getSsjListByArea(@PathVariable("areaNum") Integer areaNum) {
|
||||
if (areaNum < 1 || areaNum > 4) {
|
||||
return AjaxResult.error("区域编号必须在1-4之间");
|
||||
@GetMapping("/selectFaultRecord")
|
||||
public AjaxResult selectFaultRecord(@RequestParam("warehouseId") String warehouseId,@RequestParam("type") String type) {
|
||||
List<BasFaultRecord> jobList = basFaultRecordService.selectFaultRecord(warehouseId, type);
|
||||
return AjaxResult.success(jobList);
|
||||
}
|
||||
|
||||
// 获取该区域的输送机编号数组
|
||||
List<String> ssjCodes = AREA_SSJ_CODES.get(areaNum);
|
||||
if (ssjCodes == null || ssjCodes.isEmpty()) {
|
||||
return AjaxResult.error("未找到该区域的输送机编号配置");
|
||||
}
|
||||
|
||||
// 查询所有输送机
|
||||
List<DeviceSsj> allSsjList = deviceSsjService.selectDeviceSsjList(null);
|
||||
|
||||
// 根据编号数组筛选输送机
|
||||
List<DeviceSsj> filteredList = allSsjList.stream()
|
||||
.filter(ssj -> ssj.getDeviceCode() != null && ssjCodes.contains(ssj.getDeviceCode().trim()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 转换为前端需要的数据格式
|
||||
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||
// 创建作业信息列表
|
||||
List<MydoJob> jobList = new ArrayList<>();
|
||||
|
||||
for (DeviceSsj ssj : filteredList) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("id", ssj.getDeviceCode());
|
||||
map.put("name", ssj.getName());
|
||||
map.put("kx", String.valueOf(ssj.getKx()));
|
||||
map.put("dw", String.valueOf(ssj.getDw()));
|
||||
map.put("sbzt", ssj.getException());
|
||||
// map.put("trayCode", ssj.getTrayCode());
|
||||
map.put("allowPut", String.valueOf(ssj.getAllowPut()));
|
||||
map.put("traySize", String.valueOf(ssj.getTraySize()));
|
||||
map.put("exception", String.valueOf(ssj.getException()));
|
||||
map.put("taskNo", ssj.getTaskNo());
|
||||
resultList.add(map);
|
||||
|
||||
// 如果taskNo大于0,查询对应的作业信息
|
||||
if (ssj.getTaskNo()> 0) {
|
||||
MydoJob job = mydoJobService.selectMydoJobByTaskNo(Long.valueOf(ssj.getTaskNo()));
|
||||
if (job != null) {
|
||||
jobList.add(job);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 返回结果包含data和job两个字段
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("ssj", resultList);
|
||||
result.put("job", jobList);
|
||||
|
||||
return AjaxResult.success(result);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -359,11 +359,11 @@ public class ApiServiceImpl implements IApiService {
|
||||
@Override
|
||||
public AjaxResult selectMydoJobByTrayCodeAndEntranceId(HashMap<String, Object> paramMap) {
|
||||
RequestLog requestLog = requestLogService.getRequestLog(REQUEST_ENTER_URL, "请求获取入库作业", JSONUtil.toJsonStr(paramMap));
|
||||
if ("1".equals(requestLog.getIsSuccessful())) {
|
||||
InterfaceReceive bean = JSONUtil.toBean(requestLog.getResponseBody(), InterfaceReceive.class);
|
||||
if ("1".equals(requestLog.getIsSuccessful())) {
|
||||
return AjaxResult.success(bean.getData());
|
||||
} else {
|
||||
return AjaxResult.error();
|
||||
return AjaxResult.error(bean.getMsg());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.bas.fault.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.bas.fault.domain.BasFaultRecord;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 设备故障记录Mapper接口
|
||||
@@ -58,4 +59,6 @@ public interface BasFaultRecordMapper
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasFaultRecordByIds(String[] ids);
|
||||
|
||||
List<BasFaultRecord> selectFaultRecord(@Param("deviceIds") List<String> deviceIds);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.bas.fault.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.bas.fault.domain.BasFaultRecord;
|
||||
import com.ruoyi.job.domain.MydoJob;
|
||||
|
||||
/**
|
||||
* 设备故障记录Service接口
|
||||
@@ -58,4 +59,6 @@ public interface IBasFaultRecordService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasFaultRecordById(String id);
|
||||
|
||||
List<BasFaultRecord> selectFaultRecord(String warehouseId, String type);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
package com.ruoyi.bas.fault.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.ruoyi.job.domain.MydoJob;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.bas.fault.mapper.BasFaultRecordMapper;
|
||||
@@ -90,4 +94,43 @@ public class BasFaultRecordServiceImpl implements IBasFaultRecordService
|
||||
{
|
||||
return basFaultRecordMapper.deleteBasFaultRecordById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BasFaultRecord> selectFaultRecord(String warehouseId, String type) {
|
||||
List<String> deviceIds = new ArrayList<>();
|
||||
if ("01".equals(warehouseId)) {
|
||||
deviceIds.add("1");
|
||||
deviceIds.add("2");
|
||||
deviceIds.add("3");
|
||||
if ("1".equals(type)){
|
||||
deviceIds.add("L2001");
|
||||
deviceIds.add("L2002");
|
||||
deviceIds.add("L2003");
|
||||
deviceIds.add("L2004");
|
||||
deviceIds.add("L2005");
|
||||
deviceIds.add("L2006");
|
||||
}else if ("2".equals(type)){
|
||||
deviceIds.add("L2007");
|
||||
deviceIds.add("L2008");
|
||||
deviceIds.add("L2009");
|
||||
deviceIds.add("L2010");
|
||||
deviceIds.add("L2011");
|
||||
deviceIds.add("L2012");
|
||||
}
|
||||
} else if ("02".equals(warehouseId)) {
|
||||
deviceIds.add("4");
|
||||
deviceIds.add("5");
|
||||
deviceIds.add("6");
|
||||
deviceIds.add("L1001");
|
||||
deviceIds.add("L1002");
|
||||
deviceIds.add("L1003");
|
||||
deviceIds.add("L1004");
|
||||
deviceIds.add("L1005");
|
||||
deviceIds.add("L1006");
|
||||
}
|
||||
if (CollUtil.isNotEmpty(deviceIds)){
|
||||
return basFaultRecordMapper.selectFaultRecord(deviceIds);
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.ruoyi.job.domain;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class MydoJobScreen {
|
||||
private String jobId;
|
||||
private String taskNo;
|
||||
private String inOrOut;
|
||||
private String status;
|
||||
private String trayCode;
|
||||
private String roadwayId;
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.ruoyi.job.mapper;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import com.ruoyi.job.domain.MydoJob;
|
||||
import com.ruoyi.job.domain.MydoJobScreen;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
@@ -81,4 +82,6 @@ public interface MydoJobMapper
|
||||
List<MydoJob> selectMydoJobFinishList(MydoJob mydoJob);
|
||||
|
||||
MydoJob selectRunningMydoJobByExitList(@Param("exitList") List<String> exitList);
|
||||
|
||||
List<MydoJobScreen> selectJobListByWarehouseIdAndType(MydoJob inParam);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.ruoyi.job.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.job.domain.MydoJob;
|
||||
import com.ruoyi.job.domain.MydoJobScreen;
|
||||
|
||||
/**
|
||||
* 作业信息Service接口
|
||||
@@ -80,4 +82,7 @@ public interface IMydoJobService
|
||||
MydoJob selectRunningMydoJobByExitList(List<String> strings);
|
||||
|
||||
AjaxResult manualCallback(String jobId);
|
||||
|
||||
Map<String,List<MydoJobScreen>> selectJobListByWarehouseIdAndType(String warehouseId, String exitType);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
package com.ruoyi.job.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.job.domain.MydoJob;
|
||||
import com.ruoyi.job.domain.MydoJobScreen;
|
||||
import com.ruoyi.job.mapper.MydoJobMapper;
|
||||
import com.ruoyi.job.service.IMydoJobService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.job.mapper.MydoJobMapper;
|
||||
import com.ruoyi.job.domain.MydoJob;
|
||||
import com.ruoyi.job.service.IMydoJobService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 作业信息Service业务层处理
|
||||
@@ -173,4 +178,45 @@ public class MydoJobServiceImpl implements IMydoJobService
|
||||
}
|
||||
return AjaxResult.error("手动回调失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, List<MydoJobScreen>> selectJobListByWarehouseIdAndType(String warehouseId, String type) {
|
||||
Map<String, List<MydoJobScreen>> map = new HashMap<>();
|
||||
map.put("1",new ArrayList<>());
|
||||
map.put("2",new ArrayList<>());
|
||||
map.put("3",new ArrayList<>());
|
||||
map.put("4",new ArrayList<>());
|
||||
map.put("5",new ArrayList<>());
|
||||
map.put("6",new ArrayList<>());
|
||||
MydoJob outParam = new MydoJob();
|
||||
outParam.setWarehouseId(warehouseId);
|
||||
outParam.setExitId(type);
|
||||
List<MydoJobScreen> outMydoJobs = mydoJobMapper.selectJobListByWarehouseIdAndType(outParam);
|
||||
if (CollUtil.isNotEmpty(outMydoJobs)){
|
||||
Map<String, List<MydoJobScreen>> collect = outMydoJobs.stream().collect(Collectors.groupingBy(MydoJobScreen::getRoadwayId));
|
||||
for (String roadwayId : collect.keySet()) {
|
||||
if (map.containsKey(roadwayId)){
|
||||
List<MydoJobScreen> mydoJobs = map.get(roadwayId);
|
||||
mydoJobs.addAll(collect.get(roadwayId));
|
||||
map.put(roadwayId,mydoJobs);
|
||||
}
|
||||
}
|
||||
}
|
||||
MydoJob inParam = new MydoJob();
|
||||
inParam.setWarehouseId(warehouseId);
|
||||
inParam.setEntranceId(type);
|
||||
List<MydoJobScreen> inMydoJobs = mydoJobMapper.selectJobListByWarehouseIdAndType(inParam);
|
||||
if (CollUtil.isNotEmpty(inMydoJobs)) {
|
||||
Map<String, List<MydoJobScreen>> collect = inMydoJobs.stream().collect(Collectors.groupingBy(MydoJobScreen::getRoadwayId));
|
||||
for (String roadwayId : collect.keySet()) {
|
||||
if (map.containsKey(roadwayId)){
|
||||
List<MydoJobScreen> mydoJobs = map.get(roadwayId);
|
||||
mydoJobs.addAll(collect.get(roadwayId));
|
||||
map.put(roadwayId,mydoJobs);
|
||||
}
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -253,17 +253,29 @@ public abstract class BaseDdjThread implements Runnable, DdjThreadInterface {
|
||||
DdjDeviceExecutionQueue ddjDeviceExecutionQueue = ddjDeviceExecutionQueueService.selectDdjDeviceExecutionQueueByRwh(ddj.getRwh(), ddj.getId());
|
||||
if (ObjUtil.isNotNull(ddjDeviceExecutionQueue)) {
|
||||
//请求wms获取任务 并生成队列
|
||||
AjaxResult result = apiService.selectMydoJobByTrayCodeAndEntranceId(getParamMap(trayCode, Convert.toInt(ddj.getHeight()), Convert.toDouble(ddjDeviceExecutionQueue.getSpare3())));
|
||||
HashMap<String, Object> paramMap = getParamMap(trayCode, Convert.toInt(ddj.getHeight()), Convert.toDouble(ddjDeviceExecutionQueue.getSpare3()));
|
||||
AjaxResult result = apiService.selectMydoJobByTrayCodeAndEntranceId(paramMap);
|
||||
if (result.isSuccess()) {
|
||||
inJob = BeanUtil.toBean(result.get("data"), MydoJob.class);
|
||||
inJob.setStatus(TASK_STATUS_CREATE);
|
||||
inJob.setExecutionPhase(TASK_EP_ROADWAY_SSJ);
|
||||
inJob.setRoadwayId(Convert.toStr(ddj.getId()));
|
||||
inJob.setFaultFlag("0");
|
||||
inJob.setEntranceId(getEntranceId(ddjDeviceExecutionQueue));
|
||||
inJob.setWarehouseId(Convert.toStr(paramMap.get("warehouseId")));
|
||||
inJob.setTrayCode(trayCode);
|
||||
mydoJobService.insertMydoJob(inJob);
|
||||
} else {
|
||||
createRollbackQueue(ddj, 2);
|
||||
log.error(result.get("msg").toString());
|
||||
if ("没有空货位".equals(result.get("msg").toString())) {
|
||||
createRollbackQueue(ddj, 3);
|
||||
} else if ("无入库任务".equals(result.get("msg").toString())) {
|
||||
createRollbackQueue(ddj, 2);
|
||||
} else if ("该托盘已有库存".equals(result.get("msg").toString())) {
|
||||
createRollbackQueue(ddj, 4);
|
||||
}else {
|
||||
createRollbackQueue(ddj, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -335,13 +347,17 @@ public abstract class BaseDdjThread implements Runnable, DdjThreadInterface {
|
||||
DeviceSsj roadWay = PlcSsjRead.deviceSsjMap.get(road);
|
||||
if (roadWay.getKx() == 1) {
|
||||
long rwh = roadwayRollback.get(road);
|
||||
log.info("扫码失败,放回原位 排:{} 列:{} 层:{} 任务号:{}", mbph, mblh, mbch, rwh);
|
||||
log.info("入库异常 1-未扫到 2-无任务 3-无空货位 4-已存在当前托盘 type{},放回原位 排:{} 列:{} 层:{} 任务号:{}", type, mbph, mblh, mbch, rwh);
|
||||
DdjDeviceExecutionQueue ddjQueue = ddjDeviceExecutionQueueService.selectDdjDeviceExecutionQueueByRwh(rwh, ddj.getId());
|
||||
if (ObjUtil.isNull(ddjQueue)) {
|
||||
ddjTaskFinish(ddj.getRwh(), ddj.getId(), 2);
|
||||
|
||||
if (type == 2) {
|
||||
rwh = rwh + 100;
|
||||
} else if (type == 3) {
|
||||
rwh = rwh + 20;
|
||||
} else if (type == 4) {
|
||||
rwh = rwh + 40;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -30,4 +30,11 @@ public interface DdjThreadInterface {
|
||||
* 初始化设备
|
||||
*/
|
||||
void init();
|
||||
|
||||
/**
|
||||
* 获取入口ID
|
||||
* @param ddjDeviceExecutionQueue 设备执行队列
|
||||
* @return 入口ID
|
||||
*/
|
||||
String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue);
|
||||
}
|
||||
|
||||
@@ -113,4 +113,26 @@ public class Ddj1Thread extends BaseDdjThread {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue pickQueue) {
|
||||
Integer mbph = pickQueue.getYph();
|
||||
Integer mblh = pickQueue.getYlh();
|
||||
Integer mbch = pickQueue.getYch();
|
||||
String road = "";
|
||||
for (String roadway : roadwayMap.keySet()) {
|
||||
List<Integer> integers = roadwayMap.get(roadway);
|
||||
if (integers.get(0).equals(mbph) && integers.get(1).equals(mblh) && integers.get(2).equals(mbch)) {
|
||||
road = roadway;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ("L2001".equals(road)|| "L2002".equals(road)){
|
||||
return "1";
|
||||
}else if ("L2007".equals(road)|| "L2008".equals(road)){
|
||||
return "2";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.ruoyi.common.Constant.*;
|
||||
|
||||
@@ -109,4 +110,25 @@ public class Ddj2Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue pickQueue) {
|
||||
Integer mbph = pickQueue.getYph();
|
||||
Integer mblh = pickQueue.getYlh();
|
||||
Integer mbch = pickQueue.getYch();
|
||||
String road = "";
|
||||
for (String roadway : roadwayMap.keySet()) {
|
||||
List<Integer> integers = roadwayMap.get(roadway);
|
||||
if (integers.get(0).equals(mbph) && integers.get(1).equals(mblh) && integers.get(2).equals(mbch)) {
|
||||
road = roadway;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ("L2003".equals(road)|| "L2004".equals(road)){
|
||||
return "1";
|
||||
}else if ("L2009".equals(road)|| "L2010".equals(road)){
|
||||
return "2";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.ruoyi.common.Constant.*;
|
||||
|
||||
@@ -92,4 +93,25 @@ public class Ddj3Thread extends BaseDdjThread {
|
||||
param.setSpare2(exitSsj);
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue pickQueue) {
|
||||
Integer mbph = pickQueue.getYph();
|
||||
Integer mblh = pickQueue.getYlh();
|
||||
Integer mbch = pickQueue.getYch();
|
||||
String road = "";
|
||||
for (String roadway : roadwayMap.keySet()) {
|
||||
List<Integer> integers = roadwayMap.get(roadway);
|
||||
if (integers.get(0).equals(mbph) && integers.get(1).equals(mblh) && integers.get(2).equals(mbch)) {
|
||||
road = roadway;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ("L2005".equals(road)|| "L2006".equals(road)){
|
||||
return "1";
|
||||
}else if ("L2011".equals(road)|| "L2012".equals(road)){
|
||||
return "2";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,4 +92,9 @@ public class Ddj4Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue) {
|
||||
return "1";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -79,5 +79,10 @@ public class Ddj5Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue) {
|
||||
return "1";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -81,4 +81,9 @@ public class Ddj6Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue) {
|
||||
return "1";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -45,6 +45,70 @@ public class MonitoringThread implements Runnable {
|
||||
for (String ssjCode : PlcSsjRead.deviceSsjMap.keySet()) {
|
||||
DeviceSsj deviceSsj = PlcSsjRead.deviceSsjMap.get(ssjCode);
|
||||
deviceSsjService.updateDeviceSsj(deviceSsj);
|
||||
|
||||
if (deviceSsj.getException() >= 101 && deviceSsj.getException() <= 106) {
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(deviceSsj.getTaskNo()));
|
||||
param.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isEmpty(basFaultRecords)) {
|
||||
BasFaultRecord record = new BasFaultRecord();
|
||||
record.setId(IdUtil.simpleUUID());
|
||||
record.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
record.setDeviceName(deviceSsj.getName());
|
||||
record.setDeviceType("ssj");
|
||||
record.setTaskNo(Convert.toStr(deviceSsj.getTaskNo()));
|
||||
record.setStartTime(DateUtil.formatDateTime(new Date()));
|
||||
record.setFault(Convert.toStr(deviceSsj.getException()));
|
||||
record.setJobId("0");
|
||||
basFaultRecordService.insertBasFaultRecord(record);
|
||||
}
|
||||
} else if (deviceSsj.getException() == 0) {
|
||||
//查询记录 更新故障结束时间
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(deviceSsj.getTaskNo()));
|
||||
param.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isNotEmpty(basFaultRecords)) {
|
||||
BasFaultRecord record = basFaultRecords.get(0);
|
||||
record.setJobId("1");
|
||||
record.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||
basFaultRecordService.updateBasFaultRecord(record);
|
||||
}
|
||||
} else if (deviceSsj.getTaskNo() == 0) {
|
||||
//查询记录 更新故障结束时间
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isNotEmpty(basFaultRecords)) {
|
||||
BasFaultRecord record = basFaultRecords.get(0);
|
||||
record.setJobId("1");
|
||||
record.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||
basFaultRecordService.updateBasFaultRecord(record);
|
||||
}
|
||||
}
|
||||
|
||||
/* if (deviceSsj.getException()==101){
|
||||
//前超长
|
||||
}
|
||||
if (deviceSsj.getException()==102){
|
||||
//后超长
|
||||
}
|
||||
if (deviceSsj.getException()==103){
|
||||
//左超宽
|
||||
}
|
||||
if (deviceSsj.getException()==104){
|
||||
//右超宽
|
||||
}
|
||||
if (deviceSsj.getException()==105){
|
||||
//超高
|
||||
}
|
||||
if (deviceSsj.getException()==106){
|
||||
//称重异常
|
||||
}*/
|
||||
}
|
||||
for (String ddjCode : PlcDdjRead.deviceDdjMap.keySet()) {
|
||||
MsgDdj msgDdj = PlcDdjRead.deviceDdjMap.get(ddjCode);
|
||||
@@ -54,6 +118,7 @@ public class MonitoringThread implements Runnable {
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(msgDdj.getRwh()));
|
||||
param.setDeviceId(Convert.toStr(msgDdj.getId()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isEmpty(basFaultRecords)){
|
||||
BasFaultRecord record = new BasFaultRecord();
|
||||
@@ -64,6 +129,7 @@ public class MonitoringThread implements Runnable {
|
||||
record.setTaskNo(Convert.toStr(msgDdj.getRwh()));
|
||||
record.setStartTime(DateUtil.formatDateTime(new Date()));
|
||||
record.setFault(Convert.toStr(msgDdj.getSbzt()));
|
||||
record.setJobId("0");
|
||||
basFaultRecordService.insertBasFaultRecord(record);
|
||||
}
|
||||
}
|
||||
@@ -72,13 +138,96 @@ public class MonitoringThread implements Runnable {
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(msgDdj.getRwh()));
|
||||
param.setDeviceId(Convert.toStr(msgDdj.getId()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isNotEmpty(basFaultRecords)){
|
||||
BasFaultRecord record = basFaultRecords.get(0);
|
||||
record.setJobId("1");
|
||||
record.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||
basFaultRecordService.updateBasFaultRecord(record);
|
||||
}
|
||||
}
|
||||
/*
|
||||
private String getZt(int value) {
|
||||
|
||||
if (value == 0) {
|
||||
return "待机";
|
||||
} else if (value == 1) {
|
||||
return "工作";
|
||||
} else if (value == 1031) {
|
||||
return "急停";
|
||||
} else if (value == 1032) {
|
||||
return "货叉不在中位";
|
||||
} else if (value == 1033) {
|
||||
return "行走变频报警";
|
||||
} else if (value == 1034) {
|
||||
return "升降变频报警";
|
||||
} else if (value == 1035) {
|
||||
return "货叉变频报警";
|
||||
} else if (value == 1036) {
|
||||
return "货叉变频报警";
|
||||
} else if (value == 1037) {
|
||||
return "运行限位故障";
|
||||
} else if (value == 1038) {
|
||||
return "升降限位故障";
|
||||
} else if (value == 1039) {
|
||||
return "运行不能纠偏";
|
||||
} else if (value == 1040) {
|
||||
return "升降不能纠偏";
|
||||
} else if (value == 1041) {
|
||||
return "水平测距出错";
|
||||
} else if (value == 1042) {
|
||||
return "垂直BPS出错";
|
||||
} else if (value == 1043) {
|
||||
return "超速保护";
|
||||
} else if (value == 1044) {
|
||||
return "前边超宽";
|
||||
} else if (value == 1045) {
|
||||
return "后边超宽";
|
||||
} else if (value == 1046) {
|
||||
return "左边歪斜";
|
||||
} else if (value == 1047) {
|
||||
return "右边歪斜";
|
||||
} else if (value == 1048) {
|
||||
return "超高1";
|
||||
} else if (value == 1049) {
|
||||
return "超高2";
|
||||
} else if (value == 1050) {
|
||||
return "放货完毕货叉有货";
|
||||
} else if (value == 1051) {
|
||||
return "取货时货叉有货";
|
||||
} else if (value == 1052) {
|
||||
return "放货目标有货";
|
||||
} else if (value == 1053) {
|
||||
return "取货完毕无货";
|
||||
} else if (value == 1054) {
|
||||
return "放货时货叉无货";
|
||||
} else if (value == 1055) {
|
||||
return "货叉动作超时";
|
||||
} else if (value == 1056) {
|
||||
return "货叉不能纠偏";
|
||||
} else if (value == 1057) {
|
||||
return "微升降超时";
|
||||
} else if (value == 1058) {
|
||||
return "松绳过载";
|
||||
} else if (value == 1059) {
|
||||
return "设定超限";
|
||||
} else if (value == 1060) {
|
||||
return "取双伸时单伸有货";
|
||||
} else if (value == 1061) {
|
||||
return "放双伸时单伸有货";
|
||||
} else if (value == 1062) {
|
||||
return "入库输送机任务不符";
|
||||
} else if (value == 1063) {
|
||||
return "安全门打开";
|
||||
} else if (value == 9999) {
|
||||
return "设备未联机";
|
||||
}else{
|
||||
return "未知";
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
Thread.sleep(1500);
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -38,6 +38,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<include refid="selectBasFaultRecordVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
<select id="selectFaultRecord" resultType="com.ruoyi.bas.fault.domain.BasFaultRecord">
|
||||
<include refid="selectBasFaultRecordVo"/>
|
||||
where job_id = '0'
|
||||
and device_id in
|
||||
<foreach collection="deviceIds" separator="," item="it" open="(" close=")" index="i">
|
||||
#{it}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<insert id="insertBasFaultRecord" parameterType="BasFaultRecord">
|
||||
insert into bas_fault_record
|
||||
|
||||
@@ -111,6 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="exitId != null">exit_id,</if>
|
||||
<if test="warehouseId != null">warehouse_id,</if>
|
||||
<if test="faultFlag != null">fault_flag,</if>
|
||||
<if test="trayCode != null">tray_code,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="jobId != null">#{jobId},</if>
|
||||
@@ -130,6 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="exitId != null">#{exitId},</if>
|
||||
<if test="warehouseId != null">#{warehouseId},</if>
|
||||
<if test="faultFlag != null">#{faultFlag},</if>
|
||||
<if test="trayCode != null">#{trayCode},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<insert id="insertHistory">
|
||||
@@ -233,4 +235,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
and status = 3
|
||||
order by priority desc,create_time
|
||||
</select>
|
||||
<select id="selectJobListByWarehouseIdAndType" resultType="com.ruoyi.job.domain.MydoJobScreen">
|
||||
select job_id as jobId,task_no as taskNo,in_or_out as inOrOut,status,tray_code as trayCode,roadway_id as roadwayId
|
||||
from mydo_job_wcs
|
||||
where warehouse_id = #{warehouseId}
|
||||
<if test="entranceId != null and entranceId != ''"> and entrance_id = #{entranceId}</if>
|
||||
<if test="exitId != null and exitId != ''"> and exit_id = #{exitId}</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -120,7 +120,7 @@ public class SecurityConfig
|
||||
.antMatchers("/device/api/**").permitAll()
|
||||
.antMatchers("/wcs2Wms/api/**").permitAll()
|
||||
.antMatchers("/test/**").permitAll()
|
||||
.antMatchers("/largeScreen/monitor/**").permitAll()
|
||||
.antMatchers("/api/screen/**").permitAll()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated();
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user